![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=1739190721-x87Oiyxi74Rvk3UiUd0vTnuZPkszJnsV-0-26b142c0c23a45ac95162cb9a9b5bd5a)
图5-2 if语句
![](https://epubservercos.yuewen.com/A8BCBE/16499866604816706/epubprivate/OEBPS/Images/Figure-P93_12189.jpg?sign=1739190721-W9KkyO7RUlZvc3rmu2WRgcQLEFoojXc7-0-383ed1e15cc4c2d39a0b859ffd8833cb)
图5-2 代码运行结果
if语句格式:
![](https://epubservercos.yuewen.com/A8BCBE/16499866604816706/epubprivate/OEBPS/Images/Figure-P92_12174.jpg?sign=1739190721-TqLauSKUSmyGF9yyBUvCiN1UzAbtK9OC-0-d881dfef43d6b3643a76f85725f72a08)
提示
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=1739190721-VnpQM6TlWFjVxs3SAe7WfubKH1fj5Rek-0-8f5a37208cbb131a0bfe6d0adb156e22)
【代码详解】
首先,在主程序中定义了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=1739190721-d3iHtwyUSWtceisFQbEqvqJB3aptpJkR-0-d7be3012184ce0918ab1009cd1d47ce4)
图5-4 if-else语句
if…else的语法格式如下:
![](https://epubservercos.yuewen.com/A8BCBE/16499866604816706/epubprivate/OEBPS/Images/Figure-P93_12273.jpg?sign=1739190721-iYJOotzepSiDSin5hsO7vwyuUCYYG8ZU-0-554bdf1728b5ee2e62863ea5cbb0eba0)
提示
多个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=1739190721-3qppnGFOCaAcsaGqqlgOgt6LD3FzEKuR-0-b1f9744891398cacbdfe5ce79f1288ad)
【代码详解】
这个程序首先定义了一个int型变量num,从屏幕上输入num。使用if条件判断,如果num被2整除0,就输出该数为偶数,否则输出为奇数。
运行结果如图5-5所示。
![](https://epubservercos.yuewen.com/A8BCBE/16499866604816706/epubprivate/OEBPS/Images/Figure-P94_12369.jpg?sign=1739190721-MXE0OwUKJCFsMsH7E77u1gRfeR1hKFA9-0-4221b2f8741681a59cba53e1d15a383a)
图5-5 代码运行结果
【实例分析】
从结果来看,输入一个数值为27。因为27除以2的余数不为0,所以,在屏幕上输出该数为奇数。
5.2.3 条件运算符
if语句在某些情况下,可以简化为条件运算符形式“?:”。
![](https://epubservercos.yuewen.com/A8BCBE/16499866604816706/epubprivate/OEBPS/Images/Figure-P94_12379.jpg?sign=1739190721-nMloPWTLzLI61pf5HrFiTNPJXppDBIyA-0-cd4f13127c52a85ea5dd60a272fe3e34)
如果条件为真,就执行表达式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=1739190721-9ThIeUr3gn5RG9OrS9UJaxxjjVJmDWQE-0-f4295e8004a7c8bc4b3664fbfad48d29)
【代码详解】
在这个例子中,首先定义了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=1739190721-5TjHTWJpMX52mpqoED7ntnVpO5PJOz8j-0-dd84785568cf0cb27f59a3c339b0cc25)
图5-6 代码运行结果
【实例分析】
从结果来看,通过条件运算符实现了对输入的两个数a和b比较大小。