![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=1739690375-dvmWwUDiW6gBxyrQeQt9hgoZXMIpbE0z-0-9feb7563a22af4d03e6cac91338d948e)
图5-2 if语句
![](https://epubservercos.yuewen.com/A8BCBE/16499866604816706/epubprivate/OEBPS/Images/Figure-P93_12189.jpg?sign=1739690375-EhjvhQBxPZjbObu9RbQw44XUqBMoqXjg-0-3cb871971327f79b196d842f4a8ade77)
图5-2 代码运行结果
if语句格式:
![](https://epubservercos.yuewen.com/A8BCBE/16499866604816706/epubprivate/OEBPS/Images/Figure-P92_12174.jpg?sign=1739690375-hvW1TAtBJJWE93Si734szwqQ9zzlPK5h-0-88d887fead62569c43a1f80774ad5c04)
提示
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=1739690375-AjXBM8omIQuk9rH5Y2qFmMX5MDUhlSsX-0-a89f090a24d2ebb4dc54208f5248a03a)
【代码详解】
首先,在主程序中定义了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=1739690375-sH41KEHahgx7ScmszEwWvW07rUql3caa-0-381720d380048698163f7be43b9bda0a)
图5-4 if-else语句
if…else的语法格式如下:
![](https://epubservercos.yuewen.com/A8BCBE/16499866604816706/epubprivate/OEBPS/Images/Figure-P93_12273.jpg?sign=1739690375-WBPtYpU4MuZdFgeCqveowgvfaPsfvz6f-0-c11a800e3d74e786eee69969a66d8748)
提示
多个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=1739690375-Bu3d6naxMwUCkTBI5KBxsIq575Q4v9zq-0-febd020f60c7f1e870a94ce2c9fc77b6)
【代码详解】
这个程序首先定义了一个int型变量num,从屏幕上输入num。使用if条件判断,如果num被2整除0,就输出该数为偶数,否则输出为奇数。
运行结果如图5-5所示。
![](https://epubservercos.yuewen.com/A8BCBE/16499866604816706/epubprivate/OEBPS/Images/Figure-P94_12369.jpg?sign=1739690375-vaCMy3lGbIoXP1kL0VYY4531mcpVOAy9-0-38ac590b9eccf870562eb086a1973e97)
图5-5 代码运行结果
【实例分析】
从结果来看,输入一个数值为27。因为27除以2的余数不为0,所以,在屏幕上输出该数为奇数。
5.2.3 条件运算符
if语句在某些情况下,可以简化为条件运算符形式“?:”。
![](https://epubservercos.yuewen.com/A8BCBE/16499866604816706/epubprivate/OEBPS/Images/Figure-P94_12379.jpg?sign=1739690375-mey94JMdaszLZ8AIyHpvPIKUlS5rgqgx-0-4b1f075b7ee95ce1080c1128390ab691)
如果条件为真,就执行表达式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=1739690375-KKadzpHswNBNhaFjY6DDkxdIgZUrclPP-0-788f9dc946570543917aff7b4aed0926)
【代码详解】
在这个例子中,首先定义了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=1739690375-xRU9alXdQK0U0q73q8W1CVxcEu7ebJGQ-0-f34d284cb547257d8b981c0d3506030d)
图5-6 代码运行结果
【实例分析】
从结果来看,通过条件运算符实现了对输入的两个数a和b比较大小。