2.4 运算符与表达式
C 语言中有很多种运算符和表达式,如算术运算、赋值运算、逗号运算、自增、自减、关系运算、逻辑运算、位运算、条件运算等。正是由于C语言具有丰富的多种类型的表达式,才得以体现出C语言所具有的表达能力强、使用灵活、适应性好的特点。本节向读者介绍算术、赋值和逗号运算符,其他的运算符将在本章中结合有关内容陆续进行介绍。
2.4.1 算术运算符与算术表达式
1. 基本的算术运算符
C语言的基本算术运算符如表2.4所示。
表2.4 算术运算符
这里需要说明以下几点:
(1)“+”、“- ”作为单目运算符(如-x,-5)时,具有左结合性。作为单目运算符使用时其优先级高于双目运算符。
(2)除法运算符“/”在使用时要注意数据类型。参与运算量均为整型时,结果也为整型,舍去小数。如果运算量中有一个是实型,则结果为双精度实型。例如,20/7,-20/7 的结果均为整型,小数全部舍去;而20.0/7 和-20.0/7 由于有实数参与运算,其结果也为实型。
(3)求余运算符(模运算符)“%”要求参与运算的量均为整型,其结果等于两数相除后的余数。
2.算术表达式
C语言的算术表达式是由常量、变量、函数、运算符和圆括号组成的。例如:
3+5,3.2*5.6+7,-5*(18%4+9),x/(y+z),sin(x)+sin(y)。
它们都是合法的算术表达式。使用算术表达式时必须注意两个问题:一是双目运算符两侧的运算对象类型必须一致;二是括号可以改变表达式的运算顺序,先计算括号中的表达式,再计算括号外的表达式。