1.分支控制流(多选一)
if语句:
格式:
if(表达式1){ //任意表达式
}else if(表达式2){
表达式3
}
switch语句:
switch(表达式) //必须为整型、字符型、枚举
{
case 常量表达式: //必须为整数,且不得相同
执行语句
break; //跳出
default: //随便放哪里,不影响
执行语句
break;
}
特别注意,当不写break时,若前面存在满足case才能继续放下走,否则,有无break都不影响。
案例如下:
int a;
switch(a)
{
case 0:
表达式1;
case 1:
表达式2;
break;
default:
表达式3;
break;
}
当a=0时会输出表达式1表达式2,当a=1时只输出表达式2,当a=3时只输出表达式3
若全程没有break,则需要一直运行到最后一条语句,或者是遇到break;
2.循环语句
goto语句:无条件跳转(跳转到标识位置)
格式:
#include <stdio.h>
int main(void)
{
int val;
int ret = scanf("%d",&val);
if(ret != 1){
goto err;
}
printf("val:%d\n",val);
err:
return 0;
}
goto语句会破坏代码结构,不可以进行跨函数跳转,一般用于异常直接跳转到异常处理处。
while语句:
格式:
1.初始化语句表达式
2.判断语句表达式
while(表达式) //查看是真假,为常数则死循环
{
3.循环操作语句表达式
}
do while语句:
格式:
1.初始化语句表达式
do {
3.循环操作语句表达式 //至少执行一次
}while(表达式);2.判断语句表达式 //表达式为常数死循环
for语句:
格式:
for(1.初始化语句表达式;2.判断语句表达式;3.循环操作语句表达式)
{
循环体
}
break关键字:
仅仅用于循环(while\do while\for)和switch,不可单独用于非循环当中。可跳出最近一层循环
continue关键字:
仅仅用于循环(while\do while\for)和switch,不可单独用于非循环当中。可跳出最近一次循环,后续代码不执行。