C Primer Plus 第五章:运算符、表达式和语句
来源:互联网 发布:linux 实验三 vi编辑器 编辑:程序博客网 时间:2024/05/16 04:42
1、除法(/):
整数的除法没有小数点位,小数点位被舍去,商被留下。浮点数的除法商有小数点,而且只要除数和被除数只要有一个是浮点数相除后都是浮点数。例如:12 / 3 = 4,12 / 3.0 =4.0,12.0 / 3 = 4.0, 12.0 / 3.0 = 4.0。实际上是计算机不能真正用整数除以浮点数,而是编译器将整数转变成浮点数,然后再相除。
2、其他运算符:
Sizeof运算符:
以字节为单位返回其操作数的大小,格式为:sizeof(数据类型)
C语言规定sizeof返回size_t类型的值。这是一个无符号整数类型,但它不是一个新类型。相反,与可移植类型(如int32_t等)相同。说到这插一句:C有一个typedef机制,它允许为一个已有的类型创建一个别名。
例如:typedef double real,就使得real成为了double的别名。当后面使用real定义变量的时候,就是double类型变量。与此类似,C的头文件系统可以使用typedef来使size_t在系统中作为unsigned int或unsigned long的同义词,当使用size_t时,编译器会用适合您的系统的标准类型代替它。
3、++运算符:
a++和++a:
a++:是先赋值,再加1。
比如:(1)、a = 1;i = a++;则a先赋值给i,a再加1,最后是i = 1,a = 2.
(2)、y = 2, n = 3; x = (y + n++)*6:等价于 x = (y + n)*6;n = n + 1;最后x的值是30,n值是4.
++a:是先加1,再赋值。
比如:(1)、b = 1;j = ++b;则b先加1得b = 2,然后把b赋值给j,最后是j = b =2.
(2)、y = 2, n = 3; x = (y + n++)*6:等价于n = n + 1;x = (y + n)*6;最终结果是:n = 4;x = (2 + 4)*6 = 36
4、类型转换
自动类型转换 & 强制类型转换
4.1、自动类型转换:比如当char和short类型出现在表达式里或者作为函数的参数时,它们都将被提升为int类型。当float类型作为一个函数参数时被提升为double类型。当把一种类型的值赋给另一种类型的变量时,该值被转换成和那个变量相同的类型。当较大类型的值被转换成较小类型的值(long变成short,或者double变成float)时,它们可能丢失数据的精度。
4.2、强制类型转换:是在某个量的前面放置用圆括号括起来的被希望转换成的类型名。圆括号和类型名一起构成了指派运算符(type)。
比如:
int mice;
mice = 1.6 + 1.7;//第一行
mice = (int)1.6 + (int)1.7;//第二行
第一行中1.6+1.7 = 3.3然后自动类型转换,截尾后结果是3,而第二行是分别截尾,再相加,结果是2。
5、做课后题总结:
1:关于a++和++a的问题已经没问题,可是在做题中要注意的是无论先赋值后加1还是先加1再赋值,最后要用加1之后的变量去执行下面程序,而不是原变量的值,这个切记!每次都会使用原来的值而忘记使用加1后的值,原因是太关注先赋值和后赋值去了,把加1忘了!
- C Primer Plus 第五章:运算符、表达式和语句
- C Primer Plus学习笔记----第五章运算符、表达式和语句
- C primer plus 5 ch5 运算符、表达式和语句
- 第一站NO.4--《C Primer Plus(第五版)中文版》第五章_5.4 运算符、表达式和语句和5.5 类型转换
- C primer plus第5章(运算符、表达式和语句)习题
- c primer plus第5章总结:运算符、表达式、语句
- 第五章、运算符、表达式和语句
- 第五章 运算符、表达式和语句
- C++ Primer Plus 学习笔记 第五章 01 for循环 递增运算符和递减运算符 复合语句,逗号运算符 C风格字符串比较、string类字符串比较
- C Primer Plus 第五章
- C Primer Plus 第五章
- C Primier Plus 第5章 运算符、表达式和语句
- C++ Primer Plus 第五章 循环和关系表达式
- C Primer Plus-运算符
- 第一站NO.2--《C Primer Plus(第五版)中文版》第五章_5.2 基本运算符
- 第一站NO.3--《C Primer Plus(第五版)中文版》第五章_5.3 其他运算符
- C++primer第4版第五章第六章表达式和语句
- 《C Primer Plus》第五章编程题
- stream_set_timeout的使用方法
- JAVA学习数据结构
- Fraction to Recurring Decimal
- 分数加减法 nyoj
- 【玩转cocos2d-x之三十六】Flappy Bird大集结
- C Primer Plus 第五章:运算符、表达式和语句
- Android PullToRefresh (ListView GridView 下拉刷新) 使用详解
- android中使用startActivityForResult回传数据
- Windows7 下安装 Tomcat + Solr5.2
- 将bigDecimal转成int
- JS获取页面元素位置大全
- 线程池的研究及实现
- Hbase系统架构及数据结构
- 【玩转cocos2d-x之三十七】粒子系统的加载优化