一、分支语句
C语言的分支语句主要包括if语句、switch语句和跳转语句。这些语句允许我们根据特定条件执行不同代码块,实现程序的逻辑分支。
- if语句
if语句是C语言中最基本的分支语句,它根据给定的条件进行判断,如果条件为真(非零),则执行if语句后面的代码块。例如:
int a = 5;
if (a > 3) {
printf("a is greater than 3\n");
}
在上述代码中,如果变量a的值大于3,则打印出"a is greater than 3"。
2.if...else语句
if...else语句允许我们在条件为假时执行另一段代码。例如:
int a = 5;
if (a > 8) {
printf("a is greater than 8\n");
} else {
printf("a is not greater than 8\n");
}
在上述代码中,如果变量a的值大于8,则打印出"a is greater than 8";否则,打印出"a is not greater than 8"。
- switch语句
switch语句允许我们根据表达式的值执行不同的代码块。例如:
int day = 2;
switch (day) {
case 1:
printf("Monday\n");
break;
case 2:
printf("Tuesday\n");
break;
case 3:
printf("Wednesday\n");
break;
default:
printf("Another day\n");
}
在上述代码中,根据变量day的值,switch语句将执行相应的case代码块。如果day的值为1,则打印出"Monday";如果day的值为2,则打印出"Tuesday";以此类推。如果day的值不匹配任何case,则执行default代码块,打印出"Another day"。
二、循环语句
循环语句允许我们重复执行同一段代码,直到满足特定条件时停止循环。C语言提供了多种循环控制语句,包括for循环、while循环和do...while循环。
- for循环
for循环允许我们指定一个计数器变量和一系列条件,在满足条件时重复执行循环体。例如:
for (int i = 0; i < 10; i++) {
printf("%d ", i);
}
在上述代码中,for循环将从0到9依次打印出每个数字。每次循环中,计数器变量i递增1,当i的值大于等于10时,循环终止。
2. while循环和do...while循环
- while循环
while循环允许我们根据给定的条件重复执行代码块。例如:
int i = 0;
while (i < 10) {
printf("%d ", i);
i++;
}
在上述代码中,只要变量i的值小于10,就会重复执行循环体,打印出变量i的当前值,并将i递增1。当i的值达到10时,循环终止。
2.do...while循环
do...while循环与while循环类似,但它会先执行一次循环体,然后再判断条件是否满足。例如:
int i = 0;
do {
printf("%d ", i);
i++;
} while (i < 10);
在上述代码中,先执行一次循环体,打印出变量i的当前值,并将i递增1。然后判断变量i的值是否小于10,如果小于10,则继续执行循环体;否则,循环终止。
三、continue与break
1. continue语句
continue
语句在C语言中用于跳过当前循环的剩余部分,直接开始下一次循环。当遇到continue
语句时,程序会忽略掉其后面的代码块,并立即回到循环的顶部,开始下一轮循环。
例如:
for (int i = 0; i < 10; i++) {
if (i == 5) {
continue; // 当i等于5时,下面的代码被忽略,直接开始下一次循环
}
printf("%d ", i);
}
在这个例子中,当i
等于5时,continue
语句将被执行,因此不会执行printf
函数,并且直接开始下一次循环。因此,输出结果为:0 1 2 3 4 6 7 8 9。
2. break语句
break
语句在C语言中用于终止当前循环或switch语句,并跳出该控制结构。当遇到break
语句时,程序会立即跳出当前的循环或switch语句,并继续执行后面的代码。
例如:
for (int i = 0; i < 10; i++) {
if (i == 5) {
break; // 当i等于5时,结束循环
}
printf("%d ", i);
}
在这个例子中,当i
等于5时,break
语句将被执行,因此循环将被立即终止。因此,输出结果为:0 1 2 3 4。