一、条件判断
C++中的条件判断语句if用于判断一个表达式的值是否为真,如果为真则执行相应的代码,如果为假则跳过执行。
if语句的基本语法:
if (expression) { statement(s); }
其中,expression是需要进行判断的表达式,statement(s)是需要执行的语句。
在if语句中,如果expression的值为真,则会执行statement(s)中的代码,否则跳过不执行。如果expression的值为0,则视为假,如果为非0则视为真。
举个例子,在下面的代码中我们通过if语句判断num是否大于0,如果是则显示“num is positive”,否则不显示:
int num = -1; if (num > 0) { cout << "num is positive" << endl; }
执行结果为:
(无输出)
由于num的值为-1,不满足大于0的条件,所以if语句中的代码不会被执行。
二、多重条件判断
在实际代码中,我们经常需要判断多个条件。C++中的if语句可以嵌套使用,实现多重条件判断。例如下面的代码判断了num是否大于0,否则判断是否等于0,否则显示“num is negative”:
int num = -1; if (num > 0) { cout << "num is positive" << endl; } else if (num == 0) { cout << "num is zero" << endl; } else { cout << "num is negative" << endl; }
执行结果为:
num is negative
上述代码的执行流程为:
- 判断num是否大于0,由于num的值为-1,不满足大于0的条件,跳过执行。
- 判断num是否等于0,由于num的值为-1,不满足等于0的条件,跳过执行。
- 由于前两个条件都不满足,执行最后一个else中的代码,显示“num is negative”。
需要注意的是,else语句在if语句的所有条件均不满足时执行。
三、代码执行流程
if语句的执行流程由编译器控制,按照以下步骤进行:
- 计算if语句中的表达式expression的值。
- 如果expression的值为真,则执行if语句中的语句,否则跳过执行。
- 执行完成if语句之后,继续执行if语句后面的代码。
下面的代码演示了if语句的执行流程:
int num = 1; if (num > 0) { cout << "num is positive" << endl; } cout << "The if statement is executed" << endl;
执行结果为:
num is positive The if statement is executed
由于num的值为1,满足大于0的条件,所以执行if语句中的代码,输出“num is positive”,然后继续执行if语句后面的语句,输出“The if statement is executed”。
四、总结
if语句是C++中常用的条件判断语句,可以用于判断一个表达式的值是否为真,并根据需要执行相应的代码。if语句可以嵌套使用,用于实现多重条件判断。if语句的执行流程由编译器控制,按照计算表达式、判断条件、执行语句等步骤进行。需要注意的是,if语句可以没有else语句,但else语句必须配合if语句使用。