运算符

1.算术运算符与算术表达式

几乎每一个程序都需要运算,否则程序就变得没有意义。要进行运算,就需要规定可以使用的运算符。C语言的运算符包含除了控制语句和输入输出以外的基本操作,基本的算术运算符如下表:

运算符与举例 名称 运算结果
+a 正号运算符 1 a的值
-a 负号运算符 1 a的负值
a*b 乘法运算符 2 a和b的乘积
a/b 除法运算符 2 a除以b的商
a%b 求余(取模)运算符 2 a除以b的余数
a+b 加法运算符 2 a和b的和
a-b 减法运算符 2 a和b的差
a++ 自增运算符 1 使用a之后将a的值增加1
++a 自增运算符 1 将a的值增加1再使用
a-- 自减运算符 1 使用a之后将a的值减小1
--a 自减运算符 1 将a的值减小1再使用
a?b:c 选择运算符 3 判断a的真假,如果真执行b,假则执行c

在这里需要一些相关说明:

  1. 由于键盘无法输入乘除号,所以以 * 和 / 号代替。
  2. 两个实数相除的结果是实数,两个整数相除是整数。但“取整”的舍去规则跟编译环境有关,有的编译器是向前取整,有的编译器是向后取整。例如-5 / 3的结果在有的编译器里是-1,有的是-2。
  3. 取模操作(%)要求参加运算的两个对象都是整数,取模运算结果也是整数,例如5 % 3 = 2。除%之外的所有运算,参加运算的对象都可以是任何类型。
  4. 自增(自减)运算符的运算与调用的先后顺序很重要,这一部分会在日后的《输入与输出》一节详细讲解。
  5. 有关于不同类型间的混合运算,请参阅参考资料[1]的3.2.7节(54页)。
  6. 在进行数值运算时,总会因为参加运算的两个数值类型不同而得不到正确的结果,这个时候可以对数据进行强制类型转换。强制类型转换符由一个括号加变量类型组成,例如:
(double)a

即为将变量a转换成double类型。一般形式为:

(类型名)(表达式);

除了算术运算符以外,C语言还提供其他运算符,例如关系运算符、逻辑运算符、位运算符、逗号运算符、求字节数运算符等。相关知识读者可以自己查阅资料进行详细了解。

带有算术运算符组成的表达式叫做算术表达式,每一个算术表达式都有它的值。

2.逻辑运算符与逻辑表达式

逻辑运算表达的是“关系”,逻辑表达式是一句可以判断真假的表达式。常用的逻辑运算符有三种:

运算符 含义 举例 说明
&& 逻辑与 a&&b 只有在a与b都为真时为真
\ \ 逻辑或 a\ \ b a和b之间有一个为真即为真
! 逻辑非 !a !a与a真值相反

逻辑与和逻辑或为双目运算符,要求有两个对象参加运算。当参加运算的a和b为不同值的时候,逻辑运算得到的值也不相同:

a b !a !b a&&b a\ \ b
T T F F T T
T F F T F T

F|T|T|F|F|T F|F|T|T|F|F

另外,逻辑运算有相应的运算顺序,最低为赋值(=)运算,第二是&&和||,第三是关系运算符,第四是算术运算符,最高是非(!)运算。

这本书是xt写的上次修改: 2019-04-18 15:24:43

results matching ""

    No results matching ""