C++ if、if...else和嵌套if...else
提示
- if、if...else 和嵌套if...else语句:C++使用
if...else语句在不同条件下运行不同的代码块,包括if语句、if...else语句和if...else if...else语句。 - 条件判断和执行:
if语句根据条件判断结果来执行代码块。若条件为真,执行if内的代码;若为假,跳过if内的代码。if...else语句在条件为假时执行else内的代码块。 - 嵌套if语句的使用:嵌套
if语句允许在一个if语句内部使用另一个if语句,以处理更复杂的逻辑判断。这些语句可以包含else和else if部分,并且可以嵌套多层。
在计算机编程中,我们使用 if...else 语句在某些条件下运行一段代码,在其他条件下运行另一段代码。
例如,根据学生获得的成绩分配成绩(A、B、C)。
- 如果百分比超过 90,则分配成绩 A
- 如果百分比超过 75,则分配成绩 B
- 如果百分比超过 65,则分配成绩 C
C++ 中有三种形式的 if...else 语句。
if语句if...else语句if...else if...else语句
C++ if 语句
if 语句的语法是:
if (condition) {
// if 语句的主体
}
if 语句评估括号 ( ) 中的 condition。
- 如果
condition评估为true,if的主体中的代码将被执行。 - 如果
condition评估为false,if的主体中的代码将被跳过。
注意: { } 中的代码是 if 语句的主体。

示例 1:C++ if 语句
// 程序用于输出用户输入的正数
// 如果用户输入负数,则跳过
#include <iostream>
using namespace std;
int main() {
int number;
cout << "输入一个整数: ";
cin >> number;
// 检查数字是否为正数
if (number > 0) {
cout << "您输入的是一个正整数: " << number << endl;
}
cout << "这条语句总是执行。";
return 0;
}
输出 1
输入一个整数: 5
您输入的是一个正数: 5
这条语句总是执行。
当用户输入 5 时,条件 number > 0 被评估为 true,if 的主体中的语句被执行。
输出 2
输入一个整数: -5
这条语句总是执行。
当用户输入 -5 时,条件 number > 0 被评估为 false,if 的主体中的语句未被执行。
C++ if...else
if 语句可以有一个可选的 else 子句。其语法是:
if (condition) {
// 如果条件为真,则执行的代码块
}
else {
// 如果条件为假,则执行的代码块
}
if..else语句会计算括号内的condition。

如果condition计算结果为true,
if的主体中的代码将被执行else的主体中的代码将被跳过不执行
如果condition计算结果为false,
else的主体中的代码将被执行if的主体中的代码将被跳过不执行
示例 2:C++ if...else 语句
// 程序用于检查整数是正数还是负数
// 该程序将0视为正数
#include <iostream>
using namespace std;
int main() {
int number;
cout << "输入一个整数: ";
cin >> number;
if (number >= 0) {
cout << "您输入的是正整数: " << number << endl;
}
else {
cout << "您输入的是负整数: " << number << endl;
}
cout << "这行总是被打印.";
return 0;
}
输出 1
输入一个整数: 4
您输入的是正整数: 4.
这行总是被打印.
在上述程序中,我们有条件number >= 0。如果我们输入的数字大于或等于0,那么条件的计算结果为true。
这里,我们输入了4。所以条件为true。因此,if主体内的语句被执行。
输出 2
输入一个整数: -4
您输入的是负整数: -4.
这行总是被打印.
这里,我们输入了-4。所以条件为false。因此,else主体内的语句被执行。
C++ if...else...else if 语句
if...else语句用于在两个选择之间执行代码块。然而,如果我们需要在两个以上的选择中做出选择,我们使用if...else if...else语句。
if...else if...else语句的语法是:
if (condition1) {
// 代码块 1
}
else if (condition2){
// 代码块 2
}
else {
// 代码块 3
}
这里,
- 如果
condition1计算结果为true,则执行代码块 1。 - 如果
condition1计算结果为false,则计算condition2。 - 如果
condition2为true,则执行代码块 2。 - 如果
condition2为false,则执行代码块 3。

注意: 可以有多个else if语句,但只能有一个if和else语句。
示例 3:C++ if...else...else if
// 程序用于检查整数是正数、负数还是零
#include <iostream>
using namespace std;
int main() {
int number;
cout << "输入一个整数: ";
cin >> number;
if (number > 0) {
cout << "您输入的是正整数: " << number << endl;
}
else if (number < 0) {
cout << "您输入的是负整数: " << number << endl;
}
else {
cout << "您输入的是0." << endl;
}
cout << "这行总是被打印.";
return 0;
}