1 条件语句
2.1 if语句
一般形式:
if (表达式 1)
语句块 1;
else if (表达式 2)
语句块 2;
else if (表达式 3)
语句块 3;
...
else if (表达式 m)
语句块 m;
else
语句块 n;
当if表达式的值为真时,执行if语句块,否则执行else语句块。
语句块中也可嵌套一个或多个if语句。
2.2 switch语句
一般形式:
switch (表达式)
{
case 常量表达式 1:
语句块 1;
case 常量表达式 2:
语句块 2;
...
case 常量表达式 n:
语句块 n;
default:
默认语句块;
}
先计算表达式的值 ,然后逐个与每个case后的常量表达式的值相比较,当相等时,则停止判断,该case的语句块及其后的所有case的语句块都会执行。如果表达式的值与所有case的常量表达式都不相同,则执行default后的默认语句块。
当在某个case分支的语句块后加了break,则该case的语句块执行完成后就跳出switch结构,终止switch语句的执行。
例如:
#include <stdio.h>
main()
{
char grade = 'B';
switch (grade)
{
case 'A': printf("perfect!\n");
case 'B': printf("great\n"); //this line will be printed
case 'C': printf("yes\n"); //this line will be printed
break;
case 'D': printf("pass\n");
case 'E':
default: printf("invalid\n");
}
printf("Your result is: %c\n", grade); //Your result is: B
}
运行结果:
2 循环语句
2.1 while语句
一般形式:
while (表达式)
{
循环体语句
}
当表达式的值为非0时,执行while的循环体语句,然后再判断表达式的值,再执行循环体语句,循环往复,当表达式的值为0时,则跳出while语句,终止while循环。
2.2 do while语句
一般形式:
do
{
循环体语句
}
while (表达式);
先执行do的循环体语句,再判断while表达式的值,当为非0(真)时,重新执行do的循环体语句,再判断while表达式的值,如此循环往复,直到while表达式的值为0时,循环终止。
while与do while的区别:
while的循环体语句不是一定会被执行,而do while中的循环体语句一定至少执行一次。
2.3 for语句
一般形式:
for (表达式 1; 表达式 2; 表达式 3)
{
循环体语句
}
执行过程:
表达式 1,表达式 2,表达式 3都可以省略。当表达式 2省略时,即为不判断循环条件,循环会无终止地进行下去,需要在循环体语句中使用break语句来跳出循环,以避免死循环。
关于循环:
1. for()当中必须是两个分号
2. 循环一定要有结束条件
3. do-while()的最后一个while();的分号一定不能丢,do-while()是至少执行一次循环
3 goto语句
一般形式:
goto 语句标号;
其中,语句标号是按标识符规定书写的符号,放在某一语句行的前面,标号后加冒号(:)。
用途:
- 与if语句一起构成循环体结构
- 从循环体中跳转到循环体外。
例如:
#include <stdio.h>
main()
{
for (int i = 1; i < 10; i++)
{
if (i > 6)
goto Show;
printf("i = %d\n", i);
}
Show:
printf("This is the show message.");
}
运行结果:
4 break语句和continue语句
语句 | 用途 |
break | 用在switch语句和循环语句中。终止当前语句,转去执行语句后面的程序。 |
continue | 用在循环语句中。终止当前循环,进入下一个循环。 |