C Primer Plus 第5章 运算符、表达式和语句 5.2基本运算符

5.2.2 加法运算符:+

“加法运算符“使得在它两侧的值被加到一起。被加的值(操作数)可以是变量也可以是常量。

5.2.3 减法运算符:-

”减法运算符“从它前面的数中减去它后面的数。

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

5.2.4 符号运算符:-和+

负号可以用于指示或改变一个值的代数符号。

当这样使用负号时,称它为一元运算符,表示它只需要一个操作数。

5.2.5 乘法运算符:*

指数增长

/*wheat.c--指数增长*/
#include <stdio.h>
#define SQUARES 64 
#define CROP 1E15 
int main(void)
{
    double current,total;
    int count = 1;

    printf(”square grains total ");
    printf("fraction of \n");
    printf("      added          grain     ");
    printf("US total\n");
    total=current=1.0;
    printf("%4d %13.2e %12.2e %12.2e\n",count,current,total,total/CROP);
    while (count<SQUARES)
    {
        count=count+1;
        current=2.0*current;
        total=total+current;
        printf("%4d %13.2e %12.2e %12.2e\n",count,current,total,total/CROP);
    }
    printf("That's all.\n");
    return 0;
}

5.2.6 除法运算符:/

整型数的除尘运算和浮点数的除法运算有很大不同。

浮点类型的除法运算得出一个浮点结果,而整数除法运算得出一个整数结果。

在C中,整数除法结果的小数部分都被丢弃,这个过程被称为截尾。

当您对整数与浮点数进行混合运算时,结果是浮点数。实际上,计算机不能真正用整数去除浮点数,在这种情况下,做除法运算之前将整数转化为浮点数。

C99标准之前的C语言给了实现者一些空间,让他们来决定对于负数整数除法如何工作。可以使用这样的方法,即舍入过程采用小于或等于该浮点数的最大整数。当然,3相对于3.8而言是符合上面描述的。那么-3.8呢?最大整数方法会建议将其四舍五入为-4,因为-4小于-3.8.

但是另外一种舍入方法,是简单的丢弃小数部分,这种方法称为“趋零截尾”。它建议将-3.8转换成-3.

C99要求使用趋零截尾。

5.2.7 运算符的优先级

运算符结合性
()从左到右
+-(一元)从右到左
*/从左到右
+-(二元)从左到右
=从右到左

结合性那一列指出运算符如何与其操作数相结合。

5.2.8 优先级和求值顺序

当两个运算符共享一个操作数时,优先级规定了求值顺序。

结合规则适用于共享同一操作数的运算符。

 

转载于:https://my.oschina.net/idreamo/blog/676991

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值