C++程序流程结构

C/C++支持最基本的三种程序运行结构:
顺序结构、选择结构、循环结构

顺序结构:程序按顺序执行,不发生跳转
选择结构:依据条件是否满足,有选择的执行相应功能
循环结构:依据条件是否满足,循环多次执行某段代码

1.选择结构

if语句
作用:执行满足条件的语句

if语句的三种形式
。单行格式if语句
。多行格式if语句
。多条件的if语句

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
嵌套if语句:
在if语句中,可以使用嵌套if语句,以达到更精准的条件判断

三目运算符

作用:通过三目运算符实现简单的判断
语法:表达式1?表达式2:表达式3
解释:如果表达式1成立则执行表达式2并返回结果;否则执行表达式3并返回结果

示例

#include <iostream>
#include <string>
using namespace std;

int main()
{
    int a=6;
    int b=3;
    int c;
    c=(a>b?a:b);
    cout<< "c="<<c <<endl;//返回c=6
    return 0;
}

在C++中三目运算符返回的是变量,可以继续赋值
在这里插入图片描述

switch语句
作用:执行多条件分支语句
在这里插入图片描述
示例:

#include <iostream>
using namespace std;

int main()
{
    cout<<"请给电影打分"<<endl;
    int score;
    cin>>score;
    cout<<"您打的分数为"<<score<<endl;
    switch(score)
    {
        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;
        default:cout<<"您认为是垃圾电影"<<endl;
                break;
    }
    return 0;
}

if 和 switch区别?
switch 缺点,判断时候只能是整型或者字符型,不可以是一个区间
switch 优点,结构清晰,执行效率高

注意1:switch语句中表达式类型只能是整型或者字符型
注意2:case里如果没有break,那么程序会一直向下执行
总结:与if语句比,对于多条件判断时,switch的结构清晰,执行效率高,缺点是switch不可以判断区间

2.循环结构

while语句
作用:满足循环条件,执行循环语句
语法:while(循环条件){循环语句}
解释:只要循环条件的结果为真,就执行循环语句

在这里插入图片描述
注意:在执行循环语句的时候,程序必须提供跳出循环的出口,否则会死循环

do…while循环语句
作用:满足循环条件,执行循环语句
语法:do{循环语句} while(循环条件);
注意:与while的区别在于do…while会先执行一次循环语句再判断循环条件

在这里插入图片描述

for循环语句:

作用:满足循环条件,执行循环语句
语法: for(起始表达式;条件表达式;末尾循环体){循环语句;}

示例:

#include <iostream>
using namespace std;

int main()
{
    int a;
    for(a=0;a<5;a++)
    {
        cout<<a<<endl;
    }
    return 0;
}

注意:for循环中的表达式,要用分号进行分隔
总结:while,do…while,for都是开发中常用的循环语句,for循环结构比较清晰,比较常用

3.跳转语句

break语句:
作用用于跳出选择结构或者循环结构
break使用的时机:
出现在switch条件语句中,作用是终止case并跳出switch
出现在循环语句中,作用是跳出当前的循环语句
出现在嵌套循环中,跳出最近的内层循环语句

continue语句:
作用:在循环语句中跳过本次循环中余下尚未执行的语句,继续执行下一次循环

示例:

#include <iostream>
using namespace std;

int main()
{
    int a;
    for(a=0;a<10;a++)
    {
        if(a%3==0)
        {
            continue;
        }
        cout<<a<<endl;
    }
    return 0;
}

continue并不会使整个循环终止,而break会跳出循环

goto语句:
作用:可以无条件跳转语句
语法:goto 标记;
解释:如果标记的名称存在,执行到goto语句时,会跳转到标记的位置

示例:

#include <iostream>
using namespace std;

int main()
{
    cout<<"1"<<endl;
    cout<<"2"<<endl;
    goto xia;
    cout<<"3"<<endl;
    cout<<"4"<<endl;
    xia:
    cout<<"5"<<endl;
    cout<<"6"<<endl;
    return 0;
}

注:在程序中不要随便使用goto语句,以免造成程序流程混乱
(一个好的程序尽量不要使用goto语句)

  • 40
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

tyro达令

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值