程序语言中的控制流用于控制各计算操作的次序
3.1语句与程序块
用一对花括号{}把一组声明和语句括在一起就构成一个复合语句(也叫作程序块)
复合语句在语法上等价于单语句。函数体中被花括号括起来的语句便是明显的一例
3.2 if-else语句
if-else语句用于条件判定
其中else部分是可选的。
3.3 else-if语句
if(表达式)
语句
else if(表达式)
语句
else
语句
3.4switch语句
switch语句是一种多路判定语句,他测试表达式是否与一些常量整数值中的某一个值匹配
switch(表达式)
case 常量表达式:语句序列
case 常量表达式:语句序列
default:语句序列
break 语句将导致程序的执行立即从switch中退出。在switch中case的作用只是一个标号
某个分支的代码执行完后,程序将进入下一分支继续执行,除非在程序中显式地跳转
跳出switch语句最常用的方法是break 和 return
3.5 while循环与for循环
for(表达式1;表达式2;表达式3)
语句
表达式1;
while(表达式2){
语句
表达式3;
}
3.6 do-while
while和for循环在执行前进行测试
do-while在循环后进行测试
3.7 break与continue
break用于从循环中提前退出
continue用于开始下一次循环的执行
3.8 goto与标号
C语言提供了可随意滥用goto语句以及标记跳转位置的标号
从理论上讲,goto语句是没有必要的,实践中不使用goto语句也可以很容易的写出代码
至此本书中还没有使用goto语句
但是,在某些场合下goto语句还是用得着的。最常见的用法就是终止程序在某些深度嵌套的结构中的出来过程
标号的命名和变量命名的形式相同,标号的后面要紧跟一个冒号
标号可以位于对应的goto语句前面
标号的作用域是整个函数
大多数情况下,使用goto语句的程序段比不使用goto语句的程序段要难以理解和维护
建议尽可能少的使用goto语句