03流程控制语句
【03流程控制语句】if 语句,switch 语句,goto 语句,循环语句
[注]流程控制语句是为了实现程序控制而产生的
一丶if语句
格式:
最简单的if语句
if(表达式)
{
//语句块
}
[逻辑] 当程序从上往下执行,执行到if 语句时,先判断表达式的值;如果表达式的值为“真”,执行语句块;否则,不执 行语句块
升级版本1
if(表达式)
{
//语句块1
}
else
{
//语句块2
}
[逻辑] 当程序执行到if-else语句时,先判断表达式的值;如果表达式的值为“真”,执行语句块1;如果表达式的值 为“假”,执行语句块2
升级版本2
if(表达式1)
{
//语句块1
}
else if(表达式2)
{
//语句块2
}
//......
else
{
//语句块n
}
[逻辑] 当程序执行到if语句时,首先判断表达式1的值;如果表达式1的值为“真”,执行对应的语句块1,跳到if语句后继 续执行其他代码;如果表达式1的值为“假”,继续判断表达式2的值,表达式3的值......直到某个表达式的值 为“真”,执行对应表达式的语句块,跳到if语句后继续执行其他代码
当前面所有表达式的值都为“假”时,才会执行最后else中的语句块
当前面所有表达式的值都为“假”,并且最后也补需要执行其他代码,这时可以省略else分支
二丶goto 语句 [注] goto 语句在实际开发运用很少
goto 语句的格式有两种
格式1:
goto 标号;
......
标号:
格式2:
标号:
......
goto 标号;
[逻辑] 当程序执行到goto语句时,立即无条件跳转到对应的标号处,继续往下执行其他代码
[goto语句的特点]
? (1)goto语句构成的代码,代码结构不是很清晰,不太容易看懂
? (2)goto不能跨函数访问,多个函数之间使用goto语句跳转容易导致程序崩溃
三丶switch语句 switch语句,也称为“开关语句”
格式:
switch(整型表达式)
{
case 标号1:语句块1;break;
case 标号2:语句块2;break;
......
default:语句块n;break;
}
? [注] {}中的每个case和default都称为是switch得一个分支,case可以有多个,default最多有一个
[注] case,default 后的break 语句是根据需求添加的
[注] default分支可以放置在任何一个case分支前/后
[注] case 后的标号一般是常量表达式
[逻辑] 当程序执行到switch语句时,先计算整型表达式的值,根据整型表达式的值,和每个case后的标号值进行匹配,如果和某个标号的值匹配成功,执行对应 标号后的语句块
当整型表达式的值无法和任何一个标号值匹配时,默认执行default后的语句块
switch语句可以嵌套使用,同样if语句也可以嵌套使用
如果是switch语句嵌套使用,内层switch语句中的break只可以结束内层switch
四丶循环语句--while 格式:
while(条件表达式)
{
//循环体
}
[逻辑] 当程序执行到while语句时,先判断条件表达式的值是“真”还是“假”
当表达式的值为“真”时,执行循环体,然后再去判断表达式的值
直到表达式的值为“假”时,退出循环
[注] 当第一次判断表达式的值时,表达式就为“假”,循环体一次也不会执行
[注] while语句中,可以配合break,continue语句来实现循环的控制
[break] 程序执行到break语句,while循环立即退出
[continue] 程序执行到continue语句,会结束当次循环,进入下次循环
五丶do-while循环 [注] do-while循环中也可以使用break,continue语句,作用和在while循环中一样
格式:
do
{
//循环体
}
while(条件表达式);
[逻辑] 当程序执行到do-while语句时,先执行一次循环体,然后再去判断表达式的值
如果表达式的值为“真”,执行循环体,然后再去判断表达式的值
如果表达式的值依然为“真”,执行循环体,然后再去判断表达式的值,直到表达式的值为“假”,循环退出
[注] 当第一次判断表达式的值就为“假”,循环体已经执行过一次
[注] do-while循环一般用在游戏开发中
六丶for 循环 for循环的一般格式:
for(初始化表达式;判断表达式;自增/自减表达式)
{
//循环体
}
[逻辑] 当程序执行到for循环语句时,先执行表达式1,然后判断表达式2的值
当表达式2的值为“真”,执行循环体 ,然后执行表达式3,再去判断表达式2的值,直到表达式2的值为“假”,循环退出
[注] for循环语句中也可以使用break,continue语句
推荐阅读
- 我的拖延症如何控制了我,又一次
- 数据库总结语句
- 迅捷流程图制作软件的使用方法!
- 真正的爱
- Improve|Improve Nested Conditionals(优化嵌套的条件语句) 面对大量的if-else语句
- Python专栏|数据分析的常规流程
- neo4j|neo4j cql语句 快速查询手册
- 每天听本书《控制焦虑》
- 控制自己的心为什么这么难([追光日记(第2篇)])
- 《不要用爱控制我》