文档章节

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

idreamo
 idreamo
发布于 2016/05/18 06:08
字数 716
阅读 11
收藏 0

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 优先级和求值顺序

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

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

 

© 著作权归作者所有

idreamo
粉丝 18
博文 139
码字总数 224743
作品 0
青岛
产品经理
私信 提问
C Primer Plus 第5章 运算符、表达式和语句 5.4 表达式和语句

5.4.1 表达式 表达式是由运算符和操作数组合构成的。最简单的表达式是一个单独的操作数,以此作为基础可以建立复杂的表达式。 每一个表达式都有一个值 C的一个重要属性是每一个C表达式都有一...

idreamo
2016/05/20
51
0
C Primer Plus 第7章 C控制语句:分支和跳转 本章概要

在本章中您将学习到以下内容: *关键字 if / else / switch / continue / break / case / default / goto *运算符 && || ?: *函数: getchar() / putchar() 以及ctype.h系列 *怎样使用if和i...

idreamo
2016/06/12
47
0
【C++】第5章 循环和关系表达式 知识总结

《C++ Primer Plus》第5章知识点总结 for循环 for(initialization; test-expression; update-expression) body 语句:age = 100; 表达式:age = 100 对于 for( int i=0 ;i<5 ;i++),这种语句......

qq_37792173
2017/09/26
0
0
关东升的《从零开始学Swift》3月9日已经上架

大家一直期盼的《从零开始学Swift》于3月9日已经上架,它是关东升老师历时8个月的呕心沥血所编著,全书600多页,此本书基于Swift 2.x,通过大量案例全面介绍苹果平台的应用开发。全书共分5 部...

tony关东升
2018/06/26
0
0
关东升的《《从零开始学Swift》即将出版

大家好: 苹果2015WWDC大会发布了Swift2.0,它较之前的版本Swift1.x有很大的变化,所以我即将出版《从零开始学Swift》《从零开始学Swift》将在《Swift开发指南》第1版的基础上添加Swift2.0的...

智捷课堂
2015/08/17
109
0

没有更多内容

加载失败,请刷新页面

加载更多

会用python把linux命令写一遍的人,进大厂有多容易?

看过这篇《2000字谏言,给那些想学Python的人,建议收藏后细看!》的读者应该都对一个命令有点印象吧?没错,就是 linux 中经常会用到的 ls 命令。 文章中我就提到如何提升自己的 python 能力...

上海小胖
15分钟前
3
0
HashMap的特性

一、hashmap数据结构:哈希表结构:数组+链表 hashmap调用默认构造方法会产生一个默认底层是长度为16的Entry数组,首先调用key的hasCode()方法来得到一个整数, int hash = hash(key.hashCode...

GGbird
15分钟前
14
0
第五章 spring-connet之Imports注解来龙去脉

前言 imports是一个在spring体系里非常重要的注解,基本每个Enable开头的注解必然有一个import注解。接下来我们深入研究下import的作用。看小节的同学建议先取看PostProcessorRegistrationDe...

鸟菜啊
19分钟前
2
0
CentOS部署Harbor镜像仓库

关于Harbor Harbor是用于存储和分发Docker镜像的镜像仓库服务,相比Docker Registry,Harbor在安全、标识、管理等方面做了增强,更适合企业使用; 官方网站:https://goharbor.io/ 官方开源:...

程序员欣宸
24分钟前
3
0
JavaScript调试必会的8个console方法

每个JavaScript开发者都用过console.log()来调试程序,但实际上Console对象还提供了很多其他方法可以提高调试效率。本文将介绍8个有趣的Console方法,即使JavaScript老手也不一定知道! 1、c...

汇智网教程
45分钟前
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部