C++ 条件语句
在编程中,我们经常需要根据不同的条件执行不同的代码块。C++提供了多种条件语句,允许程序根据特定条件的真假来选择执行路径。本文将全面介绍C++中的条件语句,帮助初学者掌握这一基本且重要的编程概念。
什么是条件语句?
条件语句是控制程序流程的基本结构,它根据给定条件的评估结果(真或假)来决定执行哪部分代码。在C++中,主要的条件语句包括:
if
语句if-else
语句if-else if-else
嵌套语句switch
语句
if 语句
if
语句是最简单的条件语句,当指定条件为真时,执行代码块。
语法
if (条件) {
// 当条件为真时执行的代码
}
示例
#include <iostream>
using namespace std;
int main() {
int age = 18;
if (age >= 18) {
cout << "你已经成年了!" << endl;
}
return 0;
}
输出:
你已经成年了!
在这个例子中,因为 age
的值是 18,满足条件 age >= 18
,所以 if
块内的代码被执行。
提示
条件语句中的条件必须产生布尔值(true
或 false
)。在C++中,非零值被视为 true
,零被视为 false
。
if-else 语句
if-else
语句提供了一个二选一的结构:当条件为真时执行一段代码,否则执行另一段代码。
语法
if (条件) {
// 当条件为真时执行的代码
} else {
// 当条件为假时执行的代码
}
示例
#include <iostream>
using namespace std;
int main() {
int number = 7;
if (number % 2 == 0) {
cout << number << " 是偶数。" << endl;
} else {
cout << number << " 是奇数。" << endl;
}
return 0;
}
输出:
7 是奇数。
在这个例子中,因为 7 不能被 2 整除,所以条件 number % 2 == 0
为假,程序执行 else
块内的代码。
if-else if-else 嵌套语句
当需要检查多个条件时,可以使用 if-else if-else
结构。
语法
if (条件1) {
// 当条件1为真时执行的代码
} else if (条件2) {
// 当条件1为假且条件2为真时执 行的代码
} else if (条件3) {
// 当条件1和条件2均为假且条件3为真时执行的代码
} else {
// 当以上所有条件均为假时执行的代码
}
示例
#include <iostream>
using namespace std;
int main() {
int score = 75;
if (score >= 90) {
cout << "成绩等级:A" << endl;
} else if (score >= 80) {
cout << "成绩等级:B" << endl;
} else if (score >= 70) {
cout << "成绩等级:C" << endl;
} else if (score >= 60) {
cout << "成绩等级:D" << endl;
} else {
cout << "成绩等级:F" << endl;
}
return 0;
}
输出:
成绩等级:C
在这个例子中,分数是 75,它不满足前两个条件,但满足第三个条件 score >= 70
,因此输出对应的等级 C。
警告
在 if-else if-else
结构中,一旦某个条件为真并执行了对应的代码块,后续的条件将不再被检查。
嵌套的 if 语句
在C++中,可以在一个条件语句内部放置另一个条件语句,这种结构称为嵌套的 if 语句。
语法
if (条件1) {
// 外部if的代码
if (条件2) {
// 嵌套if的代码
}
}
示例
#include <iostream>
using namespace std;
int main() {
int age = 25;
bool hasLicense = true;
if (age >= 18) {
cout << "你已经成年了。" << endl;
if (hasLicense) {
cout << "你可以开车。" << endl;
} else {
cout << "你需要考取驾照才能开车。" << endl;
}
} else {
cout << "你还未成年,不能开车。" << endl;
}
return 0;
}
输出:
你已经成年了。
你可以开车。
在这个例子中,首先检查年龄是否达到18岁,然后在满足这个条件的情况下,进一步检查是否拥有驾照。
switch 语句
switch
语句是一种多分支选择结构,适用于根据一个表达式的值进行多路分支。