C语言-基本选择题及答案[1] 下载本文

A. 1 B. 2 C. 3 D. 以上结果都不对

43. 有:int w=7, x=12, y=3, m; 执行下面语句后m的值是( A ) m=(w>x)?w:x; m=(m>y)?m:y;

A. 12 B. 0 C. 3 D. 1

45.设整型变量 a=2,则执行下列语句后,浮点型变量b的值不为0.5的是( B )

A.b=1.0/a B.b=(float)(1/a) C.b=1/(float)a D.b=1/(a*1.0)

48. 以下运算符中优先级最高的运算符是( B ) A)&& B)++ C)+= D)!=

49.若“int n; float f=13.8;”,则执行“n=(int)f%3”后,n的值是(A) A.1 B.4 C.4.333333 D.4.6

52. 设x为int型变量,则执行以下语句后,x的值为( C )

x=10; x*=x;

A) 10 B) 20 C) 100 D) 0

53. 若有语句int a=1,b; double y=2.3; b=(int)y; 则b的值为 (B )?

A) 3 B) 2 C) 1 D) 2.3

54.已知int x;char y;则下面错误的scanf函数调用语句为(B ) A)scanf(“%d,%d”,&x,&y); B) scanf(“%d,%c”,x,y) C) scanf(“%d%d”,&x,&y) D) scanf(“%d,%c”,&x,&y)

57.在C语言的库函数中,可以输出char型变量x值的语句是 C 。 A)getchar(x); B)fputc(x) C)putchar(x) D)puts(x)

60. 以下说法正确的是( C )

A) 'x'+5是一个错误的表达式 B) C语言不允许类型的混合运算

C) 强制类型转换时,类型说明符必须加括号 D) (int)x+y 和(int)(x+y)是完全等价的表达式 61.设 int x=0, y=1; 表达式(x||y)的值是 ( B ) A) 0 B) 1 C) 2 D) -1

5

三、选择结构

1. 在C语言中,认为( D )为逻辑\真\

A) true B)大于0的数 C)非0整数 D)非0的数 A) (x<=y)&&(y<=z) B) (x<=y)AND(y<=z) C) (x<=y<=z) D) (x<=y)&(y<=z)

3.能正确表示逻辑关系:“a≥=10或a≤0”的C语言表达式是( D )

A) a>=10 or a<=0 B) a>=0|a<=10 C) a>=10 &&a<=0 D) a>=10‖a<=0

4、判断char型变量c1是否为大写字母的表达式为( D )。

A、’A’<=c1<=’Z’ B、(c1>=’A’) & (c1<=’Z’) C、(’A’<=c1)AND (‘Z’>=c1) D、 c1>=’A’ && c1<=’Z’ 5. 为表示逻辑表达式79

A)( X>79 )&&( X<90 ) B) ( X>79 )!=( X<90 ) C) 7979 )||( X<90 )

6.设有语句“int a=2,b=3,c=-2,d=2;”,则逻辑表达式“a>0&&b&&c<0&&d>0”的

值是( A )

A.1 B.0 C.-1 D.出错 2. 表示关系x<=y<=z的c语言表达式为 A

7. 设a为整型变量,则不能正确表达数学关系10<a<15的C语言表达式是( A )。

A.1010&&a<15 D.!(a<=10)&&!(a>=15)

8. 设x,t均为int型变量,则执行语句“x=10;t=x&&x>10;”后,t的值为(D )

A.不定值 B.10 C.1 D.0 9. 若int i=10; 执行下列程序后,变量i的正确结果是( A )。 switch ( i )

{ case 9: i+=1; case 10: i+=1; case 11: i+=1; default : i+=1; }

A、13 B、12 C、11 D、10

10. 在下面的条件语句中(其中s1和s2表示是C语言的语句),只有一个在功能上与其它三个语句不等价,它是( D )。

A、if (a) s1 ; else s2; B、if (a= =0) s2; else s1; C、if (a!=0) s1; else s2; D、if (a= =0) s1; else s2; 11.假定所有变量均已正确定义,则下列程序段运行后y的值是(A )

6

int a=0,y=10; if(a=0) y--; else if(a>0) y++; else y+=y;

A.20 B.11 C.9 D.0 12.假定所有变量均已正确定义,则下列程序段运行后x的值是(B )。 a=b=c=0; x=35; if(!a) x--;

else if(b); if(c) x=3; else x=4;

A.34 B.4 C.35 D.3 13. C语言对嵌套if语句的规定是:else语句总是与( D )配对。 A) 其之前最近的if B) 第一个if

C) 缩进位置相同的if D) 其之前最近的且尚未配对的if 14.在C语言语句中,用来决定分支流程的表达式是( A )。

A.可用任意表达式 B.只能用逻辑表达式或关系表达式 C.只能用逻辑表达式 D.只能用关系表达式 15.C语言中用( B )表示逻辑“真”。

A. true B. 整数值1 C. 非零整数值 D. false

16、若k是int型变量,且有下面的程序段:

int k; k= -3;

if (k<=0) printf(“####”); else printf(“&&&&”); 上面程序段的输出结果是( A )

A、#### B、&&&&

C、####&&&& D、有语法错误,无输出结果

17. main()

{ int x=0,a=0,b=0;

switch(x){

case 0: b++; case 1: a++; case 2: a++;b++;}

7

printf(“a=%d,b=%d\\n”,a,b);} 该程序的输出结果是 D

A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=2 18. 以下程序的输出结果是:( C )

main()

{ int x=-10,y= 1,z=1; if(x

A. 0 B. 1 C. 2 D. 3

19. 以下程序段的输出结果是( B )

int a=10,b=50,c=30; if(a>b) a=b; b=c; c=a;

printf(\;

A) a=10 b=50 c=10 B) a=10 b=30 c=10 C) a=50 b=30 c=10 D) a=50 b=30 c=50

四、循环结构

*1.在C语言中,下列说法中正确的是( D )。

A) do-while语句构成的循环不能用其它语句构成的循环来代替。 B) do-while语句构成的循环只能用break语句退出。

C) do-while语句构成的循环在while后的表达式非零时结束循环。

D) do-while语句构成的循环,在while后的表达式为零时结束循环。

2. break语句不能出现在( D )语句中

A. switch B.for C. while D. if?else *3.对于break语句和continue语句的说法错误的是( B )

A) break语句不能用于循环语句和switch语句之外的任何其他语句中。 B) break和continue也可以用于if语句中

C) continue语句只结束本次循环,而不是终止整个循环的执行。 D) break语句是结束整个循环过程,不再判断执行循环的条件是否成立。 4.语句while(!y);中的表达式!y等价于 A

8