篇一:C语言考试题库及答案
C语言理论上机考试选择题部分(共200题,仅针对11级定向专业)
1、下面程序的输出是___D______
#include void main() { int k=11;printf("k=%d,k=%o,k=%x\n",k,k,k); } A) k=11,k=12,k=11 B) k=11,k=13,k=13 C) k=11,k=013,k=0xbD) k=11,k=13,k=b 2、在下列选项中,不正确的赋值语句是__D______.
A) ++t; B) n1=(n2=(n3=0));C) k=i=j; D) a=b+c=1; 3、下面合法的C语言字符常量是______A____. A) '\t' B) "A" C) 65D) A 4、表达式: 10!=9的值是________D____.
A) true B) 非零值 C) 0 D) 1
5、C语言提供的合法的数据类型关键字是
_____B____. A) DoubleB) shortC) integer D) Char 6、字符(char)型数据在微机内存中的存储形式是__D__. A) 反码B) 补码C) EBCDIC码D) ASCII码
7、C语言程序的基本单位是_____C______. A) 程序行B) 语句 C) 函数 D) 字符
8、设 int a=12,则执行完语句a+=a-=a*a后,a的值是
____D____ A) 552 B) 264C) 144 D) -264 9、执行下面程序中的输出语句后,输出结果是
____B__. #include void main() {int a; printf("%d\n",(a=3*5,a*4,a+5)); } A) 65 B) 20 C) 15D) 10 10、下面程序的输出是____B______.
#include void main() {int x=023; printf("%d\n",--x); } A) 17 B) 18 C) 23 D) 24 11、下面程序的输出的是_____C____. #include void main() {int x=10,y=3; printf("%d\n",y=x/y);
} A) 0 B) 1 C) 3D) 不确定的值 12、已知字母A的ASCII码为十进制的65,下面程序的输出是______A_____. #include void main()
{char ch1,ch2; ch1='A'+'5'-'3'; ch2='A'+'6'-'3';
printf("%d,%c\n",ch1,ch2); } A) 67,DB) B,C C) C,DD) 不确定的值 13、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为____D__.
A) a<>0 B) !a C) a=0 D) a 14、以下程序的输出结果是____D_____.
#include void main()
{ int x=10,y=10;printf("%d %d\n",x--,--y); } A) 10 10 B) 9 9 C) 9 10D) 10 9
15、设有如下定义:
int x=10,y=3,z; 则语句printf("%d\n",z=(x%y,x/y)); 的输出结果是_____D_____. A) 1B) 0C) 4D) 3 16、为表示关系x≥y≥z,应使用C语言表达式
___A___. A) (x>=y)&&(y>=z)B) (x>=y)AND(y>=z) C) (x>=y>=z) D) (x>=y) & (y>=z)
17、C语言中非空的基本数据类型包括____B____. A) 整型,实型,逻辑型B) 整型,实型,字符型 C) 整型,字符型,逻辑型 D) 整型,实型,逻辑型,字符型 18、若x和y都是int型变量,x=100,y=200,且有下面的程序片段:
printf("%d",(x,y));
上面程序片段的输出结果是____A___. A) 200B) 100
C) 100 200 D) 输出格式符不够,输出不确定的值
19、阅读下面的程序
#include void main() {
char ch;
scanf("%3c",&ch); printf("%c",ch); }
如果从键盘上输入 abc
则程序的运行结果是__A_____.
A) a B) b C) c D) 程序语法出错
20、阅读下面的程序
#include void main() {
int i,j;i=010;j=9;
printf("%d,%d",i-j,i+j); }
则程序的运行结果是____D____.
A) 1,19 B) -1,19C) 1,17 D) -1,17
21、阅读下面的程序
#include void main() {
int i,j,m,n;i=8;j=10;m=++i;n=j++;
printf("%d,%d,%d,%d",i,j,m,n); }
程序的运行结果是______C____. A) 8,10,8,10B) 9,11,8,10 C) 9,11,9,10D) 9,10,9,11
22、已知a=12,则表达式a+=a-=a*=a的结果是_____A__.
A) 0B) 144 C) 12 D) -264 23、若已定义int a,则表达式a=10,a+10,a++的值是__B_.
A) 20B) 10C) 21 D) 11
24、阅读下面的程序
#include void main() {
int i,j;
scanf("%3d%2d",&i,&j); printf("i=%d,j=%d\n",i,j); }
如果从键盘上输入1234567,则程序的运行结果是____D____.
A) i=123,j=4567B) i=1234,j=567C) i=1,j=2 D) i=123,j=45
25、下面程序的输出结果是____D____.
#include void main() {
int a=-1, b=4, k;
k=(++a<=0)&&(b--<=0); printf("%d,%d,%d\n",k,a,b); }
A) 1,1,2B) 1,0,3 C) 0,1,2D) 0,0,3
26、下面程序的输出结果是____A____.
#include void main() {
int a=5,b=3;
float x=3.14, y=6.5;
printf("%d,%d\n",a+b!=a-b,x<=(y-=6.1)); }
A) 1,0 B) 0,1C) 1,1 D) 0,0
27、执行下面程序段后,输出结果是____A____.
int a;
int b=65536; a=b;
printf("%d\n",a);
A) 65536B) 0 C) -1D) 1
28、若有以下定义和语句: int a=010, b=0x10, c=10; printf("%d,%d,%d\n",a,b,c); 则输出结果是____B_____.
A) 10,10,10 B) 8,16,10C) 8,10,10 D) 8,8,10 29、已知有double型变量x=2.5,y=4.7,整型变量a=7, 则表达式 x+a%3*(int)(x+y)%2/4 的值是_____B____. A) 2.4B) 2.5 C) 2.75 D) 0
30、若已定义x和y是整型变量,x=2;,则表达式y=2.75+x/2的值是____C____.
A) 5.5 B) 5C) 3 D) 4.0
31、以下程序的输出结果是____D____.
#include void main() {
int a=12, b=12;
printf("%d,%d\n",--a,++b); }
A) 10,10 B) 12,12 C) 11,10 D) 11,13
32、设有以下语句:int x=10;x+=3+x%(3),则x的值是.____A_____
A) 14B) 15C) 11 D) 12
33、若d为double型变量,则表达式d=1,d+5,d++的值是_____D__.
A) 1 B) 6.0 C) 2.0 D) 1.0
34、表达式5!=3的值是____D____.
A) T B) 非零值C) 0D) 1
35、若有定义int a=12,n=5,则表达式a%=(n%2)运算后,a的值______A____.
A) 0B) 1 C) 12 D) 6
36、若有定义int x=3,y=2和float a=2.5,b=3