C语言的控制语句
C的控制语句
控制语句是C语言中用于控制程序执行流程的结构。通过控制语句,可以根据条件执行不同的代码块,或者重复执行某些操作,从而实现复杂的逻辑和功能。掌握控制语句是编写有效和高效C程序的关键。
1 条件控制
条件控制语句用于根据某些条件来决定程序的执行路径。C语言提供了多种条件控制结构,包括if
语句、else if
语句和switch
语句。
1.1 if
语句
if
语句用于在条件为真时执行特定的代码块。它是最基本的条件控制语句。
语法:
if (条件) {// 条件为真时执行的代码
}
示例与详细说明:
#include <stdio.h>int main() {int num = 10;// 使用if语句判断num是否为正数if (num > 0) {printf("num 是一个正数。\n");}return 0;
}
输出:
num 是一个正数。
详细解释:
-
条件表达式:
num > 0
,如果num
大于0,条件为真(1),则执行if
块中的代码。 -
执行流程
:
- 计算条件
num > 0
。 - 如果条件为真,执行大括号
{}
内的代码。 - 如果条件为假,跳过
if
块中的代码。
- 计算条件
更多示例:
#include <stdio.h>int main() {int age = 18;// 判断是否成年if (age >= 18) {printf("你已成年,可以投票。\n");}return 0;
}
输出:
你已成年,可以投票。
1.2 else if
语句
else if
语句用于在第一个if
条件不满足时,提供多个条件判断的可能性。它允许在多个条件之间进行选择。
语法:
if (条件1) {// 条件1为真时执行的代码
} else if (条件2) {// 条件2为真时执行的代码
} else {// 所有条件都不满足时执行的代码
}
示例与详细说明:
#include <stdio.h>int main() {int score = 85;// 使用if-else if-else结构判断成绩等级if (score >= 90) {printf("成绩等级:A\n");} else if (score >= 80) {printf("成绩等级:B\n");} else if (score >= 70) {printf("成绩等级:C\n");} else if (score >= 60) {printf("成绩等级:D\n");} else {printf("成绩等级:F\n");}return 0;
}
输出:
成绩等级:B
详细解释:
- 条件判断顺序:
- 判断
score >= 90
,如果为真,输出A
并跳过后续条件。 - 如果上一个条件为假,判断
score >= 80
,如果为真,输出B
。 - 依此类推,直到最后的
else
块。
- 判断
- 执行流程:
- 依次检查每个
if
和else if
的条件。 - 当某个条件为真时,执行对应的代码块,并跳过剩余的条件检查。
- 如果所有条件都不满足,执行
else
块中的代码。
- 依次检查每个
更多示例:
#include <stdio.h>int main() {int temperature = 30;// 判断天气情况if (temperature > 30) {printf("天气非常热,适合游泳。\n");} else if (temperature > 20) {printf("天气温暖,适合户外活动。\n");} else if (temperature > 10) {printf("天气稍凉,适合散步。\n");} else {printf("天气寒冷,建议在室内活动。\n");}return 0;
}
输出:
天气温暖,适合户外活动。
1.3 switch
语句
switch
语句用于基于一个变量的不同值来执行不同的代码块。它通常用于替代多个if-else if
条件判断,使代码更加简洁和易读。
语法:
switch (表达式) {case 值1:// 当表达式等于值1时执行的代码break;case 值2:// 当表达式等于值2时执行的代码break;