![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=1739035410-omHDb1ykq3QfWelHyLbFNY2TJRSxdeIV-0-d46270f27f03b5468fce9919d863c003)
图5-2 if语句
![](https://epubservercos.yuewen.com/A8BCBE/16499866604816706/epubprivate/OEBPS/Images/Figure-P93_12189.jpg?sign=1739035410-WLxOltH75pwpA36xSq4O5rjrRY73C8Ca-0-c557153c199ab98a1d0ec7013e69859d)
图5-2 代码运行结果
if语句格式:
![](https://epubservercos.yuewen.com/A8BCBE/16499866604816706/epubprivate/OEBPS/Images/Figure-P92_12174.jpg?sign=1739035410-h3WW1dNjGnKUBkEFE3EqBxUs3mUyxC3w-0-0f93fb7da0f8c585e953ad7dad2a4b55)
提示
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=1739035410-mMbZKXcjWgLcXkzZuLjWF4BXnLpQeEJa-0-7cbb1cceff17e5ef77c14969550a0756)
【代码详解】
首先,在主程序中定义了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=1739035410-UpA39yAunGoQ1Xe0EIWXJkcmzrSQEV91-0-ceb0733a33b56430078886f63b4cd7ef)
图5-4 if-else语句
if…else的语法格式如下:
![](https://epubservercos.yuewen.com/A8BCBE/16499866604816706/epubprivate/OEBPS/Images/Figure-P93_12273.jpg?sign=1739035410-Kzvn2jysUPpUJLIa3X3cmBYpW8ObRW8e-0-46e0e4c619268fb1aa0ad1bcd2b47779)
提示
多个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=1739035410-REGU3eleVeaCKBHvVKmfAHoSnj3Yi2AN-0-9c903079c6d972fed116c04dd4661359)
【代码详解】
这个程序首先定义了一个int型变量num,从屏幕上输入num。使用if条件判断,如果num被2整除0,就输出该数为偶数,否则输出为奇数。
运行结果如图5-5所示。
![](https://epubservercos.yuewen.com/A8BCBE/16499866604816706/epubprivate/OEBPS/Images/Figure-P94_12369.jpg?sign=1739035410-OwVRw2jV4NKRF85DZVbW3p4a7RSovex6-0-4ef27b8214630c59f167ee2e301ee44d)
图5-5 代码运行结果
【实例分析】
从结果来看,输入一个数值为27。因为27除以2的余数不为0,所以,在屏幕上输出该数为奇数。
5.2.3 条件运算符
if语句在某些情况下,可以简化为条件运算符形式“?:”。
![](https://epubservercos.yuewen.com/A8BCBE/16499866604816706/epubprivate/OEBPS/Images/Figure-P94_12379.jpg?sign=1739035410-zmdhJiXvv46DsLenrYnygRoXf1ET7dXl-0-1c048b463bde032b09b7140d0722b24a)
如果条件为真,就执行表达式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=1739035410-vqKuRQlgPrCPyzKZEv0gBTlND1iS0GHM-0-1331d8ac11ed905b2bcbbefc0dfb5a54)
【代码详解】
在这个例子中,首先定义了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=1739035410-y5BSh245cKjlGK6k2zfftnAJcyOYdhLp-0-e6e634ecb3b9cdce00a39bfb0d4fdf4a)
图5-6 代码运行结果
【实例分析】
从结果来看,通过条件运算符实现了对输入的两个数a和b比较大小。