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

本文详细解释了C++中的if语句、if...else结构以及它们的嵌套使用方法,包括流程图示例,并介绍了条件表达式和三元运算符作为简洁的替代方案。
摘要由CSDN通过智能技术生成

C ++ if语句

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

if语句在括号内评估testExpression。

如果testExpression的计算结果为true,则执行if主体内的语句。

如果testExpression的计算结果为false,则跳过if主体内部的语句。

if语句如何工作?

C ++编程中if语句的工作

if语句流程图

C ++编程中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 语句

如果测试表达式(test Expression)为true,则if...else在if语句的主体内执行代码,并跳过else主体内部的代码。

如果测试表达式(test Expression)为false,则在else语句主体内执行代码,并跳过if主体内的代码。

if.. else语句如何工作?

C ++编程中if else语句的工作

if ... else的流程图

C ++编程中if ... else语句的流程图

示例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;
}

输出结果

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

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

if...else语句执行两个不同的代码,具体取决于测试表达式(Test expression)为true还是false。有时,必须从两种以上的可能性中进行选择。

使用嵌套if...else语句,您可以检查多个测试表达式(Test expression)并针对两个以上的条件执行不同的代码。

这意味着您可以在一个 if 或 else if 语句内使用另一个 if 或 else if 语句。

嵌套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。
这一行总是打印出来的。

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

三元运算符对3个操作数进行运算,可以代替if...else语句来使用。

以下if代码:

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

您可以使用三元运算将以上代码替换为:

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

gzxgyzbb

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值