目录
1. 条件
1.1 if-else
if (condi){
pass;
}
else if (condi) {
pass;
}
else{
pass;
}
1.2 switch
vartValue
是常量表达式,可以是整型、字符型或枚举,不能是float
,double
等类型
switch (var){
case varVar1: pass; break;
case varVar2:
pass;
break;
...
default:
pass;
}
- 举例
int i
switch (i){
case 1:
pass;
break;
case 2:
pass;
break;
...
default:
pass;
}
1.3 条件运算符 (? :)
if true执行表达式1,else执行表达式2
语法格式:布尔表达式?表达式1:表达式2
,比如取最大值a>b?a:b
2. 循环
2.1 for
for(init; end condi; iter){
pass;
}
- 有一点需要注意!如果
i
在for
内部声明,就是局部变量不能在外部调用
int a;
for (int i=0;i<5; i++)
a = 1;
printf("%d", i);
2.2 while
while (condi){
pass;
}
2.3 do-while
不管条件先做一次
do{
pass;
}while (condi);
2.4 goto
在底层程序会经常用到
- 缺点:效率低
- 优点:
- 当函数有很多出口,
goto
便于集中管理,一起退出,特别是函数中有许多重复的清理工作的时候 - 无条件跳转易于理解
- 可以减少嵌套
- 可以避免忘记更新某一个出口点的问题
- 帮编译器做了代码优化
- 当函数有很多出口,
loop_name:
if (condi){
pass;
goto loop_name;
}
3. 辅助控制
3.1 continue
- 格式:
continue;
- 跳过这次循环执行下一次
3.2 break
- 格式:
continue;
- 跳出这层循环
3.3 return
- 格式:
return val;
- 在主函数内结束主函数,在其他函数内结束函数