28-本章小结
5.9 本章小结
C语言有许多运算符,如本章讨论的赋值运算符和算术运算符。一般而言,运算符需要一个或多个运算对象才能完成运算生成一个值。只需要一个运算对象的运算符(如负号和 sizeof )称为一元运算符,需要两个运算对象的运算符(如加法运算符和乘法运算符)称为二元运算符。
表达式由运算符和运算对象组成。在C语言中,每个表达式都有一个值,包括赋值表达式和比较表达式。运算符优先级规则决定了表达式中各项的求值顺序。当两个运算符共享一个运算对象时,先进行优先级高的运算。如果运算符的优先级相等,由结合律(从左往右或从右往左)决定求值顺序。
大部分语句都以分号结尾。最常用的语句是表达式语句。用花括号括起来的一条或多条语句构成了复合语句(或称为块)。 while 语句是一种迭代语句,只要测试条件为真,就重复执行循环体中的语句。
在C语言中,许多类型转换都是自动进行的。当 char 和 short 类型出现在表达式里或作为函数的参数(函数原型除外)时,都会被升级为 int 类型; float 类型在函数参数中时,会被升级为 double 类型。在K&R C(不是ANSI C)下,表达式中的 float 也会被升级为 double 类型。当把一种类型的值赋给另一种类型的变量时,值将被转换成与变量的类型相同。当把较大类型转换成较小类型时(如, long 转换成 short ,或 double 转换成 float ),可能会丢失数据。根据本章介绍的规则,在混合类型的运算中,较小类型会被转换成较大类型。
定义带一个参数的函数时,便在函数定义中声明了一个变量,或称为形式参数。然后,在函数调用中传入的值会被赋给这个变量。这样,在函数中就可以使用该值了。