Skip to content

if 语句

cpp
    if(表达式)
    {
        语句或语句块 ;
    }

注意

如果表达式的值为真,则其后的语句块被执行。
如果表达式的值为假,则其后的语句块被忽略。

语句块是指一组语句在一起共同完成某一特定的功能,可以将它们用大括号括起来。
当 if 语句条件判断后执行一组语句,就可以用{}来表示语句块。

提示

当 if 语句条件判断后只执行一条语句时,可以不用大括号。如:

cpp
if(a > b)
    a = b;

if 语句示例

例如:求两个数中的较大值:

cpp
#include<iostream>
using namespace std;
int main()
{
    int a,b,max;
    //printf("输入两个整数:");
    cin >> a >> b; //读入两个数值,分别赋给a和b
    max = b;
    if(a > b)
        max = a; //如果a>b,那么更改max的值
    cout << "较大值是: " << max << endl;
    //printf("%d和%d的较大值是:%d",a,b,max);
    return 0;
}

运行结果:

c
输入两个整数:
1 2
1和2的较大值是:2

if 嵌套

cpp
#include<iostream>
using namespace std;
int main()
{
    int a,b;
    cout << "输入两个数字:";
    cin >> a >> b;
    if(a != b){
        if(a > b){
        	cout << "a > b";
        }else{
            cout << "a < b";
        }
    }else{
        cout << "a != b";
    }
    return 0;
}

运行结果:

c
输入两个数字:1 2
a < b

警告

当没有大括号来标识的情况下,else 语句将与最近的 if 语句共同构成一组。

建议

cpp
if(a > 0//没有大括号
    a = -a;
if(b>a)
    c=b;
else
    c=a;

上述程序中的 else 语句和最近的 if 语句共同组成一组。
当 a>0 时,如果 b>a 时,c=b;如果 b<=a 时,c=a。而当 a<=0 时,则无相应语句处理。

建议编写程序时,使用 {} 或者 缩进 来组织分支语句的层级关系,避免混淆。