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去除这个结果了。
- C Primer Plus 第五章
- C Primer Plus 第五章
- 《C Primer Plus》第五章编程题
- C Primer Plus 第五章习题
- C++primer plus 第五章习题!
- c++primer plus第五章编程练习
- C Primer Plus 第五版
- C primer plus(第五版)编程练习第五章
- C++.Primer.Plus第五版第五章编程练习答案
- C Primer Plus (第五版) 第五章 编程练习 答案
- C++ Primer Plus 第五章
- 《C Primer Plus 第五版》第十章编程练习
- C++primer plus(第四版)第五章习题参考
- 《c primer plus》编程练习回顾-第五章
- C Primer Plus 第五章学习总结 2015.4.19
- C primer plus(第五版)编程练习第二章
- C primer plus(第五版)编程练习第三章
- C primer plus(第五版)编程练习第四章
- 使用eclipse建立webservice服务和客户端
- 绝对强大的三个linux指令: ar, nm, objdump
- docker详解
- 读入优化
- JavaWeb(2)_myEclipse_端口被占用
- C Primer Plus 第五章
- hdu 6129-推理
- 浅谈boostrap轮播插件原理
- oracle database 12c Release 2-Managing Undo 翻译(第二章节)
- SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)
- HDU 3416 Marriage Match IV(最短路+最大流(sap))
- MySQL入门学习
- 模板中使用函数的方法-thinkphp
- Application 中报第三方服务,java.lang.NoClassDefFoundError 解决的方案