三种结构流程图
在文章嵌入式Linux开发《C语言专题(四:程序结构之顺序结构(1))》、嵌入式Linux开发《C语言专题(四:程序结构之选择结构(2))》和嵌入式Linux开发《C语言专题(四:程序结构之循环结构(3))》中分别对C语言中程序结构中的顺序结构、选择结构和循环结构进行详细描述,这篇文章是对这三种结构作简要总结及补充。
(1)顺序结构
顺序结构是C语言程序结构中最简单的一种,它的执行流程是一条语句一条语句的执行,很简单。唯一需要注意的是其它两种程序结构中包含着顺序结构也即:选择结构和循环结构中有顺序结构的影子。
(2)选择结构
1)if...else 要注意if...else中的多重嵌套以及if...else配对的问题。
2)switch...case语句中 switch后面的语句必须是整型值;在每个switch语句后都应该加上default语句,因为这样做可以让代码检测不匹配的值,否则程序将如无其事的执行,并不提示任何错误。如果不想加default,请确保switch表达式中的值已经被检测过,确认会一定匹配case后面的数。还有就是最后一个case语句的后面也要加上break,一方面是让代码整齐划一,另一方面还方便后续自己或者其它人员还想继续增加case语句时,防止以前最后一个case少了break造成逻辑混乱。
还要想清楚什么时候用if...else和switch...case选择结构。
(3)循环结构
1)有for while do...while三种形式
2)实现循环都有三部分组成:循环变量初始化、循环终止条件、循环变量增量 循环变量一定要初始化,否则这个变量的值是不确定的(比如定义一个局部变量,它的值有时是不确定的),也就不会得到我们想要的结果。
3)理解for、while、do...while之间的区别与联系 使得在用到循环时做出最合适的选择
4)要注意break、continue关键字在for循环和while循环以及if中的使用。
break语句:在while和for循环中(只有一层while和for循环)使用,则会终止整个循环,之后会执行整个for循环后面的那条语句。在多层while和for循环内只退出最内层的循环,外层循环依然进行。单层测试代码及结果如下图所示:
while、for及break代码1
while、for及break代码2
while、for及break执行结果
多重for循环结合break测试代码如下图所示:
多重for循环代码
还有对于多重for循环来讲,如果有可能,应当将最长的循环放在最内层,最短的循环放在最外层,以减少CPU跨切循环层的次数,这样可以提高执行效率。
continue语句:在while和for循环中使用,会终止当前的那次循环(即只会对最内层的循环起作用,不会对外层起作用),之后要重新测试循环变量的终止条件,决定是否执行循环体。测试代码及结果如下图所示:
while、for及continue代码
while、for及continue执行结果
这三种结构是写复杂C语言代码以及实现复杂功能的基础,所以一定要学好,方法就是要多写代码,调试,由实验结果来验证自己的想法 ,不可只看看,这样能力就会不断的得到提升。