程序员算法编程

03.条件分支

2017-04-20  本文已影响0人  Jameslong

条件分支

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

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;语句。

上一篇下一篇

猜你喜欢

热点阅读