C++学习札记(2011-10-06)

最新文章:Virson's Blog
1、为了书写方便,可将short int简写成short,即默认情况下short表示的意思是短整形,可类推long则表示长整型
2、单精度:float(32bit),双精度:double(64bit),长精度:long double(80bit);统称为浮点型(或实数类型)
3、在C++中,整型常量可以用十进制、八进制和十六进制3种不同进制表示
十进制整数:直接给出数字,例如:123、0、-135等
八进制整数:在第一位数字前加0,例如:012、-017等
十六进制整数:在第一位数字钱前加0x,例如0x15、0x2d、0x1fc7等
4、在开发系统软件或表示地址时,使用十六进制或八进制可能或更方便
5、在C++中,由于整型数还可以分为长整型、短整型和无符号整型等类型,因此,整型常量也可以通过加后缀的方式进行说明。例如,135L、789U、48529ul等等。其中,长整型用后缀L或l表示;无符号整型用后缀U或u表示
6、浮点数常量只能由十进制来表示,有小数和带指数的科学计数法两种表现形式;在科学计数法中“x10”用字母“e”或者“E”表示;在用指数形式表示的浮点数中,指数部分可以是正数或负数,但必须是整数
7、在浮点数常量中,后缀依然可以用F或f单精度数,L或l来表示长精度数
8、在C++的数值常量不能有逗号、空格或其他非法字符;数值常量的值不能超过编译程序所规定的取值范围,否则将产生溢出错误
9、在C++中用一对单引号引起来的一个字符表示一个字符常量
10、字符串常量在内存中存储时,系统会自动在其末尾加上一个串结束表示“\0”,所以程序中长度为n个字符的字符串常量,其在内存中占有n+1个存储空间
11、在C++中,使用const关键字定义符号常量时必须在定义时进行初始化(赋值)。注意,在const关键字后需加上数据类型,而使用宏定义(#define)时其后不需要使用数据类型
12、在C++中,变量应“先定义,后使用”
13、在C++中,变量名由大、小写26个英文字母、数字0~9和下划线“_”组成,并且只能由字母和下划线开头(即第一个符号不能为数字)
14、在C++中,关键字(保留字)不能用作变量名
15、C++语言对大小写是敏感的,也就是说,会把age、aGe和AGE认为是3个不同的变量;在书写程序时,会把小写字母作为变量,大写字母作为常量
15、在C中,所有变量必须在函数的开头位置集中定义;而在C++中,允许将变量定义放在任意位置,只要满足引用前进行定义的要求即可
16、变量是一个用来存放可变数据的存储空间,将数据存入该存储空间的操作就称作变量赋值
17、赋值过程中,赋值号的左边必须是一个变量,不能是常量或者表达式
18、因为赋值符“=”具有最低的运算优先级,并且运算的结合方向是从右到左,因此,在赋值表达式中会先计算赋值符右边表达式的值,再将其结果赋值给左边的变量
19、在C++中,对变量进行初始化有两种方式:一种是使用“=”,例int a = 16;另一种是使用“()”,例如int a(16)
20、在C++中,为了便于程序录入,其中的表达式必须直行书写(即写在同一行)
21、取余运算“%”中参加运算的两个数都必须是整型数(即取余符左右操作数都必须为整型数)
22、自增运算符(++)和自减运算符(--)都只能作用于单个变量,而不能作用于表达式或常量
23、位运算即指按二进制位进行逐位运算
24、在位运算中,位与操作情况下,左右操作数都为1时,结果为1,左右操作数都为0时,结果为0,左右操作数不同时,结果为0;位或操作下,左右操作数相同为1,左右操作数同为0时,结果为0,左右操作数不同时为1;异或操作的情况下,左右操作数相同时为0,不同时为1
25、在位运算的移位操作中,移出的位被舍弃,空出的位补0
26、逗号运算符(,)的运算优先级是所有运算符中最低的。使用逗号运算符可将多个表达式组合成一个表达式,例如e1,e2,e3,e4,其中e1,e2,e3和e4为4个表达式,在计算逗号表达式的值时,按从左往右顺序依次分别计算个表达式的值,而整个表达式的值的类型由最右边的表达式决定,即在本例中,整个逗号表达式的值的类型由e4决定
27、使用长度运算符sizeof可得到数据类型或变量在内存中所占的字节数
28、在单目运算中,&符号表示取地址,*表示取内容
29、运算符的优先级说明了运算符在运算中的先后顺序:
圆括号的运算优先级最高,逗号运算符的优先级最低,赋值符号的优先级排倒数第二,
单目运算符的优先级高于双目运算符,
在双目运算符中,算术运算符的优先级最高,关系运算符的优先级次之,逻辑运算符的优先级最低,
在算术运算符中,(*、/)高于(+、-)
在关系运算符中,(>、>=、<、<=)高于(==、!=),
在逻辑运算符中,逻辑非(!)最高,逻辑与(&)次之,逻辑或(|)最低
30、在运算符的结合性中,大多数运算符的结合顺序是从左到右,但也有3类运算符的结合顺序是从右到左,即单目运算符、3目运算符和赋值运算符
31、在表达式中,多使用一些圆括号并不会降低程序的执行效率,因此,在书写复杂表达式时,可适当增加一些圆括号来提高程序的可阅读性
32、数据类型转换规则:由“较低级”的类型向“较高级”类型转换(即所占内存空间较小的数据类型向所占内存空间较大的数据类型转换)
short,char→int→unsigned→long→unsigned long→double←float
当遇到赋值符左边的表示范围小于右边时,表达式的值在转换时将会被截断,从而导致数据精度受到损失
33、无论强制类型转换还是自动类型转换都是暂时性的,都是仅为本次运算或赋值的需要而进行的,他们并不会改变变量在定义时所规定的数据类型
posted @ 2011-10-08 20:10  学海无涯1999  阅读(622)  评论(0编辑  收藏  举报