控制流
1.if-else语句
if(表达式)
语句1
else
语句2
2.else-if语句
if(表达式)
语句1
else if(表达式)
语句2
else
语句3
3.switch语句:多路判定语句
switch(表达式){
case 表达式:语句
case 表达式:语句
default:语句
}
break语句会导致程序从switch语句中退出。
4.while循环与for循环
while(表达式)
语句
for(表达式1;表达式2;表达式3)
语句
//等价于
表达式1;
while(表达式2){
语句
表达式3;
}
5.do-while循环
do{
语句
} while(表达式);
6.break语句与continue语句
- break语句可以从for、while或do-while循环中提前退出
- break语句只能用于循环,不能用于if语句,如果是if语句,则if语句是循环的子语句
- break语句在多层嵌套循环中,只能终止离它最近的循环语句
- break语句在多层嵌套switch语句中,只能终止离它最近的switch语句
- continue语句使for、while或do-while循环开始下一次循环
continue语句只用于循环语句,不用于switch语句。
7.goto语句与标记跳转位置的标号
举例:
#include <stdio.h>
//if...else if...else...语句
void fun_1(int a, int b, int c)
{
if(a > b)
printf("a大于b。\n");
else if(a > c)
printf("a大于c。\n");
else if(c > b)
printf("c大于b。\n");
else
printf("不输出!\n");
}
//switch语句
void fun_2(int score)
{
switch(score / 10){
case 1:
case 2:
case 3:
case 4:
case 5:
printf("不及格。\n");
break;
case 6:
case 7:
case 8:
printf("及格。\n");
break;
case 9:
case 10:
printf("优秀!\n");
break;
}
}
//while循环
void fun_3(int i)
{
while(i < 10)
{
printf("%d ", i);
i++;
}
printf("\n");
}
//for循环
void fun_4()
{
int i;
for(i = 0; i < 10; i++)
{
printf("%d ", i);
}
printf("\n");
}
//do...while循环
void fun_5(int i)
{
do{
printf("%d ", i);
i++;
} while(i <= 9);
printf("\n");
}
//break语句和continue语句
void fun_6()
{
int i;
for(i = 0; i < 10; i++)
{
if(i == 0)
continue;
else if(i == 5)
break;
printf("%d ", i);
}
printf("\n");
}
int main()
{
fun_1(10, 100, 1000);
fun_1(10, 100, 10);
printf("%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n");
fun_2(40);
fun_2(60);
fun_2(100);
printf("%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n");
fun_3(0);
fun_4();
fun_5(0);
printf("%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n");
fun_6();
return 0;
}
结果: