C++ if判断介绍

157 阅读1分钟

启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第27天,点击查看活动详情

和其他语言一样,C++的代码是从左到右从上到下执行的,但是也有条件语句,循环语句,来满足编程过程当中的需求,那么我们int来聊聊C++的if判断吧。

if判断是判断一个条件是否为真(返回true就是真),如果为真就执行下面的语句块,以年龄判断为例子:

#include <iostream>
​
using namespace std;
​
int main(){
    int age = 0;
    cin >> age;
​
    if(age > 18){
       cout << "你已经成年了" << endl;
    }else if(age > 14){
       cout << "你可以骑自行车了" << endl;
    }
    else{
       cout << "你还未成年了" << endl;
    }
​
    return 0;
}
​

整个if判断可以分成三部分看:

if(判断条件){语句块1} 为第一个部分,代表一个判断的分支,这个部分是判断的开始,

else if(判断条件){语句块2} 为第二部分,在第一个分支条件不满足的前提下进行判断,如果满足就执行,并且结束整个判断,如果没有满足可以往下进行判断。

else{语句块3} 为第三部分,代表上面条件都没有满足才执行else部分的语句。

基本概念的基础上我们来聊聊需要注意的点:

1、if 判断必须要由if语句开头。

2、else if语句可以不写,也可以写多个,所以if判断可以是一个分支也可以是多个分支。

3、else语句也是可以写,可以不写的,代表上面的所有条件都不成立才执行,所以不需要再描述条件了。

4、一个判断一次执行只会执行一个分支,任意分支满足条件之后就会停止执行,所以前面的判断范围要小于后面的判断范围,否则会导致后面的判断被覆盖,比如:

#include <iostream>
​
using namespace std;
​
int main(){
    int age = 0;
    cin >> age;
​
    if(age > 14){
       cout << "你可以骑自行车了" << endl;       
    }else if(age > 18){
       cout << "你已经成年了" << endl;
    }
    else{
       cout << "你还未成年了" << endl;
    }
​
    return 0;
}
​

这里例子当中,显然age>14的范围要大于age>18的范围,首先编译不会报错,但是即使输入19岁,也只能显示 “你可以骑自行车了”。

5、两个if和if 和 else if是不同的,两个if语句是要执行两次的,但是if,else if一次只会执行一个,在编写

的时候一定要注意。

6、if判断是可以嵌套的,嵌套判断条件可以理解为和外层条件并列的条件,比如:

#include <iostream>
#include <string>
​
using namespace std;
​
int main(){
    int age = 0;
    cout << "请输入年龄" << endl;
    cin >> age;
    
    cout << "请输入性别" << endl;    
    string gender;
    cin >> gender;
    
    if(age > 22){
        if(gender == "男"){
             // 这里指的是age大与22并且性别是男的情况
             cout << "可以结婚啦" << endl;
        }     
    }
    return 0;
}

if判断就先聊这么多,最后还是请各位大佬多多指点呀。