六.语句
1.语句类型
空语句(只有一个;)。
2.基本程序结构:顺序结构、分支结构、循环结构
(1)顺序结构语句
int a;
(2)分支结构语句
If (表达式)
语句;
if(表达式)
语句1;
else
语句2;
If(表达式1)
语句1;
else if(表达式2)
语句2;
。。。
else
语句n;
switch语句中的表达式和case后面的常量表达式的结果值的类型应该一致,其类型可以是除实型以外的任何类型(如整型、字符型、枚举型等)。default不一定限定在最后,且可以省略;每一个case后的常量表达式的值必须互不相同;执行完一个case后面的语句后,流程控制到下一个case继续执行,因此多个case可共用一组语句:
switch(n)
{
case 1:
case 2:语句;
。。。
}
switch(表达式)
{
case 0:语句1;break;
case 1:语句2;break;
。。。
case n-1:语句n-1;break;
Default:语句n;break;
}
注:break:将代码中的break都删除或注释掉后,编译链接并不会出错,只是执行时结果不太一样。如果没有break语句,那么从与常量表达式的值匹配的那个case语句开始后的所有代码段都会被执行,每个case语句相当于入口、开关。
(3)循环结构语句
当型循环(while、for)和直到型循环(do while)
while(表达式)
{
语句;//循环体
}
do
{
语句;//循环体
}while(表达式);
for(表达式1;表达式2;表达式3)
//循环变量初值;循环条件;循环变量增值
{
语句;//循环体
}
表达式123都可以为空(此时是死循环),不能省略分号;若省去表达式2则为无限循环;若省去表达式13则等同于while语句。
(4)几种特殊的无条件跳转语句
1> break语句
用在switch语句中使流程跳出switch结构,继续执行switch语句后面的语句;用在循环体内,迫使所在循环立即终止(跳出当前循环体),继续执行循环体后面的第一条语句。break语句不能用于循环语句和switch语句之外的任何其他语句。
break是结束所在循环,不再进行条件判断;增加循环或switch语句的出口。找到一个符合条件的就退出循环。
switch单项选择break;多项去掉break,符合某个case情况后的语句全部执行,遇到break停止。
2> continue语句
continue:结束本次循环(跳过循环体中尚未执行的语句),接着进行是否执行下一次循环的判定。
continue只结束本次循环,而非终止整个循环;增加循环入口。用于找到所有符合条件的。
3> goto语句
语句标号必须是合法的标识符,不能用整数开头做标号;与if语句一起构成循环结构;
从多层循环体的内层循环跳到外层循环;结构化程序设计方法主张限制使用goto语句,滥用会使程序流程无规律可读性差。
除非跳出多个循环或者远程注入技术,原则上尽量少用goto。