C Primer Plus 第五章

来源:互联网 发布:vod网络媒体播放器 编辑:程序博客网 时间:2024/06/04 08:35

C使用运算符(operator)来代表算术运算,现在我们看一下用于基本算术运算的运算符: =、+、-、*,以及/ (C没有指数运算符。赋值运算符:=

在C里,符号=不表示“相等”,而是一个赋值运算符。下面的语句将值2002赋给名字为bmw的变量:bmw = 2002;,符号=的左边是一个变量名,右边是赋给该变量的值。

/* golf, c --高尔夫锦标赛记分卡*/
#include <stdi〇.h> int main (void)
{

int jane, tarzan, cheeta:

cheeta = tarzan = jane = 68;

printf (" cheeta tarzan jane\n*):

printf ("First round score %4d %8d %8d\n", cheeta. tarzan, jane);

return 0;

}

许多程序语言将在本程序里的三重陚值处卡壳,但是c可以顺利接受它。陚值是从右到左进行的。首 先jane得到值68,然后tarzan得到值68,最后cheeta得到值68。

加法运算符:+
“加法运算符”(addition operator)使得在它两侧的值被加到一起。

减法运算符:-
“减法运算符”(subtraction operator)从它前面的数中减去它后面的数。

例如,下面的语句将值200.0 陚给 takehome:

takehome = 224.00 - 24.00;
+和-运算符被称为二元(binary)或双值(dyadic)运算符,这表示它们需要两个操作数。

乘法运算符:*

乘法由符号*表示。语句:
cm = 2.54 * inch:
用2.54乘以变量inch,然后将结果陚给cm。

除法运算符:/
C使用符号/来表示除法。
/左边的值被它右边的值除。例如,下面的语句把值4.0赋给four:
four = 12.0/ 3.0:

整型数的除法运算和浮点型数的除法运算有很大的不同。浮点类型的除法运算得出--个浮点数结果, 而整数除法运算则产生一个整数结果。整数不能有小数部分,这使得用3去除5很让人头痛,因为结果有 小数部分。在C中,整数除法结果的小数部分都被丢弃。这个过程被称为截尾(truncation)。

运算符的优先级
考虑下面的代码行:
butter = 25.0 + 60.0 * n / SCALE:

执行各种操作的顺序很重要,所以C需要关于执行顺序的明确规则。C通过建立-个运算符的 优先顺序来满足上述需求。将一个优先级赋予每个运算符。像在普通的算术运算中那样,乘法和除法具 有比加法和减法更高的优先级,所以先执行乘法和除法运算。如果两个运算符有相同的优先级将会发屮什 么?如果它们共享--个操作数,会根据它们在语句里出现的顺序执行它们。对于大多数的运算符,该顺序 是从左到右的(=运算符是这个规则的例外)。

如何让加法在除法之前执行?您可以像下面这样:
flour = (25.0 + 60.0 * n) / SCALE:
最先被执行的是圆括号中包含的部分。在圆括号内部,运算按正常的规则进行。在本例中,先执行乘 法运算,然后是加法。圆括号内的表达式就是如此完成的。现在可以用SCALE去除这个结果了。

原创粉丝点击