A)( X>79 )&&( X<90 ) B) ( X>79 )!=( X<90 ) C) 7979 )||( X<90 )
9. 在下面的条件语句中(其中s1和s2表示是C语言的语句),只有一个在功能上与其它三个语句不等价,它是。
A)if (a) s1 ; else s2;B)if (a= =0) s2; else s1;
C)if (a!=0) s1; else s2; D)if (a= =0) s1; else s2;
10. 假定所有变量均已正确定义,则下列程序段运行后y的值是。
int a=0,y=10;
if(a=0) y--;
else if(a>0) y++;
else y+=y;
A)20 B)11C)9 D)0
解析:此类题目可以自行编写下述测试程序进行调试验证。
#include
void main(){
......
printf("y=%d\n",y) ;
}
11. 假定所有变量均已正确定义,则下列程序段运行后x的值是。
a=b=c=0; x=35;
if(!a) x--;
else if(b);
if(c) x=3;
else x=4;
A)34 B)4 C)35 D)3
12. C语言对嵌套if语句的规定是:else语句总是与配对。
A) 其之前最近的if B) 第一个if
C) 缩进位置相同的if D) 其之前最近的且尚未配对的if
13. 在C语言语句中,用来决定分支流程的表达式是。
A)可用任意表达式B)只能用逻辑表达式或关系表达式
C)只能用逻辑表达式D)只能用关系表达式
14. C语言中用表示逻辑“真”。
A) true B) 整数值1 C)非零整数值D) false
15. 若k是int型变量,且有下面的程序段, 输出结果是。
int k; k= -3;
if (k<=0) printf(“####”) ;
else printf(“&&&&”);
A)####B)&&&& C)####&&&& D)有语法错误,无输出结果16. main()
{ int x=0,a=0,b=0;
switch(x){
case 0: b++;
case 1: a++;
case 2: a++;b++;}
printf(“a=%d,b=%d\n”,a,b);}
该程序的输出结果是。
A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=2
17. 以下程序的输出结果是:()
main()
{ int x=-10,y= 1,z=1;
if(xif(y<0) z=0;
else z=z+1;
printf(“%d\n”,z);
}
A) 0 B) 1 C) 2 D) 3
18. 以下程序段的输出结果是。
int a=10,b=50,c=30 ;
if(a>b)
a=b ;
b=c ;
c=a ;
printf("a=%2d b=%2d c=%2d\n",a,b,c) ;
A) a=10 b=50 c=10 B) a=10 b=30 c=10 C) a=50 b=30 c=10 D) a=50 b=30 c=50
19. 若int i=10; 执行下列程序后,变量i的正确结果是。
switch ( i ) { case 9: i+=1;
case 10: i+=1;
case 11: i+=1;
default : i+=1;
}
A)13B)12C)11 D)10
二、阅读程序,写出运行结果
1.
#include main()
{ int a=1,b=3,c=5; if (c==a+b)
printf("yes\n"); else
printf("no\n"); }
运行结果为:
no 2.
#include
main()
{ int a=12, b= -34, c=56, min; min=a;
if(min>b) min=b;
if(min>c) min=c;
printf("min=%d", min);
}
运行结果为:
min=-34
3.
#include main()
{ int x=2,y= -1,z=5;
if(xif(y<0)
z=0;
else
z=z+1;
printf(“%d\n”,z); }
运行结果为:54.
#include
main()
{int a=10,b=50,c=30;
if(a>b)
a=b;
b=c;
c=a;
printf("a=%d b=%d c=%d\n",a,b,c); }
运行结果为:a=10 b=30 c=10