第一章 绪论
- 语言的发展:机器语言——汇编语言——高级语言
- 结构化程序设计是一种面向过程的程序设计方法。
- 面向对象需要理解的概念
(1)对象
(2)类
(3)封装
(4)继承
(5)多态性 - 程序开发的几个步骤:编辑——编译——链接——运行
编辑是将源程序输入到计算机中,生成后缀为.cpp的文件
编译是将程序的源代码转换为机器语言,目标文件是.obj。
连接是将多个目标文件以及库中的某些文件连在一起,生成一个后缀为.exe的可执行文件。
第二章 C++简单程序设计
- C++程序中有且只有一个main函数,表示程序执行的开始点。
- 如果main()以非0值返回,则意味着程序异常结束。
- 标识符不能是C++的关键字。
- bool、char类型占1个字节,int类型占4个字节,float类型占4个字节、double类型占8个字节
- 16进制的基本符号:0、1、2、3、4、5、6、7、8、9、A(10)、B(11)、C(12)、D(13)、E(14)、F(15)【大小写均可】
- 8进制以0开头,16进制以0x开头。
- 整型数据后加L表示长整型,后加U表示无符号型,两者可同时使用。
- 实型常量即以文字形式出现的实数,注意指数形式,E或e前必须有数字,后必须是整数。
- 实型常量默认double型,后加f或F可成为float型。double类型15为有效数字,float类型7为有效数字
- \nnn是八进制的形式;\xnn是十六进制的形式。nnn表示3位八进制或十六进制数。例如,‘a’的十六进制ASCII码表是61,于是’a’也可以表示为**’\x61’**。
- 字符常量用单引号,字符串常量用双引号。“a”—a \0 而 ‘a’—a(一个字符占一个字节)。
- 变量除了数据类型外还有储存类型:auto储存类型采用堆栈方式分配内存空间,属于暂时性储存,存储空间可被多次覆盖。register存储类型的变量存放在通用寄存器中。extern存储类型在所有函数和程序中都可引用。static存储类型以固定地址存放,整个程序运行期间均有效。
- const 数据类型 常量名 = 常量值
- cout << i++ // i的值变为2,输出结果为1。cout << ++i // i的值变为2,输出结果也为2.
- “=”自右向左结合。即a=b=c=5,赋值顺序为c-b-a。
- 逗号运算表达式1,表达式2 求解顺序:先求解1,再求解2,最终表达式为2的结果
- 优先级顺序
- 注意&&和||的短路问题。即,某一个操作数的值为false则&&不再对下一个操作数求值,某一个操作数的值为true则||不再对下一个操作数求值。(可以与数学的与和或相联系)
- 条件运算符(?)是C++中唯一一个三目运算符表达式一? 表达式2 :表达式3表达式1必须是bool类型,若表达式一的值为true则求解表达式2,最终结果为表达式2,若表达式一的值为false则求解表达式3,最终结果为3。如**(a<b)?a:b**
- sizeof运算符用于计算某种类型的对象在内存中所占字节数。sizeof (类型名)或sizeof 表达式
- 数据类型转换有的运算符要求操作数的数据类型一致,所以编译系统会自动对数据进行从底类型到高类型的转换,即隐含转换,此时是安全的转换因为数据精度没有损失。
- 显示转换将表达式的结果类型转换为指定的数据类型。类型说明符 (表达式)或(类型说明符)表达式需要注意的是,这种转换是一次性的,只在说明显示转换的语句中发生类型转换。
- 数据类型越高,精度越高! char–short–int–unsigned–long–unsigned long–float–double(由低到高)
- switch语句()里的表达式应该是整型、字符型或者枚举型的。
- goto语句:
loop:if( Read() != '\r' ) n++; goto:loop;
- typedef声明:typedef 已有类型名 新类型名表将一个标识符声明为一个类型名的别名,需要注意的是,一个typedef语句可以为一个类型名声明多个别名。
- enum枚举类型见书第53页。