C/C++ Primer Plus第6版第3章

变量名规则

字母数字下划线,不以数字开头
区分大小写
编译器只识别63个字符
两个下划线或下划线加大写字母开头保留给实现编译器及其实现的资源使用,一个下划线开头用作全局标识符

数据类型

关键字占用存储空间取值范围占位符
int4字节=32bit
(至少16位)
最高为为符号位,
0正号,1负号,
-231-231-1
%d %u
%o八进制0开头
%x 16进制0#x #前缀
%p 指针地址
%s 字符串
short至少2字节=16bit%hd
long8字节=64bit
至少32位
%ld
char1字节=8bit%c
float4字节=32位最高位为符号位,8位指数位(带符号),23位尾数%f 默认6位小数
%.2f 2位小数
%2.2f 字符宽度为2,不够2补空格
%e指数计数法
double8字节=64位%lf

数据存储方式

整型:采用二进制补码存储
原因:既要处理符号位,又要只进行加法运算,达到以某一种二进制形式的“码”直接相加就能得到正确结果所以使用了补码
正数的反码补码都是自己
负数的反码:符号位不变,其他位取反
负数的补码:反码+1

eg:-18
原码:10000000 00000000 00000000 00010010
反码:11111111 11111111 11111111 11101101
补码:11111111 11111111 11111111 11101110

浮点型:1位符号位 8位指数位 23位尾数位

eg:float x = 10.125f;
二进制表示:1010.001
二进制科学计数法:1.010001 X 2^3
符号位为整 指数位为3 尾数位为010001
指数位的起始值是127,如果此时指数为3,则指数位的值是127+3=130,即10000010
即存储为1 10000010 010001000.....
低地址保存数值的低位,高地址保存数值的高位,所以值为10.125的单精度浮点变量x的值是00 00 22 41

数据默认值

C语言中的全局变量和静态变量都是会自动初始化为0,堆和栈中的局部变量不会初始化而拥有不可预测的值

C++保证了所有对象与对象成员都会初始化,但其中基本数据类型的初始化还得依赖于构造函数

数据的上溢和下溢

整型溢出行为:

eg:short -1 0 1 ....  32767 -32768 ....
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值