《C程序设计语言(第2版·新版)》第3章 控制流
控制各计算操作执行的顺序。
3.1 语句与程序块
;是语句结束符;{}是复合语句(即程序块,总可以声明变量),语法上等价于单条语句;
3.2 3.3 if-else语句
if-else:else可选;嵌套自动内层匹配,建议加{}来明确或改变匹配关系;
if-else if-else:多路判定,只执行一个;
3.4 switch语句
switch(表达式){
case 常量表达式:语句
...
default:语句
}
多路判定,除非碰到break或return,否则每一个分支都会被测试执行;
3.5 while与for循环
while(表达式)
语句
for(表达式1,;表达式2;表达式3)
语句
不包含continue时,等价于:
表达式1;
while(表达式2){
语句
表达式3;
}
break和return都可以终止循环;
逗号运算符优先级最低,从左到右求值;有时可把连续几个语句变成一个语句,很适用于单个表达式多步计算的宏,或者关系紧密的结构如元素交换:
temp=s[i], s[i]=s[j], s[j]=temp;
3.6 do-while循环
do
语句
while()
3.7 break与continue语句
continue用于循环。对while或do-while:立即执行测试;对for:控制转移到递增循环变量部分;
break用于跳出循环以及switch;
3.8 goto语句与标号
goto 标号;
...
标号:
语句
goto理论上非必要,有时难以理解,尽量少用;可用于跳出多重循环;
标号命名同变量,可位于对应goto所在函数任何语句前,作用域整个函数;