C++学习第2章——变量和基本类型
1.char 字符 8位
int 整型 16位
long 长整型 32位
float 单精度浮点数 6位有效数字
double 双精度浮点数 10位有效数字
2. 1个char类型的大小 = 1个机器字节byte = 8位
1个字word 32位 = 4个byte = 1个float
1个double 64bit = 2个word
3. 执行浮点数运算选用double,double有时比float计算快
4. 非布尔类型赋值给布尔类型,0为false,非0为true
布尔类型赋值非布尔类型,false为0,true为1
无符号类型超出范围值时,结果显示总数模后的余数。例如:unsigned a = 0;–a;此时a = 4294967295
无符号数不会小于0。
带符号类型超出范围值时,结果未定义。
表达式里既有有符号数,也有无符号数,执行时,全部转化成无符号数。
5. 程序执行一条未定义的表达式,即使编译通过,仍有可能产生错误。
含有无法预知行为的程序也能正确执行,程序应该尽量避免依赖于实现环境的行为。
6. 以0开头的整数为8进制数,以0x或0X开头的整数代表16进制数。
7. 用“”定义字符串时,结尾处会自动添加’\0’,字符串的面值实际长度比内容多1,;
如果两个字符串字面值位置紧邻空格,缩进,换行符分隔,则实际上是一个整体。
8. 两类不能直接使用字符:(1)不可打印:退格,换行等
(2)特殊含义:单引号,问号等
换行符:\n ;反斜线:\ ;回车符:\r;单引号:’ ;双引号 :"
\x后面紧跟1个或者多个16进制数字,或者1/2/3个8进制数字,也可以表示特殊字符
9. 前缀和后缀可以改变整型,浮点型和字符型字面值的默认类型
10. 对象是指一块能存储数据并具有某种类型的内存空间。
11. 列表初始化不能存在数值丢失,例如:int i = {12.32};错误
12. 建议初始化每一个变量。
13. 声明 extern int a;如果给a赋初值,那就是定义了
声明并定义 int a;
变量只能定义一次,但是可以多次声明
变量只能以_和字母开头
对象第一次被使用的地方附近定义最好
14.内层作用域:被包含的作用域
外层作用域:包含别的作用域的作用域
作用域操作符 ::,可以覆盖默认的作用域规则
全局变量不应该再定义一个同名局部变量。