程序流程结构

本文介绍了C++中的选择结构,包括单行与多行if语句、多条件if语句、嵌套if以及switch语句的使用。同时,详细讲解了循环结构,如while、for循环、do-while循环,以及在循环中的break和continue语句的控制功能。此外,还提到了goto语句在程序流程控制中的作用。
摘要由CSDN通过智能技术生成

#include<iostream>

#include<string>

#include<ctime>

using namespace std;

单行if语句

选择结构句

1用户输入分数

2打印分数

3判断分数是否大于600

int score = 0;
    cout << "请输入一个分数" << endl;
    cin >> score;
    cout << "您输入的分数为" << score << endl;
    if (score > 600)
    {
        cout << "恭喜您考上一本" << endl;
    }

多行if语句

    int score1 = 0;
    //若大于600为一本,否则为没考上
    cout << "请输入分数" << endl;
    cin >> score1;
    cout << "您输入的分数为" << endl;
    if (score1 > 600)
    {
        cout << "考上一本" << endl;
    }
    else//小于600,则执行else语句
    {
        cout << "未考上" << endl;

    }

多条件if语句

    int score2 = 0;
    cout << "请输入分数" << endl;
    cin >> score2;
    cout << "您输入的分数为" <<score2<< endl;
    if (score2 > 600)
    {
        cout << "一本" << endl;
    }
    else if (score2 > 500)
    {
        cout << "二本" << endl;
    }
    else if (score2 > 400)
    {
        cout << "三本" << endl;
    }
    else
    {
        cout << "未考上大学";
    }

嵌套if语句 if中的if

    int score3 = 0;
    cout << "请输入您的分数" << endl;
    cin >> score3;
    cout << "您的分数为" << score3 << endl;
    if (score3 > 600)
    {
        if (score3 > 700)
        {
            cout << "北大" << endl;
        }
        else if (score3 > 650)
        {
            cout << "清华" << endl;
        }
    }
    else if (score3 > 500)
    {
        cout << "二本" << endl;
    }
    else if (score3 > 400)
    {
        cout << "三本" << endl;
    }
    else
    {
        cout << "未考上大学" << endl;
    }

选择结构案例,三只小猪称体重

    int a = 0;
    int b = 0;
    int c = 0;
    cout << "请输入小猪a的体重" << endl;
    cin >> a;
    cout << "请输入小猪b的体重" << endl;
    cin >> b;
    cout << "请输入小猪c的体重" << endl;
    cin >> c;

    cout << "a小猪的体重为" <<a<< endl;
    cout << "b小猪的体重为" <<b<< endl;
    cout << "c小猪的体重为" <<c<< endl;

    if (a > b)
    {
        if (a > c)
        {
            cout << "a最重\n";
        }
        else
        {
            cout << "c最重\n";
        }
    }
    else
    {
        if (b > c)
        {
            cout << "b最重\n";
        }
        else
        {
            cout << "c最重\n";
        }
    }

三目运算符

       int a = 10;
       int b = 20;
       int c = 30;
       c = a > b ? a : b;
       (a > b ?  a : b) = 100;//可以继续赋值,结果为100,c=100
       cout << "c=" << c << endl;
       cout << "a=" << a << endl;
       cout << "b=" << b << endl;

switch语句

10~9经典 8~6非常好 5~4一般般 4以下烂片

        cout << "请给这部电影打分" << endl;
        int a;
        cin >> a;
        cout << "您打的分数为" <<a<< endl;
        switch (a)//判断缺点:判断的时候只能是整型或者字符型,不可以是一个区间
            //优点:结构清晰,执行效率高
            //注意break
        {
        case 10:
            cout << "经典电影" << endl;
            break;
        case 9:
            cout << "经典电影" << endl;
            break;
        case 8:
            cout << "非常好" << endl; 
            break;
        case 7:
            cout << "非常好" << endl;
            break;
        case 6:
            cout << "非常好" << endl;
            break;
        case 5:
            cout << "一般般" << endl;
            break;
        case 4:
            cout << "一般般" << endl;
            break;
        default://默认剩余执行 
            cout << "烂片" << endl;
            break;
        }

