c学习第三节

数据类型

如何把无限的数据存储到有限的内存中?

将小数取舍进行最大精度的保留

1.整数的存放:计算机中整数是以补码的形式存放的

正数:原码与补码一致

eg:00000101

负数:先求原码再求反码最好求补码

计算规则逢2进1

eg:-5 10000101 反码11111010 补码最后一位加1 11111011

-4 10000100 反码 1111 1011补码最后一位1+1 进1取0 然后倒数第二位1+1 进1取0 最后 0+1 为1 所以补码为1111 1100 

正反区别:1为-号 0为+正号

无符号unsigned :因为实际中年龄身高等无负值,可以把变量定义为无符号类型

无符号的最高位不是符号位,最高位参与数值运算

只有整型才可以加unsigned无符号修饰符,用%u输出

 字符变量:char类型变量系统会为其开辟一个字节空间,字符值以ASCII码的形式存放再内存中

 

 浮点型分为:float 和double

float为4个字节 有效数位6-7位

double为 8个字节 有效数位15-16位

在c语言中我们存放实型常量都按照双精度处理

浮点数得注意双方是否位同一类型

eg:float f=3.14 float =3.14f

如果这样部分的编译器可能报错,提示把一个双精度转换位单精度肯会损失精度

正确应该在其后面加f告知编译器

 截止这里我们提到了:整型,字符型,实型这三种数据的表达与规矩并且讲解了一个数据类型在内存中的表达方式与存储 我们整理一下

 接着讲如何运算

算术运算符

 这里着%运算

 自增自减运算符:使变量的值加一或减一

++i,i自增1,然后使用

--i,i自减1,然后使用

i++,先使用,然后i自增1

i--,先使用,然后i自减1

eg:i=100

(i++)+(++i)=202

个人理解:机器:i++开始遇到i为100 然后执行++,i变为101,再执行++ i值变为102 所以为100+102=202

 

 


版权声明:本文为weixin_57790937原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。