C、C++控制语句关键字详解
控制语句关键字
下面是关于循环语句和条件语句的详细解释,包括特性、用法以及示例代码。我将注释来解释每个示例的执行流程,以及这些语句通常在哪些方面使用。
循环语句:
for
-
特性:
for
循环用于重复执行一段代码,通常在已知循环次数的情况下使用。 -
用法示例:
1
2
3
4for (int i = 0; i < 5; i++) { // 初始化;条件;迭代
// 循环体代码
printf("%d\n", i); // 打印当前循环次数
}示例中的
for
循环会执行5次。最终打印出0到4这五个数字:
0
1
2
3
4
for常用于在一个范围内进行循环。
while
-
特性:
while
循环用于根据条件重复执行一段代码,通常在循环次数不确定的情况下使用。 -
用法示例:
1
2
3
4
5
6int i = 0;
while (i < 5) { // 条件
// 循环体代码
printf("%d\n", i); // 打印当前循环次数
i++; // 迭代
}示例中的
while
循环会执行直到i
不再小于5为止。这个示例也会打印出0到4这五个数字。
while常用于需要不确定次数的循环。
do…while
-
特性:
do...while
循环与while
循环类似,不同之处在于它先执行一次循环体,然后再检查条件。 -
用法示例:
1
2
3
4
5
6int i = 0;
do {
// 循环体代码
printf("%d\n", i); // 打印当前循环次数
i++; // 迭代
} while (i < 5); // 条件示例中的
do...while
循环至少会执行一次循环体,然后重复执行,直到条件不再满足。这个示例也会打印出0到4这五个数字,但至少会执行一次循环体。
break
-
特性:
break
语句用于在循环内部提前退出循环,无论循环条件是否满足。 -
用法示例:
1
2
3
4
5
6for (int i = 0; i < 10; i++) {
if (i == 5) {
break; // 提前退出循环
}
printf("%d\n", i);
}示例中,当
i
等于5时,break
会终止整个for
循环的执行。break
通常用于退出循环,但也可以在switch
语句中用于终止case
分支的执行。
continue
-
特性:
continue
语句用于跳过当前循环的剩余代码,继续下一次循环。 -
用法示例:
1
2
3
4
5
6for (int i = 0; i < 5; i++) {
if (i == 2) {
continue; // 跳过i等于2的情况
}
printf("%d\n", i);
}示例中,当
i
等于2时,continue
会跳过当前循环,继续下一次。最终打印出:
0
1
3
4
条件语句:
if 和 else
-
特性:
if
用于执行条件为真时的代码块,else
用于执行条件为假时的代码块。 -
用法示例:
1
2
3
4
5
6int x = 10;
if (x > 5) { // 如果条件为真
printf("x大于5\n");
} else { // 如果上方if的条件为假
printf("x不大于5\n");
}if
和else
语句用于根据条件执行不同的代码块。这个示例中,由于
x
大于5,所以将执行if
块内的代码。可能你对if后大括号的添加与否有疑问,请查看C/C++的大括号是必须的部分吗?
else if
-
特性:
else if
用于在多个条件之间进行选择,如果前面的条件不满足,则继续检查下一个条件。 -
用法示例:
1
2
3
4
5
6
7
8int x = 10;
if (x > 15) {
printf("x大于15\n");
} else if (x > 10) {
printf("x大于10但不大于15\n");
} else {
printf("x不大于10\n");
}else if
允许你在多个条件之间选择执行,而不仅仅是真或假。这个示例中,由于
x
不大于15,所以将执行else if
的判断(x > 10),发现其判断依旧为false,将继续往后判断,发现最后为else语句,没有另外的判断条件,则最终会输出else部分的代码。
switch
-
特性:
switch
语句用于基于表达式的值选择执行不同的代码块。 -
用法示例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14int day = 3;
switch (day) {
case 1:
printf("星期一\n");
break;
case 2:
printf("星期二\n");
break;
case 3:
printf("星期三\n");
break;
default:
printf("其他\n");
}switch
语句基于day
的值选择执行不同的case
块。这个示例根据
day
的值执行不同的代码块。由于day
等于3,因此执行case 3:
必须使用
break
来防止执行其他case
块。你可以去掉
break
,然后运行以上部分代码,查看break
在switch
中的效果。
return
-
特性:
return
语句用于从函数中返回一个值,或提前退出函数。 -
用法示例:
1
2
3int add(int a, int b) {
return a + b; // 返回a和b的和
}return
用于将计算结果返回给调用函数,也可用于提前退出函数。
总结:
for
、while
、do...while
用于控制循环。break
用于退出循环。continue
用于跳过当前循环。if
和else
主要用于条件判断,switch
用于多条件选择。