Linux C 编程学习第三天_分支语句
分支语句 Selection Statement
if( ) 语句,不用多说了吧,注意的几个点," = " 不是 " == " ,在条件中,太多次有人写错了,另外,如果写的条件非常长,在连写时先确定它们的优先级,否则可能无法得到正确的逻辑
这里加入一个有意思东西——语句块:
像这样的一段由 { } 包括起来的代码就是语句块:
语句块也是一个作用域,在里面声明的变量也是局部变量,可以说是局部(函数)的局部变量,同时他在退出语句块的时候,就会被释放,语句块可以出现在任何允许出现语句的地方,最简单的就是if_else语句中了:
关于else if ,实际上下面这种写法是等效的:
接着在明确一个问题,所有的 else 都是和上一个 if 对应的:
看到这个代码,注意36行的 else 是和 30 行的 if 对应的
所有C的缩进都是给程序员们看的,编译器只吃它那一套,所有即使你写成这样,他依旧是和最近的 if 配对:
那么我想让他和30行的 if 对应怎么办呢,这样就行:
加上 { }
所以对c来说,不光是要养成良好的缩进习惯,也要熟悉这些语法,否则有可能被自己的缩进坑了。
另外,浮点型的精度有限,不适合做 " == " 运算,随后会学习到
布尔代数
&& 和 || 的用法,一个是同时成立,一个是只需要一个成立,关于逻辑运算的数学体系称为布尔代数,用于表示真和假的数据类型称之为布尔型,C语言中常用int表示,0就是假,1就是真
接着说一下逻辑运算的优先级:! 高于 * / %,高于 + - , 高于 > < >= <= ,高于 == != ,高于 && ,高于 ||
switch语句
记得要在每个case语句和default语句后加如break: