- 1. 条件
- 1.1 if-else
- 1.2 switch
- 1.3 条件运算符 (? :)
- 2. 循环
- 2.1 for
- 2.2 while
- 2.3 do-while
- 2.4 goto
- 3. 辅助控制
- 3.1 continue
- 3.2 break
- 3.3 return
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
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;
- 跳过这次循环执行下一次
- 格式:continue;
- 跳出这层循环
- 格式:return val;
- 在主函数内结束主函数,在其他函数内结束函数