循环结构

        int num = 0;
        //注意事项,循环中避免死循环
        while(num<10)//循环条件
        {
 
            cout << num << endl;
            num++;

        }

猜数字游戏 系统生产随机数 系统给出提示,方便猜出

srand((unsigned int)time(NULL));
//添加随机数种子,否则只生成一个伪随机数
//    利用当前时间生成随机数
int num = rand() % 100 + 1;//生成1到199+1一个随机数 
    cout << num << endl;
    
    int val = 0;//玩家猜的数
    
    
//    但需要头文件#include<ctime>
    while (1)
    {
        cin >> val;
        if (val > num)
        {
            cout << "猜测过大" << endl;
        }
        else if (val < num)
        {
            cout << "猜测过小" << endl;
        }
        else
        {
            cout << "猜对了" << endl;
            break;
        }
    }

do while 循环语句

与while区别:先执行一次循环语句

while是先判断再执行

         int num = 0;
        do {
            cout << num << endl;
            num++;

            } while (num < 10);

水仙花数

1^3+5^3+3^3=153

1.输出100到9992.找到所有水仙花数3.获取个位十位百位

取模运算的应用

int num = 100;
        do {
            int a = 0;
            int b = 0;
            int c = 0;
            
            a = num % 10;
            b = num / 10 % 10;
            c = num / 100;
            if (a*a*a+b*b*b+c*c*c==num)
            {
                cout << num << endl;
            }
            num++;
        } while (num < 1000);

for循环语句

for (int i = 0; i < 10; i++)//根据条件先判断,然后执行
        {
            cout << i << endl;
        }//for循环结构清晰

敲桌子游戏

        int num = 0;
        //7的倍数则敲桌子    
        for (num = 0; num <= 100; num++)
        {
            if (num == 7)//其实可以if(num==7||num%7==0||num/10==7)
            {
                cout << "敲桌子" << endl;
            }
            else if (num % 7 == 0)
            {
                cout << "敲桌子" << endl;
            }
            else if (num / 10 == 7)
            {
                cout << "敲桌子" << endl;
            }
            else
            {
                cout << num << endl;
            }
            
        }

嵌套循环

for (int i = 0; i < 10; i++)//外层循环
    {
        cout << "* ";

        for (int j = 0; j < 10; j++)//内层循环
        {
            cout << "* ";
        }
        cout << endl;
    }

乘法口诀表 列数*行数=计算结果,列数小于等于当前行数

for (int i = 1; i<=9; i++)
        {
            for (int j = 1; j <= i; j++)
            {
                cout << j<<"*"<<i<<"="<<i*j<<"\t";
            }
            cout << endl;
        }

break语句

使用时机,出现在switch语句中

cout << "请选择难度" << endl;
        cout << "1.普通" << endl;
        cout << "2.中等" << endl;
        cout << "3.困难" << endl;
        int select = 0;
        cin >> select;
        switch (select)
        {
        case 1:
            cout << "您选择的难度为普通" << endl;
            break;
        case 2:
            cout << "您选择的难度为中等" << endl;
            break;
        case 3:
            cout << "您选择的难度为困难" << endl;
            break;
        }
        //出现在循环语句
        //出现在嵌套循环语句
        //使用break退出循环,使得程序进行下一步
        //甚至可以退出内层循环,而不结束外层循环

continue语句

//执行到本行不再进行后面的代码,直接进行下一个循环
        for (int i = 0; i <= 100; i++)
        {//奇数输出,偶数不输出    
            if (i % 2 == 0)
            {
                continue;//可以进行筛选,执行到此直接进行下一次循环
            }
            cout << i << endl;
        }

goto语句 直接进行跳转

不太方便,因为标记过多会造成程序混乱

        cout << "1" << endl;
        goto FLAG;
        cout << "2" << endl;
        cout << "3" << endl;
        FLAG:
        cout << "4" << endl;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值