C语言分支循环语句——小知识点(非基础向)

IF-ELSE语句

1.else就近原则——else语句只和最近的if匹配。

2.if语句后面如果不跟{},只在满足条件下执行一条;语句。else同理。

3.C语言中,0为假,非0为真,适用任何需要判断的语句。(包括if-else,while等)

4.短路问题——&&:如果左边的表达式为假,右边的表达式跳过判定;||:如果左边表达式为真,右边表达式跳过判定。

例子:

int i = 0,a=0,b=2,c =3,d=4;

i = a++ && ++b && d++; //结果为:a = 1,b = 2,c = 3,d = 4, i = 0。由于a++先执行程序,再进行自增。a为0判定为假,第一个&&左边为假,i=0;&&右边语句均不再执行。bd不发生任何改变。

i = a++||++b||d++; //结果为:a = 1,b = 3,d = 4 ,c = 3,i = 1。第一个||左边语句a++判定为假,执行||右边语句语句,b++,先自增再判定,b为3,非0为真,第二个||右边语句不判定,因为第二个||语句左边为真,d不变,i=1.

SWITCH语句

5.switch语句中的判断式必须为整型不能是浮点数(char也算整型)。

6.switch语句中每个case后面最好跟着一个break,用于跳出switch循环。

如果case不跟break,会自动进入满足条件的case然后执行后续其他case语句,直到碰到break时停止。在此条件下,如果default在case前不执行(见图1),在case后则执行(见图2)。

图1
图2

如果不满足任何case,且没有break语句,优先执行default语句(如图3);如果default后面没有break,继续执行后续语句,后续中有case语句也会执行(如图4)。

图3
图4

7.default位置随意,也需要跟一个break。通常放在最后。

8.switch用于多分支,if用于1-2分支。(个人见解)

DO-WHILE和WHILE

9.do-while,先执行{}中语句再进行判定;while先判定再执行{}中语句;使用环境分情况讨论。

WHILE和FOR

10.while和for循环对比,for循环:初始、判定、调整三个语句代码集中,便于浏览,while过于分散。

11.碰见continue,跳过本次循环中continue后续代码,继续循环,类似重新进入循环体;

碰见break,直接终止该循环体。

GOTO语句

12.goto语句——直接跳到想要执行的语句位置。

条件操作符

13. exp ? exp1 : exp2

判断EXP,如果为真执行EXP1,结果为执行EXP1语句的结果;如果为假执行EXP2,结果为EXP2语句的结果。

例子:

m = a > b ? a : b; //判断a>b,如果为真,m = a;为假,m = b。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值