c语言的switch C语言之选择结构(2)

电脑杂谈  发布时间:2018-02-11 20:56:42  来源:网络整理

正确答案为A。

考试重点考察点:

1、在C语言中,由&&或||组成的逻辑表达式,在特定的情况下会产生“短路”的现象。在逻辑表达式的求解中,并不是所有的运算对象都被执行,只是在必须执行下一个逻辑运算符才能求出表达式的解时,才执行该逻辑运算符。(若“&&”的左边的运算对象的值为0,则不再对右边的运算对象进行运算,直接得出整个表达式的值为0;若“||”的左边的运算对象为1,则不再对右边的运算对象进行运算,直接得出整个表达式的值为1。)

(1)若执行下列语句

a=0;b=1;

c=a++&&(b=6);

各变量的值为:a为1,b为1,c为0,由于(b=6)没被执行到,故b的值不变。

(2)执行语句

a=1;b=1;c=0;

d=--a||b--||(c=b+3);

后,结果:a为0,b为0,c为0,d为1,表达式中的(c=b+3)没有被执行到,c值不变。

2、用C语言正确表示数学意义上的a<b<c,

正确的表示方法是 a<b&&b<c。因为a<b<c在C语言执行中,假定a=8,b=7,c=6,在数学中,a<b<c是不成立的。但是在C语言中,8<7<6会首先首先执行8<7得到0,再接着算0<6,这样就成合法了。所以一定注意C语言考试中这个a<b<c样子的是考试陷阱。

知识点:if语句的三种形式使用;if和else的搭配;嵌套的if语句的使用

重要程度:★★★★

1、if语句的三种形式

1.1 if语句

if只管后面一个分号;要管多个用大括号把多个语句括起来。

程序1:

if(a<b)

{t=a; a=b;b=t;}

--------------------------

程序2:

if(a<b)

t=a; a=b;b=t;

程序1、2注意两者的区别 !!!

图1if语句的流程图

1.2 if-else语句

它的一般格式如下:

if(表达式)

语句1;

else

语句2;

例如:对两数大小的比较,输出大数。用if-else语句实现:

if(x>y)

printf(“%d”,x);

else

printf(“%d”,y);

图2if-else语句的流程图

例1:若有以下程序

main( )

{

int a=5,b=4,c=6,t=0;

if(a<b) {t=a;a=b;b=t;}

if(a<c) t=a;a=c;c=t;

printf("%d %d%d\n",a,b,c);

}

执行后输出结果是

c语言switch括号里_c语言的switch_c语言switch中 case后

答案:645

分析:程序的第一行在定义a、b、c、t四个变量时初始化了值。接下来,第一个if语句的表达式为:a<b,a变量里存放的是整数5,b变量里存放的是整数4,可以判断该表达式为“假”,那么程序应该跳过if的子句。子句是一条复合语句则{t=a;a=b;b=t;}被跳过。第二个if语句的表达式为:a<c,因为变量a的值为5,变量c的值为6,因此该表达式的值为“真”,执行该if的语句“t=a;”,t的值被赋为5。该if语句执行完成后,还有两个其它的语句“a=c;c=t;”执行后这两条语句后,a的值被赋为6,c的值被赋为5。因此,最后输出a、b、c变量的值应该分别为6、4、5。若将if(a<b) {t=a;a=b;b=t;}改为if(a<b) t=a;a=b;b=t;,请读者自行分析结果。

1.3 if-else-if 语句结构

它的一般格式如下:(只有一个语句被执行)


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-72458-2.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 吕温
      吕温

      而且钱可随时转进转出

    • 王康龙
      王康龙

      1900对于退休老人来说正常生活肯定没问题的

    热点图片
    拼命载入中...