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
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
{ 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
{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(\}
。 )