在程序中,由语句来指定要完成什么样的动作。C语言中的语句大致可以分为标号语句、符合语句、表达式语句、选择语句、迭代语句和跳转语句。
1、标号语句
标号语句用于标识一个可以执行的程序入口,这个入口就是执行跳转和分支选择的目标,但标号本身不会改变程序的执行流程。
case标号和deault标号只有在switch中才有意义。,声明为标号的标识符是标识名(label name),标识名是唯一具有函数作用域的标识符。
2、复合语句
复合语句是由一对花括号以及可选的,位于花括号中的一些声明和语句组成的。
3、表达式语句
在表达式后面加一个分号“;”就构成了表达式语句。
4、选择语句
选择语句包含if语句和switch语句。选择语句用于改变程序原有的执行顺序和流程。
5、迭代语句
迭代语句用于重复执行相同的代码,迭代语句包括do语句、while语句、for语句。
在此和大家分享一个do和while在宏定义中的用法。看下图例程。
宏的本质就是代码替换,而与之带来的问题就是优先级的问题,可能导致最终的效果达不到预期的结果,而do{}while(0U)从而保证了这个代码只被执行一遍,又保证不会因为优先级而使结果出错。相当于原子操作。
其实在我们编写程序的时候,可以了解库函数都是怎么使用的,如果细心研究可以学习很多知识。就比如这种用法在ST的库文件经常可以看到,我随便找了一个。
6、跳转语句
跳转语句的功能是令指令无条件的转到指定的位置,跳转语句包括goto语句、continue语句、break语句、return语句。
总结跳转语句的用法:
-
return:跳转到用它的那个函数的调用的语句的下一行代码。
-
break:出现在switch中,用来跳出整个switch。出现在循环体中,跳出他所在的那一层循环。
-
continue:只能出现在循环体中,用来跳过本次循环,提前进入下一次循环。
-
goto:用来在函数内进行跳转。