其他分享
首页 > 其他分享> > 小测前的第一次错题(二)

小测前的第一次错题(二)

作者:互联网

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