C语言习题库答案(仅供参考)
1、 在计算机内部,一切信息存取处理和传送的形式是:C
A) ASCⅡ码 B) BCD码
C) 二进制 D) 十六进制
C) 二进制 D) 十六进制
2、计算机的软件系统一般分为: C
A) 系统软件、应用软件与各种字处理软件
B) 操作系统、用户软件与管理软件
C) 系统软件与应用软件
D) 操作系统、实时系统与分时系统
B) 操作系统、用户软件与管理软件
C) 系统软件与应用软件
D) 操作系统、实时系统与分时系统
3、在C语言中,要求运算数必须是整型的运算符是:A
A) % B) /
C) < D) !
C) < D) !
4、下列语句中符合C语言语法的赋值语句是:D
A) a=7+b+c=a+7; B) a=7+b++=a+7;
C) a=7+b,b++,a+7 D) a=7+b;c=a+7;
A) a=7+b+c=a+7; B) a=7+b++=a+7;
C) a=7+b,b++,a+7 D) a=7+b;c=a+7;
5、如果按字长来划分,微机可以分为8位机`16位机`32位机和64位机. 所谓32位机是指该计算机所用的CPU: A
A) 同时能处理32位二进制数
B) 具有32位的寄存器
C) 只能自理32位二进制定点数
D) 有32个寄存器
A) 同时能处理32位二进制数
B) 具有32位的寄存器
C) 只能自理32位二进制定点数
D) 有32个寄存器
6、以下不正确的C语言标识符是____。 A(不能使用关键字)
A) int B) a_1_2 C) ab1exe D) _x
7、、以下叙述正确的是______。 C
A)在C程序中main函数必须位于程序的最前面
B)C程序的每行中只能写一条语句
C)C语言本身没有输入输出语句
D)在对一个C程序进行编译的过程中,可发现注释中的错误
8、下列运算中,操作数只能是整型的________D
A)+ B)* C) / D) %
9、逗号表达式的运算顺序下列转义字符中错误的一个是____。C(\x后面应该是1到2位十六进制数)
A) '\000' B) '\0014' C) '\x111' D) '\2'
A) '\000' B) '\0014' C) '\x111' D) '\2'
10、以下叙述中正确的是_____ C
A) C语言的源程序不必通过编译就可以直接运行
B) C语言中的每条可执行语句最终都将被转换成二进制的机器指令
C) C源程序经编译形成的二进制代码可以直接运行
D) C语言中的函数不可以单独进行编译
A) C语言的源程序不必通过编译就可以直接运行
B) C语言中的每条可执行语句最终都将被转换成二进制的机器指令
C) C源程序经编译形成的二进制代码可以直接运行
D) C语言中的函数不可以单独进行编译
11、以下是正确的C语言标识符是____。 B
A) #define(系统关键字) B) _123 C) %d (%错) D) \n(\错)
12、下列关于C语言的叙述错误的是____ A
A) 大写字母和小写字母的意义相同
B) 不同类型的变量可以在一个表达式中
C) 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型
D) 同一个运算符号在不同的场合可以有不同的含义
A) 大写字母和小写字母的意义相同
B) 不同类型的变量可以在一个表达式中
C) 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型
D) 同一个运算符号在不同的场合可以有不同的含义
13、C语言中字符型(char)数据在内存中的存储形式是____。 D
A) 原码 B) 补码 C) 反码 D) ASCII码
14、将字符g赋给字符变量c,正确的表达式是 。 C(使用8位二进制码,最左边1位为0)
A) c=\147 B) c="\147" C) c='\147' D) c='0147'
可以用以下程序来检验:
#include <stdio.h>
void main()
{
char c='\147';
printf("%c\n", c);
}
15、以下程序的输出为____A____
#include <stdio.h>
void main()
{
int m=7, n=4;
float a=38.4, b=6.4, x;
x=m/2+n*a/b+1/2;
printf(“%f\n”, x);
}
A) 27.000000 B) 27.500000 C) 28.000000 D) 28.500000
16、已知字母A的ASCⅡ码为十进制的65,下面程序的输出是:A
A) 67,D B) B,C
A) 67,D B) B,C
C) C,D D) 不确定的值
main()
{
main()
{
char ch1,ch2;
ch1='A'+'5'-'3';
ch1='A'+'5'-'3';
ch2='A'+'6'-'3';
printf("%d,%c\n",ch1,ch2);
printf("%d,%c\n",ch1,ch2);
}
17、下面程序的输出是:C
A) 0 B) 1
A) 0 B) 1
C) 3 D) 不确定的值
main()
{
main()
{
int x=10,y=3;
printf("%d\n",y=x/y);
printf("%d\n",y=x/y);
}
18、在以下一组运算符中,优先级最高的运算符是:C
A)<= B)=
C)% D)&&
C)% D)&&
19、能正确表示a≥10或a≤0的关系表达式是:D
A)a>=10 or a<=0 B)a>=10│a<=0
C)a≥10││a≤0 D)a>=10 ││a<=0
A)a>=10 or a<=0 B)a>=10│a<=0
C)a≥10││a≤0 D)a>=10 ││a<=0
20、一个C程序的执行是从: A
A)本程序的main函数开始,到main函数结束
B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
C)本程序的main函数开始,到本程序文件的最后一个函数结束
D)本程序文件的第一个函数开始,到本程序main函数结束
21、下列不属于C语言关键字的是 。 D
A) default(如default 用于switch语句当中:default : break;)
B) register(寄存器类型) C) enum(枚举类型) D) external(应为extern)
22、逗号表达式"(a=3*5,a*4),a+15"的值是____。 C
A) 15 B) 60 C) 30 D) 不确定
23、已知int x=5,y=5,z=5;执行语句x%=y+z;后,x的值是____。 C
A) 0 B) 1 C) 5 D) 6
24、使用语句scanf("x=%f,y=%f",&x,&y);输入变量x、y的值(□代表空格),正确的输入是____。 C
A) 1.25,2.4 B) 1.25□2.4 C) x=1.25,y=2.4 D) x=1.25□y=2.4
25、C语言程序从main()函数开始执行,所以这个函数要写在____。 D
A) 程序文件的开始 B) 程序文件的最后
C) 它所调用的函数的前面 D) 程序文件的任何位置
A) 程序文件的开始 B) 程序文件的最后
C) 它所调用的函数的前面 D) 程序文件的任何位置
26、下面各选项组中,均是C语言关键字的组是 。 B
说明:所谓关键字就是已被Turbo C2.0本身使用, 不能作其它用途使用的字。例如关键字不能用作变量名、函数名等
C语言总共有32个关键字:
Turbo C2.0有以下关键字:
Turbo C2.0扩展的共11个
asm _cs _ds _es _ss cdecl far near huge interrupt pascal
由ANSI标准定义的共32个 :
auto double int struct break else long switch case enum register typedef char extern return union const float short unsigned continue for signed void default goto sizeof volatile do if while static
注:auto是系统在没有为变量显示声明存储类型时自动视为auto;register 寄存器变量;extern 外部变量;static 静态变量;volatile(易变的)表示该变量不经过赋值,其值也可
C语言总共有32个关键字:
Turbo C2.0有以下关键字:
Turbo C2.0扩展的共11个
asm _cs _ds _es _ss cdecl far near huge interrupt pascal
由ANSI标准定义的共32个 :
auto double int struct break else long switch case enum register typedef char extern return union const float short unsigned continue for signed void default goto sizeof volatile do if while static
注:auto是系统在没有为变量显示声明存储类型时自动视为auto;register 寄存器变量;extern 外部变量;static 静态变量;volatile(易变的)表示该变量不经过赋值,其值也可
能被改变(例如表示时钟的变量、表示通信端口的变量等)。
A) auto,printf,include B) switch,typedef,continue
C) signed,union,scanf D) if,struct,type
A) auto,printf,include B) switch,typedef,continue
C) signed,union,scanf D) if,struct,type
27、为判断字符变量c的值是字母时,应采用下述表达式____。 D
【解析】由于单目运算符优先级高于“&&”和“||”运算,所以先计算!a、!b和!c分别为“假”、“假”、“真”,然后是&&运算和“||”运算,原表达式就等价于“假”&&“假” ||“真”,又由于“&&”的优先级高于“||”运算符,所以先计算“假”&&“假”,还是为假,最后是“假”||“真”为真。
A) c<=65||c>=90&&c<=97||c>=122(不是字母的取值范围)
B) c>=57&&c<=65|| c<=97&&c>=122(不是字母的取值范围)
C) c>=65&&c<=90,c>=97&&c<=122(,号错误,表达式错)
D) c>=65&&c<=90||c>=97&&c<=122
B) c>=57&&c<=65|| c<=97&&c>=122(不是字母的取值范围)
C) c>=65&&c<=90,c>=97&&c<=122(,号错误,表达式错)
D) c>=65&&c<=90||c>=97&&c<=122
28、以下程序执行后sum的值是 C(应为sum未赋初值)
A)15 B)14 C)不确定 D)0
main()
{ int i , sum;
for(i=1;i<6;i++) sum=sum+i;
printf("%d\n",sum);
}
main()
{ int i , sum;
for(i=1;i<6;i++) sum=sum+i;
printf("%d\n",sum);
}
29、温度华氏和摄氏的关系是: C=。已知:float C,F;由华氏求摄氏的正确的赋值表达式是____。 B(运算符的次序问题,且*不能省)
A) C=5/9(F-32) B) C=5*(F-32)/9
C) C=5/9*(F-32) D) 三个表达式都正确
C) C=5/9*(F-32) D) 三个表达式都正确
选择题:
30、当类型长度为2字节且为无符号时,则它的值范围为:D
A)0至255 B)-32768至32767
C)-256至255 D)0至65535
31、在C语言的循环语句中for,while,do-while中,有一个_____语句用于直接中断最内层循环。 C
A)switch B)continue
C)break D)if
32、C语言规定:在一个源程序中,main函数的位置:C
A)必须在最开始
B)必须在系统调用的库函数的后面
C)可以任意
D)必须在最后
33、C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符:C
A)必须为字母 B)必须为下划线
C)必须为字母或下划线 D)可以是字母,数字和下划线中任一种字符
34、已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2='A'十'6'一'3';后,c2中的值为:A
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论