谁能帮我解决下面的C语言问题啊,最好能说明解析过程.

问题描述:

谁能帮我解决下面的C语言问题啊,最好能说明解析过程.
一.第四章选择结构(4题),解题说明.
1.以下程序的输出结果是
#include
main()
{ int a=15,b=21,m=0;
switch(a%3)
{case 0:m++;break;
case 1:m++;
switch(b%2)
{default:m++;
case0:m++;break;
}

printf("%d\n",m);
}
2.设说明语句"int a=1,b=0;",则执行以下语句输出为( )
switch(a)
{ case 1:
switch (b)
{case 0:printf(" * * 0 * * ");break;
case 1:printf(" * * 1 * * ");break;
}
case 2:printf(" * * 2 * * ");break;
}
3.以下程序输出结果为( )
#include
main()
{ int a=5,b=4,c=3,d;
d=(a>b>c);
printf("%d,%d\n",x,y);
}
4.已知A=7.5,B=2,C=3.6,表达式A>B&&C>A||AB的值是( )
1个回答 分类:综合 2014-12-12

问题解答:

我来补答
1、结果:1
解析:执行switch(a%3),由于a%3=0,满足case 0,因此执行其后语句m++,接着执行break语句,由于break语句有跳出switch语句的功能,因此在此处跳出switch语句,执行printf语句,m自加过一次,故输出结果:1;
2、结果:**0****2**
解析:道理同第1题,执行switch(a),满足条件进入switch(b),接着满足条件执行case 0后语句,break跳出switch(b),由于跳出后没有语句break,因此接着执行switch(a).记住一点:break语句只能跳出一个switch;
3、至于这题,估计是你输错了,如果题目真这样,就是题目错了.编译都不可能通过,在程序中变量x,y都没定义过;
4、结果:0
解析:此题主要就是个运算符优先级的问题,C中运算优先级从高到低是这样的:
非(!)——算术运算符——关系运算符——与和或——赋值运算符
 
 
展开全文阅读
剩余:2000
上一页:
下一页:判断题。