![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=1738923896-GURoCR3RL8l6SmytJmvCyV3zjCyZe37Z-0-29ebadef0ebdf9986779833f1d26de28)
图5-2 if语句
![](https://epubservercos.yuewen.com/A8BCBE/16499866604816706/epubprivate/OEBPS/Images/Figure-P93_12189.jpg?sign=1738923896-fB3Nk60ZFegOHhALeVkfT6cMNUZ6bxLf-0-c0e24441abc897f8e344b054932802ee)
图5-2 代码运行结果
if语句格式:
![](https://epubservercos.yuewen.com/A8BCBE/16499866604816706/epubprivate/OEBPS/Images/Figure-P92_12174.jpg?sign=1738923896-cQPdVbqnjQi6pQuQNEzrD2HgrkSV8aAE-0-77fff9f4e64e54fc2449ccba201db080)
提示
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=1738923896-OGr272WwJVfuQNqnrluKrXvlFul46qlt-0-23ef20db607687f60ac7cd523507d072)
【代码详解】
首先,在主程序中定义了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=1738923896-PGD1rqwV7dmXlMLu4Kjpxylb6KLYTh3n-0-b2b12dbaa0e6d9354c300d6f0c834576)
图5-4 if-else语句
if…else的语法格式如下:
![](https://epubservercos.yuewen.com/A8BCBE/16499866604816706/epubprivate/OEBPS/Images/Figure-P93_12273.jpg?sign=1738923896-Rcw3vizZ916BDqrKn7yuUbX0BCAKr2JQ-0-a92423211a5b4271adafb2a055cc1f2d)
提示
多个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=1738923896-tITOlxFUutLMcAa3utMBLHhV5JrmQbPb-0-dc303af06ff45796dc02d2f2e88fa893)
【代码详解】
这个程序首先定义了一个int型变量num,从屏幕上输入num。使用if条件判断,如果num被2整除0,就输出该数为偶数,否则输出为奇数。
运行结果如图5-5所示。
![](https://epubservercos.yuewen.com/A8BCBE/16499866604816706/epubprivate/OEBPS/Images/Figure-P94_12369.jpg?sign=1738923896-LlpMz5PC9H9tbvUfzbZ66L3HWegCs4wU-0-ea3ae9d3106b7d5f016607253f8d60ce)
图5-5 代码运行结果
【实例分析】
从结果来看,输入一个数值为27。因为27除以2的余数不为0,所以,在屏幕上输出该数为奇数。
5.2.3 条件运算符
if语句在某些情况下,可以简化为条件运算符形式“?:”。
![](https://epubservercos.yuewen.com/A8BCBE/16499866604816706/epubprivate/OEBPS/Images/Figure-P94_12379.jpg?sign=1738923896-ePDXRVJyATI9zdWgXKE4ovmVrQzTahu8-0-1ad8bdd72f82aa6ea2f0fe68f9364e26)
如果条件为真,就执行表达式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=1738923896-8oWejKNg2jQObyTsm1rs0XPpD0jNBl8c-0-bf9137cebe0b24f71109c961883ebe1e)
【代码详解】
在这个例子中,首先定义了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=1738923896-2FgXj2JgpOKnolTnHpkKYPI2uQbwhtH9-0-ab180f29833dc6217621af3037e2c239)
图5-6 代码运行结果
【实例分析】
从结果来看,通过条件运算符实现了对输入的两个数a和b比较大小。