问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

C++ if, if...else和嵌套if...else

创作时间:
作者:
@小白创作中心

C++ if, if...else和嵌套if...else

引用
1
来源
1.
https://www.cainiaoplus.com/cpp/cpp-if-else.html

在C++编程中,if语句、if...else语句以及嵌套if...else语句是实现程序控制结构的基础。本文将通过详细的代码示例和流程图,帮助读者理解这些控制结构的工作原理和应用场景。

C++ if语句

if语句的基本语法如下:

if (testExpression) 
{
 // 如果testExpression为真将执行的语句
}

if语句在括号内评估testExpression。如果testExpression的计算结果为true,则执行if主体内的语句;如果testExpression的计算结果为false,则跳过if主体内部的语句。

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
这个语句总是被执行。

输出2

输入一个整数: -5
这个语句总是被执行。

C++ if...else语句

if...else语句根据测试表达式(testExpression)的真假来决定执行if语句的主体还是else语句的主体。

if...else语句如何工作?

示例2:C++ if...else语句

下面的示例程序检查整数是正数还是负数(将0视为正数)。

//程序检查整数是正数还是负数
//该程序将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;
}

输出结果

输入一个整数: -4
您输入了一个负整数: -4.
此行始终被打印。

C++ 嵌套if...else语句

当需要从多种可能性中进行选择时,可以使用嵌套if...else语句。

嵌套if...else的语法

if (testExpression1) 
{
 // 如果testExpression1为真,则执行语句
}
else if(testExpression2) 
{
 // 如果testExpression1为假,testExpression2为真,则执行的语句
}
else{
 if (testExpression 3) 
 {
 // 如果testExpression1和testExpression2为假,testExpression3为真,则执行的语句
 }
 else 
 {
 // 如果所有测试表达式均为假,将执行的语句
 }
}

示例3:C++ if...else嵌套

下面的示例程序检查一个整数是正、负还是零。

// 程序检查一个整数是正、负还是零
#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 << "This line is always printed.";
 return 0;
}

输出结果

输入一个整数: 0
您输入了0。
这一行总是打印出来的。

条件/三元运算符(?:)

三元运算符可以代替if...else语句来使用,使代码更简洁。

例如,以下if代码:

if ( a < b ) {
 a = b;
}
else {
 a = -b;
}

可以使用三元运算符重写为:

a = (a < b) ? b : -b;

三元运算符比if...else条件语句更短更具可读性。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号