if语句是实现分支结构的常用分支语句之一,另外还有条件运算符、switch语句等。

if语句的功能是:根据给定条件,选择程序执行方向。

if语句的基本格式

“if语句”又称条件语句,其基本格式为:
    if(表达式)      语句1;
    else           语句2;
其中:

  • 表达式——条件表达式,可以是C++中任意合法表达式,如算术、关系、逻辑或逗号表达式等。表达式的值为0则为“假”;非0则为“真”。
  • 语句1、2——内嵌语句,可以是单一、复合或者空语句,在语法上各自表现为1个语句。

执行流程


内嵌函数可以让变量常驻内存 python 内嵌if语句什么意思_if语句


if语句的执行流程示意图如上图所示,描述如下:

(1) 计算条件表达式的值;

(2) 若表达式的值为真(或非0),执行语句1;否则,即表达式的值为假(或为0),则执行语句2。

图中的“块”即代表语句。


注意:if分支中的语句1也可以是空语句。如:

    if(x<0)  ;

 注意与前面的简化格式区别开,使用时千万记得空语句也要以分号与其他语句分隔!

简化格式

当语句2为“空语句”时,往往可以将else语句省略,得到基本格式的简化形式:

    if(表达式)      语句1;

执行流程变为:当条件表达式的值为假时,程序将直接执行分支语句之后的语句。


例如,对于下列分支函数:

内嵌函数可以让变量常驻内存 python 内嵌if语句什么意思_执行流程_02



(1)用标准if语句描述,格式如下:

        if(x<0)      y=0;

        else        y = x*x*x+3*x; y = 0;

(2)用无else的简化格式,其思想是:令y的值为0,如x>=0,重新计算y的值,否则(即x<0),y的值不变。 则可描述为:

        if(x>=0) y = x*x*x+3*x;

应用举例

【例2.4】 输入一个年份,判断是否为闰年。

#include <iostream>
using namespace std;
int main( ){
    int year;
    cout<<"输入年份:"<<endl;
    cin>>year;
    if (year%4==0&&year%100!=0||year%400==0)
        cout<<year<<"是闰年"<<endl;
    else  cout<< year<<"年不是闰年"<<endl;
    return 0;
}


【例2.5】 从键盘上输入三个整数,输出其中的最大数。

#include <iostream>
using namespace std;
int main(){
    int a, b, c, max;
    cout<<"输入三个整数:";
    cin>>a>>b>>c;
    cout<<"a="<<a<<'\t'<<"b="<<b<<'\t'<<"c="<<c<<endl;
    if(a>=b) max=a;
    else max=b;
    if(c>max) max=c;
    cout<<"最大数为:"<<max<<endl;
    return 0;
}

 

说明:‘ \t’ 为水平制表符,一般相当与敲一个Tab的效果(也就是4个或者8个空格),即空格效果。(注意用单引号或双引号)