一、分支语句
1.if语句
//用法
if(表达式){
语句
}
()中的表达式为真,执行语句,如果只有1条语句,可以不加{}。
2.if-else语句
//用法
if(表达式){
语句1
}else{
语句2
}
()中表达式为真,执行语句1,如果不满足,执行语句2
if(condition)
return x;
return y;//condition满足返回x,不满足返回y
上面的代码等价于if-else语句等价于exp1?exp2:exp3
3.else-if语句
//用法
if(表达式1){
语句1
}else if(表达式2){
语句2
……
else if(表达式n-1){
语句n-1
}else{
语句n
}
表达式1为真执行语句1,否则表达式2为真执行语句2,两个都不满足执行语句3......
编译器不看else和哪个if对齐就和谁配对,之和和它最近的且没有配对的if配对
注意break不适用于if,只适用于循环语句和switch
4.switch语句
switch(整型表达式){
语句项;
}
语句项:case 整型常量表达式:
语句;
如果满足一个case后,语句里没有break,会接着执行下面case的语句,直到遇见break或离开switch语句
所以我们可以每个case都加break得到一个结果
或者多个case只写一个语句,加上break(理论上最后一个case不用加break,但为了避免一些问题,还是加上,没有和printf对齐,有点丑)
如果找不到case中符合的语句加上default
小提示:1.switch语句对顺序没有严格的要求,但习惯来说default放在最后
2.switch可以嵌套使用
3.char也是整型
二、循环语句
1.while语句
//用法
while(表达式)
{
语句
}
()中表达式结果为真,执行语句,执行后判断表达式是否为真,继续执行语句,当不满足时循环结束。
2.do-while
//用法
do{
循环语句
}while(条件判断);
特点:至少执行一次,先执行再判断
3.for语句
//用法
for(表达式1;表达式2;表达式3){
循环语句
}
表达式1为初始化变量,表达式2为条件判断,判断循环何时终止,表达式3为循环条件调整
表达式2部分经常把==写成=,迷惑
三个表达式都可以省略,但;不能省略,如表达式2即条件判断部分被省略,判断条件就是恒为正,每个部分都可以有多个表达式,用,隔开,不要随便省略,如
for(x=0,y=0;x<2&&y<5;++x,y++)
顺序:表达式1 表达式2满足 循环语句 表达式3 表达式2满足 循环语句 表达式3 表达式2不满足,离开循环。
注意:不可以在循环语句内改变循环变量,防止循环失去控制
for循环里可以套for循环
如果循环里的变量在上一轮循环结束后,进入下一轮循环中没有被重新初始化,它就还是上一轮的值,例如:
int j=0;
int i=0;
for(;i<10;i++){
for(;j<10;j++){
语句
}
}
i=0,j=10结束一次大循环后,当i=1时,j还是为10。
continue:跳过该循环下面的语句,进入下一循环的入口判断,不能用于switch
break:终止所在循环,用于switch和循环语句,对if不起作用,break可以放在if语句中表示满足条件时跳出循环
标签:语句,case,else,break,循环,C语言,表达式,分支 From: https://blog.51cto.com/u_15901728/5928338