C语言|第六章学习记录

第六章

fabs()函数

  • 声明在math.h头文件中
  • 可以方便地比较浮点数
  • 返回一个浮点值的绝对值(即,没有代数符号的值)

布尔值和关系运算符

  • 一般而言,所有的非零值都视为真,只有0被视为假
  • 关系表达式为真,求值得1;关系表达式为假,求值得0
  • _Bool类型的变量只能储存1(真)或0(假)
  • 如果把其他非零数值赋给_Bool类型的变量,该变量会被设置为1
  • 关系运算符的优先级比算术运算符(包括+-)低,比赋值运算符高
  • 关系运算符之间有两种不同的优先级:
    • 高优先级组: <= >=
    • 低优先级组: == !=
      2023-09-02T05:21:55.png

for语句

  • 使用3个表达式控制循环过程,分别用分号隔开
    • initialize表达式在执行for语句之前只执行一次
    • 然后对test表达式求值,如果表达式为真(或非零),执行循环一次
    • 接着对update表达式求值,并再次检查test表达式
  • for语句是一种入口条件循环,即在执行循环之前就决定了是否执行循环因此,for循环可能一次都不执行
  • statement部分可以是一条简单语句或复合语句
  • 形式:
for ( initialize; test; update )
statement //在test为假或0之前,重复执行statement部分。

其他赋值运算符

  • +=-=*=/=%=
  • 例:x *= 3 * y + 12x = x * (3 * y + 12) 相同

逗号运算符

  • 扩展了for循环的灵活性,以便在循环头中包含更多的表达式
  • 保证了被它分隔的表达式从左往右求值(换言之,逗号是一个序列点,所以逗号左侧项的所有副作用都在程序执行逗号右侧项之前发生)
  • 其次,整个逗号表达式的值是右侧项的值
  • 逗号也可用作分隔符

do while循环

  • 每次迭代之后检查测试条件,这保证了至少执行循环体中的内容一次
  • 形式:
do
statement
while ( expression );\\在test为假或0之前,重复执行statement部分。

数组

  • 是按顺序储存的一系列类型相同的值,如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的值