![C++从零开始学(视频教学版)(第2版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/128/29977128/b_29977128.jpg)
5.2 条件判断语句
本节介绍条件判断语句,根据条件判断语句判断给定的条件是否满足,并根据判定的结果来判断哪些语句执行,哪些语句不执行。
5.2.1 if条件
if语句,顾名思义,判断if后面的条件是否为真,如果为真,就执行某一指定程序段,否则跳过该段程序代码,如图5-2所示。
![](https://epubservercos.yuewen.com/A8BCBE/16499866604816706/epubprivate/OEBPS/Images/Figure-P92_12058.jpg?sign=1739005077-ErnnWusTYLabvSYToqZ6WGAbjfq2ijro-0-80c696604a3efd36fee24a2c9778a3c4)
图5-2 if语句
![](https://epubservercos.yuewen.com/A8BCBE/16499866604816706/epubprivate/OEBPS/Images/Figure-P93_12189.jpg?sign=1739005077-1CNdNuCjkzLyZSHBTr5KHvVFxfR3BpGf-0-e4d82c4dfd2e2ca239bcc1e380a9c40b)
图5-2 代码运行结果
if语句格式:
![](https://epubservercos.yuewen.com/A8BCBE/16499866604816706/epubprivate/OEBPS/Images/Figure-P92_12174.jpg?sign=1739005077-82tHQObi5mX7kBqnbRNpeim1IRbdWsBN-0-131a9ba2547e74a7bb7d0a5e79f28904)
提示
if语句有的时候很特殊,只有一个变量可以作为条件,一个定义语句或赋值语句也可以作为条件,因为C++表达式大多数是有值的,有值表达式都可以作为条件。
下面通过一个实例来说明if条件的使用方法。
【实例5-2】if判断语句(代码5-2.txt)
新建名为“tjtest”的【C++ Source File】源程序,源代码如下所示:
![](https://epubservercos.yuewen.com/A8BCBE/16499866604816706/epubprivate/OEBPS/Images/Figure-P92_12178.jpg?sign=1739005077-LC7agXLLO3r1R9mfxG4HoAvAxDa7uSz5-0-acb558f033c785115ae81c9c8bdd67a5)
【代码详解】
首先,在主程序中定义了int型变量a,从屏幕上输入变量a,通过if语句判断a是否小于0,如果a小于0,就在屏幕上输出负数。
运行结果如图5-3所示。
【实例分析】
在本例中可以看出,输入数字-100,程序通过if语句判断-100<0,若满足该条件,则输出“负数”。
5.2.2 if-else条件
if-else的意思就是,判断if后面的表达式是否为真,如果表达式为真,就执行分支语句1;如果表达式为假,就执行分支语句2,如图5-4所示。
![](https://epubservercos.yuewen.com/A8BCBE/16499866604816706/epubprivate/OEBPS/Images/Figure-P93_12195.jpg?sign=1739005077-EehdNz7ioo9YMTIB6XybLFGOB13be2L1-0-1302a3cbfb8ab108e348c08510ecdcc6)
图5-4 if-else语句
if…else的语法格式如下:
![](https://epubservercos.yuewen.com/A8BCBE/16499866604816706/epubprivate/OEBPS/Images/Figure-P93_12273.jpg?sign=1739005077-JD9yn2pxoI61N7z4TK6Oc3fGMCnj1ThW-0-fa3f9bf200b53aba373bff918a3fbdaf)
提示
多个if语句嵌套else的情况下,C++规定,else和最近的if匹配。
下面通过一个实例来说明如何使用if-else。
【实例5-3】if-else(代码5-3.txt)
新建名为“ifetest”的【C++ Source File】源程序,源代码如下所示:
![](https://epubservercos.yuewen.com/A8BCBE/16499866604816706/epubprivate/OEBPS/Images/Figure-P94_12410.jpg?sign=1739005077-K6pr27j8UAYjmedXnFhTvT93yEjJjhOz-0-e7632b009a7680b057f4802df5f8a0f5)
【代码详解】
这个程序首先定义了一个int型变量num,从屏幕上输入num。使用if条件判断,如果num被2整除0,就输出该数为偶数,否则输出为奇数。
运行结果如图5-5所示。
![](https://epubservercos.yuewen.com/A8BCBE/16499866604816706/epubprivate/OEBPS/Images/Figure-P94_12369.jpg?sign=1739005077-ohraqi3zEPh6D22QJTeLKs3oONfHp1GB-0-8bd8cad36bf0cfa99de914b51c4d723c)
图5-5 代码运行结果
【实例分析】
从结果来看,输入一个数值为27。因为27除以2的余数不为0,所以,在屏幕上输出该数为奇数。
5.2.3 条件运算符
if语句在某些情况下,可以简化为条件运算符形式“?:”。
![](https://epubservercos.yuewen.com/A8BCBE/16499866604816706/epubprivate/OEBPS/Images/Figure-P94_12379.jpg?sign=1739005077-eWNuFy1tHJB3a8dHtRK0Tmde1acglv3Z-0-8624bc9ad1346d83798da740d767b3aa)
如果条件为真,就执行表达式1,否则执行表达式2。
提示
条件运算符的优先级比较低,所以整个条件运算符要带上括号。
下面通过一个实例来说明条件运算符的使用方法。
【实例5-4】条件运算符(代码5-4.txt)
新建名为“smtest”的【C++ Source File】源程序,源代码如下所示:
![](https://epubservercos.yuewen.com/A8BCBE/16499866604816706/epubprivate/OEBPS/Images/Figure-P95_12502.jpg?sign=1739005077-wd8u9e4f58BEHI66XdT0dAqNsIXkdUph-0-2ee5c852a377c7b5e9978d9cc99888ac)
【代码详解】
在这个例子中,首先定义了int型变量a、b、c,通过cin语句输入a和b的值。通过条件判断表达式给c赋值为a和b中较大的值,然后输出c值,即a和b中较大的值。
运行结果如图5-6所示。
![](https://epubservercos.yuewen.com/A8BCBE/16499866604816706/epubprivate/OEBPS/Images/Figure-P95_12496.jpg?sign=1739005077-V5Jim9NjUeVFJxsoO8fXJCwd5uANOgOB-0-e3a23be87c07487131400075d25eed22)
图5-6 代码运行结果
【实例分析】
从结果来看,通过条件运算符实现了对输入的两个数a和b比较大小。