-
else匹配问题
if,else语句中的else总是与最近的if相匹配。
而不管代码的缩进格式情况。
-
级联的if-else if
if,else中的语句之后必须加上大括号形成语句块,大括号内的语句缩进一个tab的位置。
-
switch-case语句
switch(控制表达式){
case 常量:
语句
······
case 常量:
语句
······
case 常量:
语句
default:
语句
······
}
控制表达式只能是整数型的结果,
常量可以是常数,也可以是常数计算的表达式,
根据选定的case,执行其后面的语句,一直到break为止,
没有相匹配的case,则执行default后面的语句,没有default则什么也不做。
-
switch-case是如何实现的?
初步认知:当case项比较多时,通常会生成查询表来提高程序的运行效率,空间换时间。
在case项较少或比较离散时,不能生成查询表时,则是转换成if-else执行。
具体涉及到汇编的知识,可以参看https://blog.csdn.net/ts_54eagle/article/details/5278465这篇文章。