本节书摘来自华章社区《C语言程序设计:问题与求解方法》一书中的第2章,第2.13节运算符,作者:何 勤,更多章节内容可以访问云栖社区“华章社区”公众号查看
2.13 运算符
在C语言源程序中,怎样才能表达我们想对以变量或常量形式出现的数据进行某种运算呢?这就要使用运算符。
用运算符把各种运算量(变量、常量、函数调用等)结合起来,构成表达式,用这种形式化、抽象化的方法来告诉编译程序,我们想要计算机对哪些数据、依照什么样的顺序、执行哪些种类的运算,请编译程序将其翻译成与某类机器有关的机器语言指令。
C语言中,常用的运算符分为三大类:
1)算术运算符:见表2-5。
2)关系运算符:大于(>)、大于等于(>=)、小于(<)、小于等于(<=)、 等于(==)、不等于(!=),用法见第4章。
3)逻辑运算符:与(&&)、或(||)、非(!),用法见第4章。
一元运算符是只需一个运算量的运算符;而二元运算符需要左、右两个运算量参与运算,才能得到运算结果。
使用算术运算符时,有以下几点需要注意:
1)初学者最容易漏写乘法运算符(比如将2xy误写为2xy )。
2)不要把实数除法误用为整数除法(比如,错把1.0/3.0 写成1/3 。1/3的值是0 )。一般地,如果m和n都是正整型量,则结果是舍弃了小数部分的整数商。
3)不要将数值0作为除数,这将导致程序无法运行下去而崩溃。
4)取模运算符%两边的运算量,都要求是整型量,不能是实型量。
5)注意:要确保程序运行时的运算结果不会溢出(即不超过数值的取值范围)。
取模运算符“%”得到的是整数除法的余数。取模运算符“%”的作用非常大,在后面章节你可以看到,在处理一些周期性问题或者将一个多位数值分解成一个个的单个数字时,都离不开它。
延伸与拓展:C语言中的运算符共有43种。运算符规定的运算,最终都将由编译程序翻译成的机器指令来具体执行。
运算符与运算类的机器指令之间并不是一一对应的。有些运算符规定的运算用一条机器指令即可实现(比如下一章要学到的i++、– –j等);另一些运算符指定的运算则需要多条机器指令来实现(比如下一章要讲的逗号运算符和第5章介绍的条件运算符等)。一种运算符随着运算量的类型不同,可以转换成不同的机器指令(比如加法运算符)。