03.条件分支

作者: Jameslong | 来源:发表于2017-04-20 19:36 被阅读0次

    条件分支

    无论是什么编程语言,都会有条件判断,选择分支,本讲,将介绍条件判断和选择分支的使用。

    1、if() else()型和if()

    #include<iostream>
    using namespace std;
    const float pi = 3.14;
    int main(){
        int age = 18;
        if (age < 18){
            cout << "对不起,您未成年!" << endl;
        }
        else{
            cout << "您已经是成年人!" << endl;
        }
        return 0;
    }
    
    Paste_Image.png

    当age = 18时,不满足if()条件,选择else分支


    Paste_Image.png

    当age=18时,满足条件,选择if()分支

    if()语句是if else的特例,这里省略了else,记住其实是有个else分支的,只是省略没写,因为这个分支什么都没做。

    2、if() else if() else if() ... else型

    #include<iostream>
    using namespace std;
    const float pi = 3.14;
    int main(){
        int goal = 60;
        cout << "goal = " << goal << endl;
        if (goal <60 ){
            cout << "对不起,不及格!" << endl;
        }
        else if (goal<80){
            cout << "你获得良!" << endl;
        }
        else{
            cout << "很棒,你得了优秀!" << endl;
        }
        return 0;
    }
    
    Paste_Image.png

    说明:if else类型的选择语句是可以嵌套的,但是嵌套的时候要注意else的匹配问题,为了便于阅读,尽量每个关键字后面都带上括号{},没有括号时,else与最近符if 匹配!!!
    举例说明:

    #include<iostream>
    using namespace std;
    const float pi = 3.14;
    int main(){
        int day;
        cout << "please input a number between 1 and 7: ";
        cin >> day;
        if (day < 6)
        if (day == 1)
            cout << "今天周一,是工作日" << endl;
        else
            cout << "今天是工作日,但不是周一,else与最近的if匹配" << endl;
        return 0;
    }
    
    Paste_Image.png

    3、switch()开关语句

    当有多个类似的选择分支时,通常使用switch语句进行选择,使得代码清晰明了,便于阅读和理解。
    例如输入数字1-7,判断对应的星期。

    #include<iostream>
    using namespace std;
    const float pi = 3.14;
    int main(){
        int day;
        cout << "please input a number between 1 and 7: ";
        cin >> day;
        switch (day){
        case 1:cout << "今天是星期一!" << endl; break;
        case 2:cout << "今天是星期二!" << endl; break;
        case 3:cout << "今天是星期三!" << endl; break;
        case 4:cout << "今天是星期四!" << endl; break;
        case 5:cout << "今天是星期五!" << endl; break;
        case 6:cout << "今天是星期六!" << endl; break;
        default:cout << "今天是星期日!" << endl;
        }
        return 0;
    }
    
    Paste_Image.png

    在switch语句中switch()括号中的值分别与case中的值比较,从相同的一项开始执行,break;跳出当前选择,不然会一直执行,看下面代码,比较不同。

    #include<iostream>
    using namespace std;
    const float pi = 3.14;
    int main(){
        int day;
        cout << "please input a number between 1 and 7: ";
        cin >> day;
        switch (day){
        case 1:cout << "今天是星期一!" << endl; break;
        case 2:cout << "今天是星期二!" << endl; break;
        case 3:cout << "今天是星期三!" << endl;
        case 4:cout << "今天是星期四!" << endl; 
        case 5:cout << "今天是星期五!" << endl; 
        case 6:cout << "今天是星期六!" << endl; 
        default:cout << "今天是星期日!" << endl;
        }
        return 0;
    }
    
    Paste_Image.png

    因为case 3:之后的分支都没有写break;语句所以一直往后执行。实际操作中要注意!!!
    在switch语句中default常常用来处理错误的情况,也就是未知的情况,但有时情况确定时可以作为其中一个情况分支使用。还有就是default要放在最后,以为switch中的值是从上往下依次比较的,并且default 的执行块中不用再写break;语句。

    相关文章

      网友评论

        本文标题:03.条件分支

        本文链接:https://www.haomeiwen.com/subject/ygnlzttx.html