第六章循环控制结构总结和感悟

第六章循环控制结构总结和感悟

循环控制结构与循环语句
学完循环后,去做openjudge上的题发现基本每道题都会用到循环控制结构。顺序结构、选择结构和循环结构是用于结构化程序设计的·三种基本结构,任何复杂问题都可以用这三种基本结构来编程实现。今天我就总结一下循环控制结构。
C语言提供了for、while、do-while三种循环语句来实现循环结构。被重复的语句序列被称为循环体。
While语句和do-while语句
一般表现形式 while(循环控制条件) do-while
{ {
语句序列 语句序列
}花括号内为循环体 }花括号内为循环体

  While和do-while看上去类似,只是循环条件位置不同。实际上whlie和do-while分别代表当型循环和直型循环两种不同的循环结构。对于至少循环一次的语句序列,我们常常采用直型循环。

For语句
For语句属于当型循环结构,一般形式:
for(初始化表达式;循环控制表达式;增值表达式)
{
语句序列
}
for语句中三个表达式之间的分隔符是分号(有且仅有两个,既不能多,也不能少)。初始化表达式和增值表达式可以写在其他地方但是两个分号是必须写在括号内的。

计数控制的循环和条件控制循环
循环次数事先已知的循环称为计数控制的循环。适用于数值改变时,利用数值控制循环,习惯上利用for语句编写计数控制的循环更为简洁方便。循环次数事先未知的循环通常是由一个条件控制的,称为条件控制的循环。此时用while语句和do-while语句编程更为方便。

嵌套循环
循环体中包含另一个循环语句的循环称为嵌套循环,while,do-while,for这三种循环均可相互嵌套。在画矩形和金裱花的题目中我常常使用嵌套循环来控制行和列的输出。
for ( i=0; ;i++)/控制行/
{
for(j=0; ;j++)/控制列/
{
}
}

流程的转移控制
goto语句 goto 语句标号;
语句标号:
常与if(表达式)连用,如if(表达式) goto语句标号;不过最好不要使用goto语句。

break语句和continue语句
continue语句与break语句都可以对循环语句进行内部控制,当在循环体中遇到continue语句时,程序将跳过continue语句后面尚未执行的语句,开始下一次循环。而循环体遇到break语句时,循环终止,从循环后的第一条语句。
备注!!!在嵌套循环的情况下,break 语句和continue 语句只对包含它们的最内层的循环语句起作用,不能用break语句跳出循环。

拓展
穷举法
穷举简单地说就是通过尝试问题的所有可能来找到最终答案,在找到最终答案后常采用break语句退出循环,或用exit()来直接结束程序的运行。可读性更好的方法是使用标志变量例如将find赋值为假,循环判断条件置为真“!find”。
结构化程序设计的核心思想
单一入口单一出口
结构清晰、容易阅读、容易修改、容易验证
无不可达语句、无死循环语句

猜你喜欢

转载自blog.csdn.net/qq_43515378/article/details/84891314