![](https://csdnimg.cn/release/download_crawler_static/86309692/bg7.jpg)
7
main()
{ int x=1, y= 2,z=3;
if(x>y)
if(y<z) printf("%d" ,++ z) ;
else printf("%d" ,++ y);
printf("%d\n" ,x++ );
}
程序的运行结果是 ________。
A)331
B)41
C)2
D)1
【解析】该题目考查 if条件语句。 else语句和最近的一个 if语句配对。由于 x>y 为假,所以直接执行最后一行代码。
9.有以下程序:
#include <stdio.h>
main()
{ int x=1, y= 0,a= 0,b= 0;
switch(x)
{ case 1 :
switch(y)
{ case 0: a ++; break ;
case 1: b ++; break ;
}
case 2 : a++; b++; break ;
case 3 : a++; b++;
}
printf("a = %d,b=%d\n" , a,b);
}
程序的运行结果是
A)a =1, b=0
B)a =2, b=2
C)a =1,b=1
D)a =2,b=1
【解析】本题考查了 switch 结构的内容。在 C语言中,程序执行完一个 case 标号的内容后,如果没有 break 语句,控制结构
会转移到下一个 case 继续执行, 因为 case 常量表达式只是起语句标号作用, 并不是在该处进行条件判断。 本题程序在执行完内
部switch 结构后,继续执行了外部 switch 结构的 case 2 分支。最后 a和 b的值分别为 2和 1。
二.填空题
1.在C语言中,当表达式值为 0时表示逻辑值 "假",当表达式值为 时表示逻辑值 "真 "。
参考答案:非 0
【解析】本题一定要明确一个概念,即:所有非 0 的数(并不只是 "1"),在 c 语言中都表示逻辑值为 "真 "。
2.设x为int型变量 ,请写出一个关系表达式 __ ,用以判断 x同时为 3和7的倍数时 ,关系表达式的值为真。
参考答案: (x%3==0)&&(x%7==0)
【解析】 x%3==0 能保证 x 是 3 的倍数, x%7==0 能保证 x 是 7 的倍数,( x%3==0 )&&(x%7==0 )能保证 x 是 3 的倍数并且