(算术运算符)乐创DIY C语言讲义——3.7节(1)
3.7 C语言的运算符
编写一个程序的目的,离不开运算,在C语言中,用于程序运算的操作符被称为运算符。运算符可以完成逻辑运算和算术运算两运算。C语言中的运算符主要由以下几大类:
算术运算符
关系运算符
逻辑运算符
位运算符
赋值运算符
杂项运算符
接下来的内容,我们来逐一讲述这些运算符。
1. 算术运算符和赋值操作符
算术运算符是C语言中用于算术运算的操作符,所谓的算术运算即是加减乘除这四种四则运算。C语言中的运算符如图3-7-1所示。赋值运算符就是我们之前已经用过的等于号“=”,在这里,它的意思是将一个运算结果或者一个常量的值赋给一个变量,记住只有变量才可以被赋值。
图3-7-1 C语言中的算术运算符
图3-7-1中的前面三个操作符“+”,“-”,“*”就是我们一贯意义上的加法乘法和除法,操作时,我们可以利用其中的一个操作符进行运算,或者多个操作符进行四则运算,运算完的结果需要赋值给一个变量。如图3-7-2的示例。
图3-7-2加法运算
减法运算和加法运算一样,但是有一点需要注意的是,如果需要计算的操作数中有负数,那需要将这些数定义成无符号的数。
乘法运算和加减法运算一样,只不过需要注意两个乘数结果的范围,这个我们后面在看。
这里需要说明的是,“/”符号,这个符号虽然和我们算术运算中的除法一样,但是大家思考一下,如果两个整数变量相除,除不尽的时候,那岂不是得到一个小数?即两个整型变量的结果变成一个浮点数?所以当两个变量是整形数的时候,它不是用来做除法运算的,这个符号叫做“取模”,“%”这个符号虽然是我们平时惯用的“百分号”,但是在C语言操作符里面叫做“取余”。举个简单的例子,在我们小学还没有学习小数的时候,除法运算时,我们都以“商……余数”的形式来表示出发的商,如“10÷3 = 3……1“,在这个例子中,“商”3就是通过取模运算符“/”得到的,“余数”1就是通过取余运算符“%”得到的。如图3-7-3所示。
图3-7-3 取余和取模
而浮点数中,“/”符号表示的就是算术运算中的除法,当两个操作数都是浮点数变量的时候,除法得到的商也是浮点数,如图3-7-4所示。
图3-7-4 浮点数除法
“++”表示加1的意思,“--”表示减1的意思,使用的方法为“变量++”,“++变量”或者“变量--”,“--变量”。一般叫它们“自加“或者”自减“。
当只是对一个变量“变量++”,“++变量”或者“变量--”,“--变量”且不作其他操作时,它仅仅对变量本身进行加1运算或者减1运算,如图3-7-5所示。
图3-7-5 单个变量++
然而,当这个变量在一个表达式里面自加或者自减时“变量++”,“变量--”和“++变量”,“--变量”却完全不一样。“变量++”,“变量--”的代码如图3-7-6所示。
图3-7-6 i++和++i
如图3-7-6所示,两个程序就是由于i++和++i的区别,造成的结果却不一样。
在一个表达式运算中,“sum = 500 + (i ++);“可以分成两个语句来写:
Sum = 500 + i;
i ++;
“sum = 500 + (++ i);“可以分成两个语句来写:
i ++;
Sum = 500 + i;
总结一下,在一个表达式中如果“变量++“,那么先做运算,然后再对变量自加,而”++变量“则是先对变量自加,然后做运算。