程序流程结构
C/C++支持最基本的三种程序运行结构:
- 顺序结果:程序按顺序执行,不发生跳转
- 选择结构:依据条件是否满足,有选择的执行相应功能
- 循环结构:依据条件是否满足,循环多次执行某段代码
选择结构
if语句
作用:执行满足条件的语句
if语句的三种形式
- 单行格式if语句
- 多行格式if语句
- 多条件的if语句
单行格式if语句
if(条件){条件满足执行的语句}
多行格式if语句
if(条件1){条件1满足执行的语句}else if(条件2){条件2满足执行的语句}……else{都不满足执行的语句}
嵌套if语句
在if语句中,可以嵌套使用if语句,达到更精准的条件判断
例1:三只小猪称体重
有三只小猪ABC,分别输入三只小猪的体重,并且判断哪只小猪最重?
三目运算符
作用:通过三目运算符实现简单的判断
语法:表达式1?表达式2:表达式3
解释:
- 如果表达式1的值为真,执行表达式2,并返回表达式2的结果
- 如果表达式1的值为真,执行表达式3,并返回表达式3的结果
C++中三目运算符返回的是变量,可以继续赋值
switch语句
作用:执行多条件分支语句
语法:
注:需用break语句退出循环,否则会继续执行下面的执行语句
if和switch区别:
- switch缺点:判断时候只能是整型或字符型,不可以是一个区间
- switch优点:结构清晰,执行效率高
循环结构
while语句
作用:满足循环条件,执行循环语句
语法:while( 循环条件 ){ 循环语句 }
解释:只要循环条件的值为真值,就执行循环语句
while循环练习案例:猜数字
案例描述:系统随机生成一个1到100之间的数字,玩家进行猜测,如果猜错,提示玩家数字过大或过小,如果猜对恭喜玩家胜利,并且退出游戏
do...while语句
作用:满足循环条件,执行循环语句
语法:do{ 循环语句 } while( 循环条件 );
注:与while的区别在于do...while会先执行一次循环语句,再判断循环条件
do…while练习案例:水仙花数
案例描述:水仙花数是指一个三位数,它的每个位上的数字的三次幂之和等于它本身
例如:1^3 + 5^3 + 3^3 = 153
利用do…while语句求出所有三位数中的水仙花数
for循环语句
作用:满足循环语句,执行循环语句
语法:for(起始表达式;条件表达式;末尾循环体){循环语句;}
for循环练习案例:拍桌子
案例描述:从1开始数到数字100,如果数字个位含有7,或者数字十位含有7,或者是7的倍数时,我们打印“拍桌子”,其余数字直接打印出来
嵌套循环
作用:在循环体中再嵌套一层循环,解决一些实际问题
嵌套循环练习案例:乘法口诀表
案例描述:利用嵌套循环,打印九九乘法表
跳转语句
break语句
作用:用于跳出选择结构或循环结构
break使用的时机:
- 出现在switch条件语句中,作用是终止case并跳出switvh
- 出现在循环语句中,作用是跳出当前的循环语句
- 出现在嵌套循环中,跳出最近的内层循环语句
continue语句
作用:在循环语句中,跳过本次循环中余下尚未执行的语句,继续执行下一次循环
注:continue语句没有使整个循环终止,而break语句会跳出循环
goto语句
作用:可以无条件跳转语句
语法: goto 标记;
解释:如果标记的名称存在,执行到goto语句时,会跳转到标记的位置
注:在程序中不建议使用goto语句,以免造成程序混乱