C语言 下载本文

a=d/100%9;

b=(-1)&&(-1);

printf(\

A)6,1 B)2,1 C)6,0 D)2,0 答案为B

49. 下列程序段的输出结果是()。 int x=1 , y=1 , z;

z=1||++x&&y--;

printf(\

A) 1,1,1 B) 2,0,1 C)2,1,1 D)2,0,0 答案为A

50. 下列程序的运行结果是( ). #include

main( ) {unsigned a,b,c; a=0x255; b=a<<4;

x=(~b)&0xff ; printf(\ A)0x55 B)0xaf C)0x50 D)0xda 答案为B

51. 若有定义int a=25,b=14,c=19;则以下三目运算符构成的语句的执行结果是( )

a++<=25&&b--<=2&&c++ ? pritnf(\

A)25,14,19 B)26,13,19 C)25,13,19 D)26,14,19 答案为B

52. 以下程序的输出结果是( ). main( )

{int a=-1,b=4,k;

k=(++a,1)&&!b-->=0;

printf(\

A)1,0,4 B)1,0,3 C)0,0 3 D)0,0,4 答案为C

三、多选题

1. 结构化程序设计思想应该包括( )。 (A)使用顺序、分支、循环三种基本结构; (B)限制使用goto语句;

(C)应该使用自顶向下、逐步求精的方法;

(D)应该使用模块化的方法;

(E)编码过程中,变量名的命名只要程序员自己明白就可以了; 答案为ABCD

2. 对于scanf()函数,下列说法的是( )。

A)如果相邻格式符之间没有数据分隔,则对应的输入数据之间可用空格、回车分隔。 B)输入数据时不能指定精度。

C)在用格式说明符\输入单个字符时,空格字符和转义字符是无效字符,即不能被输入。

D)遇到空格、或者回车时,系统认为一个数据输入结束。

答案为ABD

3. 已知ch是字符型变量,下面的赋值语句是( )。

A)ch=''123''; B) ch=''\\xff''; C)ch=''t''; D)ch=\; 答案为BC

4. 若有定义int a,b; float x;,则以下不的赋值语句是( )。 A)a=1,b=2, B)b++; C)a=b=5 D)b=int(x); 答案:A,C,D 答案为ACD

4章 条件语句 一、判断题

1. 在if...else语句中,else总是和它上面最近且未曾配对的if配对。( ) 答案为√ 2. 在if(<表达式>) <语句序列1> else<语句序列2>中的语句序列1和语句序列2可以为复合语句。( ) 答案为√ 3. C语言在判断一个量是否为真时,以非0值代表“真”,以0值代表“假”。( ) 答案为√

4. 与下列程序段等价的赋值语句是 y=x>0?1:x<0?-1:0 ( ) 答案为× if(x>0)y=1; else if(x<0) y=-1; else y=0; 二、单选题

1. 有如下程序 main( )

{ float x=4.0,y;

if(x<0.0) y=0.0;

else if(x<10.0) y=1.0/x; else y=1.0;

printf(“%f\\n”,y); }

该程序的输出结果是 ( )

A) 0.0 B) 0.25 C) 0.5 D) 1.0 答案为B

2. 为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。 (A)缩排位置相同的if (B)在其之前未配对的if (C)在其之前未配对的最近的if (D)同一行上的if 答案为C

3. 为了避免嵌套的if-else语句的二义性,C语言规定else总是与( )组成配对关系。 (A)缩进位置相同的if (B)在其之前未配对的if (C)在其之前最近的未配对的if (D)同一行上的if 答案为C

4. 设int a=0,b=5,c=2;选择可执行x++的语句是( )。 (A)if(a) x++ (B)if(a=b) x++; (C)if(a=

答案为B

5. 下列程序段运行后,x的值是( )。 int a,b,c,x; a=b=c=0;x=35; if(!a) x--; else if(b); if(c) x=3;

else x=4;

A)3 B)4 C)34 D)35 答案为B

6. 若要求在if后一对圆括号中表示a不等于0的关系,则能表示这一关系的表达式为 A)a<>0 B)!a C)a=0 D)a 答案为D

7. 假定所有变量均已定义, ok1=1; ok2=2; ok3=3; x=15; if(!ok1) x--;

else if (ok2) if (ok3) x=3; else x=4;

上面程序段运行后x的值是:( )

A)14 B)4 C)15 D)3 答案为D

8. 在C语言的if语句中,用作判断的表达式为( ).

A)关系表达式 B)逻辑表达式 C)算术表达式 D)任意表达式

答案为D

9. 以下程序的运行情况是( ) . #inlcude

void main( )

{int x=3,y=0,z=0;

if (x=y+z) printf(\ else printf(\

A)有语法错0不能通过编译 B)输出**** C)可以通过编译, 不能通过连接, 不能运行 D)输出####

答案为D

10. 若要求在if后一对圆括号中表示count等于0的关系, 则能表示这一关系的表达式为( )

A) count B) ! count C) count=0 D) count!=0 答案为B

11. 以下程序的输出结果是( )。 #include main()

{ int a=1,b=4,c=2;

float y=4.0,z;

z=(a+b)/c+sqrt((double)y)*1.2/c; printf(%f\\n\

}

A)3.500000 B)3.700000 C)3.200000 D)4.400000 答案为C

12. 若有定义int x,y;下面选项中合法的if语句( ) (A)if(a==b)x++; (B)if(a=b)x++; (Cif(a=>b)x++; 答案为A

13. 下面程序的输出是( )。 #include main( )

{int x=100,a=10,b=20; int v1=5,v2=0; if (a

if (v2) x=10;

x=-1;

printf(\ }

(A)100 (B)-1 (C)1 (D)10 答案为B

14. 有一C语言源程序如下: main()

{ int a,b=-1;scanf(\

if(a) if(a>0) b=1; else b=0; }

该程序所表示的数学函数关系是( )

15. 运行下列程序并用键盘输入53,48,32 后,在屏幕上的内容是( main () {

int i,j,k;

scanf (\ &j, &k); if (i>50) printf(\ else if (i>40) printf(\ else if (i>30) printf(\ else printf(\}

。 )