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++ 程序员的关键步骤。这个强大的工具允许程序在运行时做出决策,从而使代码能够适应不同的情况和需求。
ICP备案:
公安联网备案: