原文: https://beginnersbook.com/2017/08/cpp-if-else-statement/
有时我们只有在满足或不满足特定条件时才需要执行一个语句块。这被称为决策,因为我们在程序逻辑中做出决定后执行某个代码。对于 C++ 中的决策,我们有四种类型的控制语句(或控制结构),如下所示:
a)if语句
b)嵌套if语句
c)if-else语句
d)if-else-if语句
C++ 中的if语句
if语句包含条件,后跟语句或一组语句,如下所示:
if(condition){Statement(s);}
if括号(通常称为正文)中的语句仅在给定条件为真时才执行。如果条件为假,则完全忽略正文中的语句。**
if语句的流程图

if语句的示例
#include <iostream>using namespace std;int main(){int num=70;if( num < 100 ){/* This cout statement will only execute,* if the above condition is true*/cout<<"number is less than 100";}if(num > 100){/* This cout statement will only execute,* if the above condition is true*/cout<<"number is greater than 100";}return 0;}
输出:
number is less than 100
C++ 中的嵌套if语句
当在另一个if语句中有if语句时,它被称为嵌套if语句。嵌套的结构如下所示:
if(condition_1) {Statement1(s);if(condition_2) {Statement2(s);}}
如果
condition_1为true,则执行Statement1。只有条件(condition_1和condition_2)都为真时,Statement2才会执行。
嵌套if语句的示例
#include <iostream>using namespace std;int main(){int num=90;/* Nested if statement. An if statement* inside another if body*/if( num < 100 ){cout<<"number is less than 100"<<endl;if(num > 50){cout<<"number is greater than 50";}}return 0;}
输出:
number is less than 100number is greater than 50
在 C++ 中使用if-else语句
有时你有一个条件,如果条件为真,你想要执行一段代码,如果相同的条件为假,则执行另一段代码。这可以使用if-else语句在 C++ 中实现。
这是if-else语句的外观:
if(condition) {Statement(s);}else {Statement(s);}
如果条件为真,则if内的语句将执行,如果条件为假,则else内的语句将执行。
if-else
的流程图
if-else语句的示例
#include <iostream>using namespace std;int main(){int num=66;if( num < 50 ){//This would run if above condition is truecout<<"num is less than 50";}else {//This would run if above condition is falsecout<<"num is greater than or equal 50";}return 0;}
输出:
num is greater than or equal 50
C++ 中的if-else-if语句
当我们需要检查多个条件时使用if-else-if语句。在这个控制结构中,我们只有一个if和一个else,但是我们可以有多个else if块。这是它的样子:
if(condition_1) {/*if condition_1 is true execute this*/statement(s);}else if(condition_2) {/* execute this if condition_1 is not met and* condition_2 is met*/statement(s);}else if(condition_3) {/* execute this if condition_1 & condition_2 are* not met and condition_3 is met*/statement(s);}...else {/* if none of the condition is true* then these statements gets executed*/statement(s);}
注意:这里要注意的最重要的一点是,在if-else-if中,只要满足条件,就会执行相应的语句集,忽略其余。如果没有满足条件,则执行else内的语句。
if-else-if的示例
#include <iostream>using namespace std;int main(){int num;cout<<"Enter an integer number between 1 & 99999: ";cin>>num;if(num <100 && num>=1) {cout<<"Its a two digit number";}else if(num <1000 && num>=100) {cout<<"Its a three digit number";}else if(num <10000 && num>=1000) {cout<<"Its a four digit number";}else if(num <100000 && num>=10000) {cout<<"Its a five digit number";}else {cout<<"number is not between 1 & 99999";}return 0;}
输出:
Enter an integer number between 1 & 99999: 8976Its a four digit number
