从零开始学C++ Day 3分支结构

一、为什么要有分支结构

假如你要写一个你要写一个判断奇偶数的程序,你怎么写?

有时程序会在不同的条件下做不同的事情,用之前的写法就不行了,所以要有分支结构。

二、分支结构1:if ... else...

1、单分支 

格式:

if(/*一个bool类型的值(真或假*/){
    /*
        如果为真,干的事情(可以嵌套if)
    */
}

 bool类型的值可以是一个变量、一个表达式

表达式可以理解为一个算式(注意:结果非零即为真,零为假)

运算符(可以用于if中的bool值    + - * / %不说了)

运算符                             意义

==                                   左右两边的变量、值是否相等

!=                                    左右两边的变量、值是否不等

<                                     左边的变量、值是否小于右边的

>                                     左边的变量、值是否大于右边的

<=                                   左边的变量、值是否小于等于右边的

>=                                   左边的变量、值是否大于等于右边的

&&                                  左右两边的变量、值均为真返回真,否则返回假

||                                     左右两边的变量、值均为假返回假,否则返回真

!                                      右边的变量、值为真返回假,为假返回真(如果右边的值是一个表达式,请在表达式上加括号)

2、双分支

结构:

if(/*bool类型*/){
    //如果bool类型为真,干的事情,可以嵌套
}else{
    //如果bool类型为假,干的事情,可以嵌套
}

它类似单分支,不多讲了

3、三目表达式 

格式:

/*bool类型,通常是表达式*/ ? /*bool类型为真,返回的东西*/ : /*bool类型为假,返回的东西*/;

例如求两个数最大值:

#include <bits/stdc++.h>
using namespace std;
int main(){
    int a,b;
    cin >> a >> b;
    cout << a > b ? a : b;
    return 0;
}

4、多分支

格式:

if(/*bool*/){
    //干的事
}else if(/*bool*/){
    //干的事
}else if(/*bool*/){
    //干的事
}

你可以把他理解成:

if(/*bool*/){
    
}else{
    if(/*bool*/){
        
    }else{
        //嵌套下去
    }
}

5、完成奇偶数判断

代码:

#include <bits/stdc++.h>
using namespace std;
int main(){
    int n;
    cin >> n;
    if(n % 2){
        cout << "奇数";
    }else{
        cout << "偶数";
    }
    return 0;
}

 三、分支结构2:switch ... case...

结构

switch (/*一个值、表达式、变量*/)
{
   
    case /*switch括号里的内容的第一种情况*/:
        //执行的内容
        break;
    case /*switch括号里的内容的第二种情况*/:
        //执行的内容
        break;
        /* ... */

    default:
        //如果上面的case都不执行,干的事情
        break;
}

例子

 星期一为第一天,输入n,输出第n天是星期几,n>7输出Error:

#include <bits/stdc++.h>
using namespace std;
int main(){
    int n;
    cin >> n;
    switch(n){
        case 1:
            cout << "Monday";
            break;
        case 2:
            cout << "Tuesday";
            break;
        case 3:
            cout << "Wednesday";
            break;
        case 4:
            cout << "Thursday";
            break;
        case 5:
            cout << "Friday";
            break;
        case 6:
            cout << "Saturday";
            break;
        case 7:
            cout << "Sunday";
            break;
        default:
            cout << "Error";
            break;
    }
    return 0;
}

四、本次小结 

1、会用if…else…

2、会用switch…case… default…

本次代码:https://download.csdn.net/download/2401_86727236/89638460?spm=1001.2014.3001.5503

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值