9、流程控制

1、控制语句分类
语句类型 备注
顺序语句 程序从上往下执行
选择语句 程序执行过程中根据内容选择不同的分支继续
循环语句 程序执行过程中需要重复执行某段语句
中断语句 改变控制语句执行流程
2、选择语句1
2.1、单支语句

数据类型

2.2、双支语句

数据类型

2.3、多支语句

由单支和双支语句组成

2.4、代码案例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <stdio.h>

int main()
{
int a=1,b=2;
// 1、if语句
if(a>0){
printf("a>0\n");
}
// 2、if-else语句
if(a>b){
printf("a>b\n");
}else{
printf("a<=b\n");
}
// 3、多个if或if-else
if(a>b){
printf("a>b\n");
}else if(a==b){
printf("a=b\n");
}else{
printf("a<b\n");
}
return 0;
}
3、选择语句2
3.1、switch

当选择判断出现一些固定值判断时,则可以使用switch

3.2、switch格式

数据类型

3.3、代码案例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
int main()
{
int i=1;
switch (i) {
case 1:
printf("i=1\n");
break;

default:
printf("i\n");
break;
}
return 0;
}
3.4、注意事项
  • case后面的语句如没有break,则会继续往下执行,直到遇到break语句,才跳出swtich
  • switch后面建议有默认的default的处理
  • switch后面的判断表达式,可以是int、string、枚举
4、循环语句
4.1、while语句or for语句

数据类型

4.2、dowhile语句

数据类型

4.3、代码案例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <stdio.h>

int main()
{
int i=5;
// 1、while
while (i>0) {
printf("%d\n",i);
i--;
}

// 2、do-while
int j=5;
do {
printf("%d\n",j);
j--;
} while (j>0);

// 3、for语句
int z=5;
for (int z1=1; z1<=z; z1++) {
printf("%d\n",z1);
}

return 0;
}
4.4、注意事项
  • 编写循环语句必须要确定退出循环的条件,否则循环语句会一直执行
  • while和dowhile的区别是循环体是否先执行
  • for和while的本质是一样的,但for代码编写上比while更紧凑
5、中断语句
类型 作用
break 用于强行退出循环,不执行循环剩余的语句。也可以用于switch语句
continue 用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句接着进行下一次是否执行循环的判断
5.1、代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include<stdio.h>
int main()
{
int i=5;
while(i>0)
{
if(i==4){
printf("continue\n");
i--;
continue;
}
printf("i=%d\n",i);
if(i==1){
printf("break\n");
break;
}
i--;
}
return 0;
}