一、选择题
51、以下正确的if语句是____
A、if (n>0) printf("%f",n)
printf("%f",-n);
B、if (n>0)
{ n=n+m; printf("%f",n); }
else printf("%f",-n);
C、if (n>0)
{ n=n+m; printf("%f",n); };
else printf("%f",-n);
D、if (n>0)
{ n=n+m; printf("%f",n) };
else printf("%f",-n);
52、以下程序____
main( )
{ int x1=3, x2=0, x3=0;
if (x1=x2+x3)
printf("* * * *");
else printf("# # # #");
}
A、输出:* * * * B、输出:# # # #
C、存在语法错误 D、无输出结果
53、为了避免在嵌套的条件语句if-else中产生二义性,C语言规定:else子句总是与____
A、缩排位置相同的if配对
B、其之前最近且不带else的if配对
C、其之前最近的if配对
D、第一个if配对
54、若w、x、y、z、k均为int类型变量,则执行下面语句后的k的值是____
w=1; x=2; y=3; z=4;
k=(w
k=(k
k=(k
A、1 B、2 C、3 D、4
55、下面程序段所表示的数学函数关系是____
x=-1;
if (a!=0)
if (a>0) x=1;
else x=0;
-1 (a<0) 1 (a<0)
A、x= 0 (a=0) B、x= -1 (a=0)
1 (a>0) 0 (a>0)
0 (a<0) -1 (a<0)
C、x= -1 (a=0) D、x= 1 (a=0)
1 (a>0) 0 (a>0)
56、以下关于switch语句和break语句的描述中正确的是____
A、在switch语句中必须使用break语句
B、break语句只能用于switch语句体中
C、break语句只能用于循环语句中
D、在switch语句中使用break语句或continue语句的作用相同
57、设有说明:int a=1,b=0; 则执行以下语句后的输出结果是____
switch(a)
{ case 1:
switch(b)
{ case 0: printf("** 0 **\n"); break;
case 1: printf("** 1 **\n");break;
}
case 2: printf("** 2 **\n"); break;
}
A、** 0 ** B、** 0 **
** 2 **
C、** 0 ** D、switch语句中存
** 1 ** 在语法错误
** 2 **
58、设有程序段____
int x=10;
while (x=0)
x=x-1;
A、while循环执行10次 B、循环是无限循环
C、循环体语句一次也不执行
D、循环体语句只执行一次
59、语句while (!y)中的表达式 !y 等价于____
A、y==0 B、y!=1 C、y!=0 D、y==1
60、以下关于do-while循环不正确的描述是___
A、d0-while的循环体至少执行一次
B、do-while循环由do开始,用while结束,在while (表达式)后面不能写分号
C、在do-while循环体中,一定要有能使while后面表达式的值变为零("假")的操作
D、do-while的循环体可以是复合语句
61、设x、y均是int类型变量,且x值为100,则关于以下for循环的正确判断是____
for (y=100; x!=y; ++x,y++)
printf("****\n");
A、循环体只执行一次 B、是无限循环
C