C++ if else判断语句详解
所谓判断语句,也叫分支语句,指的是根据预设的条件,选择不同的语句序列执行。
在 C++ 程序中,“条件”就是一个表达式,它的结果是一个 bool 值或者某个整数值。在程序执行的过程中,如果某个条件得到了满足,或者不满足,那么程序就会沿着相应的语句序列顺序执行下去。
if 语句的结构如下:
举个简单的例子:
第二次执行程序,age 的值为 10,if 语句的条件表达式 10>18 不成立,结果为 false,所以不执行 if 语句块内的代码。
if else的语法结构如下:
例如:
也就是说,一旦遇到能够成立的判断条件,则不再执行其他的语句块,所以最终只能有一个语句块被执行。
例如,利用多个 if else 结构判断气温:
在嵌套的 if else 语句中,相配的 if 和 else 不是靠缩进决定的,遵循的规则是:else 和最后出现、并且没有匹配的 if 相匹配。
例如在上述例子中,相互匹配的 if 和 else 分别是:
举个简单的例子:
了解并掌握 if else 语句的使用是成为有效 C++ 程序员的关键步骤。这个强大的工具允许程序在运行时做出决策,从而使代码能够适应不同的情况和需求。
在 C++ 程序中,“条件”就是一个表达式,它的结果是一个 bool 值或者某个整数值。在程序执行的过程中,如果某个条件得到了满足,或者不满足,那么程序就会沿着相应的语句序列顺序执行下去。
if语句
if 语句允许你根据某个条件执行代码块。如果条件为真,则执行if语句块内的代码。if 语句的结构如下:
if(条件表达式) { //语句 1; } //语句 2;执行 if 语句时,如果条件表达式的结果为非 0 值(true),则执行 if 语句块内的代码(用语句 1 表示);反之,如果条件表达式的结果为 0(false),则跳过 if 语句块内的代码,继续执行后续的代码(用语句 2 表示)。
举个简单的例子:
#include <iostream> int main() { int age; std::cin >> age; if (age > 18) { std::cout << "你成年了,"; } std::cout << age << "岁了" << std::endl; return 0; }执行程序:
20
你成年了,20岁了
10
10岁了
第二次执行程序,age 的值为 10,if 语句的条件表达式 10>18 不成立,结果为 false,所以不执行 if 语句块内的代码。
if else语句
if 语句的语义是“如果……,则……”,C++ 还提供了一个 if else 语句,它的语义是“如果……,则……;否则……”。if else的语法结构如下:
if(条件表达式) { //语句 1; } else { //语句 2; } //语句 3;如果条件表达式的结果为非 0 值(true),则执行语句 1 和语句 3;否则,执行语句 2 和语句 3。
例如:
#include <iostream> int main() { int age; std::cin >> age; if (age > 18) { std::cout << "你成年了,"; } else { std::cout << "你还未成年,"; } std::cout << age << "岁了" << std::endl; return 0; }执行程序:
20
你成年了,20岁了
10
你还未成年,10岁了
多个if else语句
对于多个条件,可以使用多个 if else 结构来处理。if(判断条件1){ 语句块 1; }else if(判断条件 2){ 语句块 2; }else if(判断条件 3){ 语句块 3; }else if(判断条件 m){ 语句块 m; }else{ 语句块 n; }意思是,从上到下依次检测判断条件,当某个判断条件成立时,则执行其对应的语句块,然后跳到整个 if else 语句之外继续执行其他代码。如果所有判断条件都不成立,则执行语句块 n,然后继续执行后续代码。
也就是说,一旦遇到能够成立的判断条件,则不再执行其他的语句块,所以最终只能有一个语句块被执行。
例如,利用多个 if else 结构判断气温:
#include <iostream> int main() { int temperature; std::cin >> temperature; if (temperature > 30) { std::cout << "天气炎热,"; } else if (temperature > 15) { std::cout << "天气适中,"; } else { std::cout << "天气寒冷,"; } std::cout << "感谢使用" << std::endl; return 0; }执行程序:
32
天气炎热,感谢使用
嵌套的if else语句
所谓嵌套,指的是 if else 结构中的语句块可以是另外一个 if else 语句。例如:if(条件表达式 1) { if(条件表达式 2) { //语句 1; } else { //语句 2; } } else { if(条件表达式 3) { //语句 3; } else { //语句 4; } } //语句 5;其中的每个语句又可以是一个 if else 结构,依次类推。
在嵌套的 if else 语句中,相配的 if 和 else 不是靠缩进决定的,遵循的规则是:else 和最后出现、并且没有匹配的 if 相匹配。
例如在上述例子中,相互匹配的 if 和 else 分别是:
- 第 7 行的 else 和第 3 行的 if(飘绿);
- 第 12 行的 else 和第 1 行的 if(飘红);
- 第 18 行的 else 和第 14 行的 if(飘蓝)。
举个简单的例子:
#include <iostream> int main() { int number; std::cin >> number; std::cout << number; if (number > 0) { std::cout << " 是正数,而且是"; if (number % 2 == 0) { std::cout << "正偶数。"; } else { std::cout << "正奇数。"; } } else { std::cout << "是负数。"; } return 0; }运行结果为:
10
10 是正数,而且是正偶数。
总结
C++ 中的 if else 判断语句是程序逻辑和流程控制的核心。从简单的条件检查到复杂的多分支判断,if else 语句为程序提供了灵活性和响应能力。了解并掌握 if else 语句的使用是成为有效 C++ 程序员的关键步骤。这个强大的工具允许程序在运行时做出决策,从而使代码能够适应不同的情况和需求。