C语言|第六章学习记录
C语言|第六章学习记录
Zehua第六章
fabs()函数
- 声明在
math.h
头文件中 - 可以方便地比较浮点数
- 返回一个浮点值的绝对值(即,没有代数符号的值)
布尔值和关系运算符
- 一般而言,所有的非零值都视为真,只有0被视为假
- 关系表达式为真,求值得1;关系表达式为假,求值得0
_Bool
类型的变量只能储存1(真)或0(假)- 如果把其他非零数值赋给
_Bool
类型的变量,该变量会被设置为1 - 关系运算符的优先级比算术运算符(包括
+
和-
)低,比赋值运算符高 - 关系运算符之间有两种不同的优先级:
- 高优先级组:
<=
>=
- 低优先级组:
==
!=
- 高优先级组:
for语句
- 使用3个表达式控制循环过程,分别用分号隔开
initialize
表达式在执行for语句之前只执行一次- 然后对
test
表达式求值,如果表达式为真(或非零),执行循环一次 - 接着对
update
表达式求值,并再次检查test
表达式
- for语句是一种入口条件循环,即在执行循环之前就决定了是否执行循环因此,for循环可能一次都不执行
statement
部分可以是一条简单语句或复合语句- 形式:
for ( initialize; test; update ) |
其他赋值运算符
+=
、-=
、*=
、/=
、%=
- 例:
x *= 3 * y + 12
与x = x * (3 * y + 12)
相同
逗号运算符
- 扩展了for循环的灵活性,以便在循环头中包含更多的表达式
- 保证了被它分隔的表达式从左往右求值(换言之,逗号是一个序列点,所以逗号左侧项的所有副作用都在程序执行逗号右侧项之前发生)
- 其次,整个逗号表达式的值是右侧项的值
- 逗号也可用作分隔符
do while循环
- 每次迭代之后检查测试条件,这保证了至少执行循环体中的内容一次
- 形式:
do |
数组
- 是按顺序储存的一系列类型相同的值,如10个char类型的字符或15个int类型的值
- 例如,以下声明:
float debts[20];
- 声明debts是一个内含20个元素的数组,每个元素都可以储存float类型的值
- 数组的第1个元素是debts[0],第2个元素是debts1,以此类推,直到debts[19]
- 注意,数组元素的编号从0开始,不是从1开始
- 可以给每个元素赋float类型的值。例如,可以这样写:
debts[5] = 32.54;
- 如果char类型的数组末尾包含一个表示字符串末尾的空字符
\0
,则该数组中的内容就构成了一个字符串 - 用于识别数组元素的数字被称为下标(subscript)、索引(indice)或偏移量(offset)
- 下标必须是整数,而且要从0开始计数
函数返回值
- 声明函数的返回类型,在函数名前写出类型
- 关键字
return
表明该函数将把它后面的值返回给主调函数 - 函数返回一个变量的值
- 返回值也可以是表达式的值
如:
return pow;//返回pow的值 |