一、switch..case 语句
1.1 格式
1.2 注意事项
1.switch后面()里的表达式可以是变量,也可以是一个完整表达式
一般情况下,结果需要是 整型的 或者字符的(不能是浮点型的)
2.case后面的常量表达式就是switch后面()中表达式可能的结果
3.break的作用是执行完某个分支的代码块就立即结束整个switch..case语句
如果不加 break,程序会继续向下执行下面case的代码块,直到遇到break或者
整个switch..case语句结束,这种现象叫做---“case击穿”
4.default 分支相当于 if..else 语句中的else部分,如果前面的case都不满足,则执行default分支
如果不关心其他分支的情况,整个default分支都可以不要
二、循环控制语句
2.1 使用goto实现循环
goto本身是用来实现代码跳转的,注意:只能在同一个函数中实现跳转。
注意:goto的跳转对代码的逻辑性和易读性有一定的影响,所以要谨慎使用。
2.1.1 goto基本使用格式
2.1.2 执行逻辑
先执行代码块1,然后遇到 goto了,直接跳转到对应的标签向下执行代码块3
代码块2被跳过了,不会被执行。
上面的NEXT叫做标签名,是一个标识符,要符合命名规范,一般情况下使用大写。
例:
2.1.3 使用goto实现循环
我们一般情况下使用的循环都是有条件的
如果没有结束条件,就变成了死循环。
2.2 while循环
2.2.1 格式
2.2.2 执行逻辑
先执行表达式,如果表示为真,则执行循环体,
然后再执行表达式,如果还为真,则继续执行循环体
直到表达式为假,循环立即结束。继续执行循环后面的代码。
循环体中一般都会有能控制表达式结果的语句,否则就是死循环了。
表达式的用法,和if..else 语句的表达式的用法一样。
例:
2.3 do..while 循环
2.3.1 格式
2.3.2 执行逻辑
先执行代码块,然后执行表达式,如果表达式为真,
则继续执行代码块,直到表达式为假 循环立即结束。
do_while 和 while 的区别:
while : 先判断 后执行
do_while:先执行 后判断
不管表达式为真还是为假,do_while里面的代码块 至少要执行一次。
2.4 for 循环
2.4.1 格式
2.4.2 执行逻辑
先执行表达式1,然后执行表达式2,如果表达式2为真
则执行循环体,然后执行表达式3,
然后再执行表达式2,如果还未真,则继续执行循环体和表达式3
直到表达式2为假 循环立即结束。
2.4.3 关于for循环的三个表达式
表达式1:只执行1次,一般是用来给循环变量赋初值的。
--C99的标准允许表达式1中定义变量,但是定义的变量
生命周期和作用域只有当前的for循环的{}内部
表达式2:和前面while循环的表达式一样,一般是用来判断真假的
表达式3:一般是用来改变循环变量的值从而确定循环结束条件的
这三个表达式,如果哪个不需要,可以不写,但是 ;; 必须要写。