循环和分支及break和continue
来源:互联网 发布:sql order by limit 1 编辑:程序博客网 时间:2024/05/18 01:47
循环和分支及break和continue
switch,if…else…,for,while,break和continue,这些都是很常用的关键字,但是还是有很多细节之处需要注意。
1. switch
(1) switch(X)其中X必须是整型数(包括枚举和字符)。
(2) 在switch中case是一个真正意义上的标号,根据switch(X)中X参数去选择执行开始的位置(类似与goto语句的跳转),而程序的控制流会径直通过case标号而不会受到任何影响,想要在switch语句块结束前跳出要用到“break”。(以下程序是利用break控制switch的结束)
switch (nFlag)
{
case 1:
printf("1");
break;
case 2:
printf("2");
case 3:
printf("3");
}
//当nFlag=1时,输出1
//当nflag=2时,输出23
2. if…else…
(1) 关于if…else…要比较注意的是多个使用该语句时的else的悬挂问题(尤其注意在没有明确用“{}”花括号指明语句所属时),如下。
if (0 == x)
if (0 == y) error();
else
z = x + y;
不要被格式迷惑,以上程序中else其实是与if(0==y)相配套的,即与它最近的if相匹配。(注意最好用花括号指明)
3. break
(1) break在switch中的使用(见switch)。
(2) break在循环语句中的使用,是指跳出终止本层循环。如下,
4. continue
(1) continue在for和while语句中细微区别:
(2) continue与break在循环中使用的区别:continue是指终止本次(或本轮)的循环(并没有跳出该循环),而break是指终止本层的循环(即跳出当前层的循环)。
5. 循环语句的注意点
(1) 多层循环中尽量用长循环在内短循环在外提高效率。(减少循环之间的跳转)
(2) 在使用for循环时,最好不要在循环体内改变循环变量或条件。尽量避免如下程序的出现,该循环难判断循环的终止。(如果是算法本身实现要改变循环变量或条件,最好写清原因)
for (i = 0; i < length+10; i++)
{
................
length = j + 1; //length的值受其他值影响,而length影响着判断条件
i = i + 2; //循环内改变了循环变量的值
................
}
(3) goto语句在现在经常被避免使用,不过在多层的嵌套的循环中,要跳出两层或更多层的循环时,goto可以发挥很好的作用。
- 循环和分支及break和continue
- 退出循环:break和continue
- 循环中的break和continue
- #循环中的continue 和 break
- for循环的简介及break和continue的区别
- for循环的简介及break和continue的区别
- for循环的简介及break和continue的区别
- for循环的简介及break和continue的区别
- for循环的简介及break和continue的区别
- for循环的简介及break和continue的区别
- Java中的Break循环和Continue循环!
- Java学习笔记四-Java的循环结构和分支结构以及break,continue关键字
- 使用break和continue进行循环控制
- 循环语句中的break和continue区别
- 控制循环结构: break、continue和return
- Java带标签循环 break 和 continue
- for循环中的break和continue
- 循环语句以及break和continue
- Struts2-第四篇-Processing Forms
- Ubuntu12.04+OpenERP7.0安装笔记
- POJ 3982 序列
- 正则表达式备忘录
- Java中的集合类
- 循环和分支及break和continue
- WIN7远程桌面连接方法
- Slash Maze(uva 705)
- DCOM Access Denied Problem
- Median of Two Sorted Arrays
- Maven依赖Scope标签用法
- hdu 1180
- linux 内存分析工具 procrank meminfo vmstat top等详解
- vs2012远程调试功能的改进