原创 嵌入式微控制器C语言学习笔记34-《C语言入门经典》第4章

2009-7-5 09:26 2031 5 5 分类: MCU/ 嵌入式

第4章  循环


    循环和比较数据项是基本的编程工具。


    递增运算符(++)和递减运算符(--)会将存储在整数变量中的值递增或递减1。


    for循环的操作由关键字for后面括号中的内容控制:第一个控制表达式在循环开始时执行,且只执行一次;第二个控制表达式必须是一个逻辑表达式,其结果为true或false;第三个控制表达式在每一次循环迭代结束时执行。for循环的控制表达式包含在括号内,每个表达式用分号隔开。控制只要需要多次重复执行某个语句块,就应使用循环,这通常可以节省时间和内存。


    将++运算符放在变量前面,称为前置形式。运算符也可以写在变量的后面,称为后置形式。在表达式中使用前置和后置形式的效果大不相同。在语句中使用递增运算符时,不论是前置还是后置形式,都会得到相同的结果。


    for循环的语句内可以不放置任何参数,因为没有循环继续条件、初始条件以及循环计数器,所以循环将永不停止。要停止循环必须包含两条语句:判断结束循环的条件是否已满足的语句,以及终止当前循环迭代并继续执行循环后面语句的语句。


    break语句在循环内的作用是结束循环,继续执行循环后面的语句。return语句会结束函数的执行。


    可以对循环计数器递增或递减任意数值。循环控制变量也可以是一个浮点型变量。分数值通常没有浮点数形式的精确表示,所以不应该把相等判断作为结束循环的条件。


    最内层循环中的break语句只能跳出这个最内层的循环,要使用break语句完全跳出嵌套循环,需要相当复杂的逻辑才能中断每一层循环,最后跳出最外层的循环。使用goto语句,直接跳转到标号位置,可以直接退出整个嵌套循环,而不必在外部循环中进行复杂的判断。


    do-while语句和for语句以及while语句相比,有非常微妙的区别,它是在循环结束时测试循环是否继续,所以这个循环的语句或语句块至少会执行一次。这个循环和其他两个循环比较起来,使用的机会相当少。当需要至少执行一次循环时,do-while是最佳的选择。


    有时不希望结束循环,但要跳过目前的迭代,继续执行下一个迭代,循环体内的continue语句就有这个作用。


    当在开发程序时,应保证每步编写的代码都能编译。如果试图一口气编写出所有的程序代码,就可能许多错误需要修正,而且更正了一个错误后,又会出现其它更多的错误。每添加一些代码就检查程序,可以减少这个问题,即使有问题也比较容易处理。


    开始编写程序前,先规划好过程和计算的逻辑,将它写下来,最好采用流程图的形式。试着从侧面思考问题,这也许比直接的方法更好。


    理解运算符的优先级,以正确计算复杂的表达式。如不能确定运算符的优先级,就应使用括号,确保表达式完成预期的操作,使用括号更便于理解复杂的表达式。


    给程序加上注释,全面解释它们的操作和使用。要假设这些注释是为了方便别人阅读这个程序,并加以扩展与修改。声明变量是应说明它们的作用。程序的可读性是最重要的。


    在复杂的逻辑表达式中尽量避免使用!运算符。


    使用缩进格式,可视化地表达出程序的结构。

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
5
关闭 站长推荐上一条 /3 下一条