C++程序流程结构

程序流程结构

C/C++支持最基本的三种程序运行结构:

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

选择结构

if语句

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

if语句的三种形式

  • 单行格式if语句
  • 多行格式if语句
  • 多条件的if语句

单行格式if语句

if(条件){条件满足执行的语句}

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6a2P5aSn5qmZ,size_13,color_FFFFFF,t_70,g_se,x_16

 

多行格式if语句

if(条件1){条件1满足执行的语句}else if(条件2){条件2满足执行的语句}……else{都不满足执行的语句}

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6a2P5aSn5qmZ,size_20,color_FFFFFF,t_70,g_se,x_16

 

嵌套if语句

在if语句中,可以嵌套使用if语句,达到更精准的条件判断

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6a2P5aSn5qmZ,size_12,color_FFFFFF,t_70,g_se,x_16

例1:三只小猪称体重

有三只小猪ABC,分别输入三只小猪的体重,并且判断哪只小猪最重?

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6a2P5aSn5qmZ,size_20,color_FFFFFF,t_70,g_se,x_16

三目运算符

作用:通过三目运算符实现简单的判断

语法:表达式1?表达式2:表达式3

解释:

  • 如果表达式1的值为真,执行表达式2,并返回表达式2的结果
  • 如果表达式1的值为真,执行表达式3,并返回表达式3的结果

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6a2P5aSn5qmZ,size_20,color_FFFFFF,t_70,g_se,x_16

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6a2P5aSn5qmZ,size_20,color_FFFFFF,t_70,g_se,x_16

 C++中三目运算符返回的是变量,可以继续赋值

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6a2P5aSn5qmZ,size_20,color_FFFFFF,t_70,g_se,x_16

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6a2P5aSn5qmZ,size_20,color_FFFFFF,t_70,g_se,x_16

switch语句

作用:执行多条件分支语句

语法:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6a2P5aSn5qmZ,size_20,color_FFFFFF,t_70,g_se,x_16

注:需用break语句退出循环,否则会继续执行下面的执行语句

if和switch区别:

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

循环结构

while语句

作用:满足循环条件,执行循环语句

语法:while( 循环条件 ){ 循环语句 }

解释:只要循环条件的值为真值,就执行循环语句

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6a2P5aSn5qmZ,size_20,color_FFFFFF,t_70,g_se,x_16

while循环练习案例:猜数字

案例描述:系统随机生成一个1到100之间的数字,玩家进行猜测,如果猜错,提示玩家数字过大或过小,如果猜对恭喜玩家胜利,并且退出游戏

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6a2P5aSn5qmZ,size_20,color_FFFFFF,t_70,g_se,x_16

 do...while语句

作用:满足循环条件,执行循环语句

语法:do{ 循环语句 } while( 循环条件 );

注:与while的区别在于do...while会先执行一次循环语句,再判断循环条件

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6a2P5aSn5qmZ,size_12,color_FFFFFF,t_70,g_se,x_16

do…while练习案例:水仙花数

案例描述:水仙花数是指一个三位数,它的每个位上的数字的三次幂之和等于它本身

例如:1^3 + 5^3 + 3^3 = 153

利用do…while语句求出所有三位数中的水仙花数

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6a2P5aSn5qmZ,size_20,color_FFFFFF,t_70,g_se,x_16

 

for循环语句

作用:满足循环语句,执行循环语句

语法:for(起始表达式;条件表达式;末尾循环体){循环语句;}

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6a2P5aSn5qmZ,size_20,color_FFFFFF,t_70,g_se,x_16

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6a2P5aSn5qmZ,size_20,color_FFFFFF,t_70,g_se,x_16

for循环练习案例:拍桌子

案例描述:从1开始数到数字100,如果数字个位含有7,或者数字十位含有7,或者是7的倍数时,我们打印“拍桌子”,其余数字直接打印出来

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6a2P5aSn5qmZ,size_20,color_FFFFFF,t_70,g_se,x_16

嵌套循环

作用:在循环体中再嵌套一层循环,解决一些实际问题

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6a2P5aSn5qmZ,size_20,color_FFFFFF,t_70,g_se,x_16

 watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6a2P5aSn5qmZ,size_20,color_FFFFFF,t_70,g_se,x_16

 

嵌套循环练习案例:乘法口诀表

案例描述:利用嵌套循环,打印九九乘法表

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6a2P5aSn5qmZ,size_20,color_FFFFFF,t_70,g_se,x_16

 跳转语句

 

break语句

作用:用于跳出选择结构或循环结构

break使用的时机:

  • 出现在switch条件语句中,作用是终止case并跳出switvh
  • 出现在循环语句中,作用是跳出当前的循环语句
  • 出现在嵌套循环中,跳出最近的内层循环语句

continue语句

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

注:continue语句没有使整个循环终止,而break语句会跳出循环

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6a2P5aSn5qmZ,size_20,color_FFFFFF,t_70,g_se,x_16

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6a2P5aSn5qmZ,size_20,color_FFFFFF,t_70,g_se,x_16

goto语句

作用:可以无条件跳转语句

语法:  goto 标记;

解释:如果标记的名称存在,执行到goto语句时,会跳转到标记的位置

注:在程序中不建议使用goto语句,以免造成程序混乱

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6a2P5aSn5qmZ,size_20,color_FFFFFF,t_70,g_se,x_16

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6a2P5aSn5qmZ,size_20,color_FFFFFF,t_70,g_se,x_16 

 

 

 

 

 

 

 

 

 

 

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

魏大橙

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

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

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

打赏作者

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

抵扣说明:

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

余额充值