三C语言表达式选择结构

第三章表达式、选择结构

特别要注意:C语言中是用非0表示逻辑真的,用0表示逻辑假的。

C语言有构造类型,没有逻辑类型。

关系运算符号:注意=的写法,==和=的区别!(考试重点)

if只管后面一个语句,要管多个,请用大括号!

1)关系表达式:

a、表达式的数值只能为1(表示为真),或0(表示假)。

如98这个关系表达式是真的,所以98这个表达式的数值就是1。

如76这个关系表达式是假的,所以76这个表达式的数值就是0

b、考试最容易错的:就是intx=1,y=0,z=2;

如98这个关系表达式是真的,所以98这个表达式的数值就是1。xyz是真还是假?带入为,从数学的角度出发肯定是错的,但是如果是C语言那么就是正确的!因为要10为假得到0,表达式就变成了02那么运算结果就是1,成为了真的了!

c、等号和赋值的区别!一定记住“=”就是赋值,“==”才是等号。

虽然很多人可以背诵,但我依然要大家一定好好记住,否则,做错了,我一定会强烈的鄙视你!

2)逻辑表达式:

核心:表达式的数值只能为1(表示为真),或0(表示假)。

a)共有

!三种逻辑运算符号。

b)!

优先的级别。

c)注意短路现象(短路求值问题)。

考试比较喜欢考到。详细请见书上例子,一定要会做例1和例2

d)表示x小于0大于10的方法。

0x10是不行的(一定记住)。是先计算0x得到的结果为1或则0;再用0,或1与10比较得到的总是真(为1)。所以一定要用(0x)(x10)表示比0大比10小。

3)if语句

a、else是与最接近的if且没有else的语句匹配。

b、交换的程序写法:t=x;x=y;y=t;

c、if(ab)t=a;a=b;b=t;

if(ab){t=a;a=b;b=t;}两个的区别,考试多次考到了!

d、单独的if语句:if(ab)t=a;

标准的if语句:if(ab)min=a;

elsemin=b;

嵌套的if语句:if(ab)

if(bc)printf(“ok!”);

多选一的if语句if(a==t)printf(“a”);

elseif(b==t)printf(“b”);

elseif(c==t)printf(“c”);

elsepritnf(“d”);

通过习题,要熟悉以上几种if语句!

经典考题:结合上面四种if语句题型做题,答错了,请自行了断!预备,开始!

inta=1,b=0;

if(!a)b++;

elseif(a==0)

if(a)b+=2;

elseb+=3;请问b的值是多少?

如果没有看懂题目,你千万不要自行了断,这样看得懂不会做的人才会有理由的活着。

正确的是b为3。

inta=1,b=0;

if(!a)b++;是假的不执行

elseif(a==0)是假的执行

if(a)b+=2;属于elseif的嵌套if语句,不执行。

elseb+=3;if-else-if语句没有一个正确的,就执行else的语句!

4)条件表达式:

表达式1?表达式2:表达式3

a、考试口诀:真前假后。

b、注意是当表达式1的数值是非0时,才采用表达式2的数值做为整个运算结果,当表达式1的数值为0时,就用表达式3的数值做为整个的结果。

c、inta=1,b=2,c=3,d=4,e=5;

k=ab?c:de?d:e;求k的数值是多少?答案为san

5)switch语句:

a)执行的流程一定要弄懂!上课时候详细的过程讲了,请自己一定弄懂!

b)注意有break和没有break的差别,书上的两个例子,没有break时候,只要有一个case匹配了,剩下的都要执行,有break则是直接跳出了swiche语句。break在C语言中就是分手,一刀两断的意思。

c)switch只可以和break一起用,不可以和continue用。

d)switch(x)x:是整型常量,字符型常量,枚举型数据。

{case1:….不可以是变量。

case2:….

}

e)switch是必考题型,请大家一定要完成书上的课后的switch的习题。




转载请注明:http://www.aierlanlan.com/rzdk/4886.html