小测前的第一次错题(二)
作者:互联网
18.如果变量已经正确定义,则执行以下程序段后,x
的值不变。 错(x变为0)
x = 4;
if (x < 0){
y = -1;
}else if (x = 0){
y = 0;
}else{
y = 1;
}
19.能正确表示a和b同时为正或同时为负的逻辑表达式是______。
A.(a>=0||b>=0)&&(a<0|| b<0) B.(a>=0&&b>=0)&&(a<0&&b<0)
C.(a+b>0)&&(a+b<=0) D.a*b>0
20.在嵌套使用if语句时,C语言规定else总是()。
A.和之前与其具有相同缩进位置的if配对 B.和之前与其最近的if配对
C.和之前与其最近的且不带else的if配对 D.和之前的第一个if配对
21.
有定义语句“int a=1,b=2,c=3,x;”,则以下各程序段执行后,x的值不为3的是
A.
if(c<a)x=1;
else if(b<a)x=2;
else x=3;
B.
if(a<3)x=3;
else if(a<2)x=2;
else x=1;
C.
if(a<3)x=3;
if(a<2)x=2;
if(a<1)x=1;
D.
if(a<b)x=b;
if(b<c)x=c;
if(c<a)x=a;
22.下列程序段运行后x的值是 4(按照顺序结构,最后输出值应该为最下面的4)
int a = 0, b = 0, c = 0, x = 35;
if (!a)x--;
else if (b);
if (c)x = 3;
else x = 4;
23.After executing the following code fragment, the value of variable m
is _10_.
int m;
for( m=0; m<9; m++ ) m++;
24.执行以下循环语句时,下列说法正确的是
x = -1;
do {
x = x * x;
} while (x == 0);
A.循环体将执行一次 B.循环体将执行两次
C.循环体将执行无限次 D.系统将提示有语法错误
25.要求以下程序的功能是计算:s=1+21 + 31 + ... + 101,但运行后输出结果错误,导致错误结果的程序行是
#include <stdio.h>
int main(void)
{
int n; float s;
s = 1.0;
for (n = 10; n > 1; n--)s = s + 1 / n;
printf("%6.4f\n", s);
return 0;
}
A. int n; float s; B. for (n = 10; n > 1; n--)
C. s = s + 1 / n;(应该为s=s+1.0/n) D. s = 1.0;
26.对应以下程序段,不正确的输入是( )。
int a, b, c;
cin >> a >> b >> c;
A.10[空格]20[空格]30[回车] B.10[回车] 20[回车] 30[回车]
C.10[TAB]20[TAB]30[回车] D.10, 20, 30[回车]
27.若输入字符串:abcde<回车>,则以下while循环体将执行_0___次。
while ((ch=getchar ( ))== 'e')
printf(" * ");
(getchar是读取字符,只读取了第一个a,不符合后便不再执行)
标签:循环体,小测,int,第一次,else,错题,20,程序段,回车 来源: https://blog.csdn.net/Ramuco/article/details/120794216