基本知识
程序 = 算法 + 数据结构,算法是对操作的描述,数据结构是对数据的描述。
伪代码:pseudo code
程序一般包括:
(1)预处理命令:#include等
(2)全局声明部分
(3)函数:函数首部(声明)、函数体(局部声明+执行部分)
程序执行过程
源程序-->编译成目标程序obj-->连接目标程序成可执行文件
类:数据成员+成员函数
命名空间
实际上就是一个由程序设计者命名的内存区域。程序员可以根据需要指定一些有名字的空间域,把一些全局实体分别放在各个命名空间中,从而与其它全局实体分隔开,解决名字冲突,防止全局命名空间污染。
C++库的所有标识符(标准头文件中函数、类、对象、类模版)都是在std命名空间定义的
A 的ASCII码值65 a 的97
1.数据类型
- 基本类型:整型、浮点型、字符型、布尔型
- 构造类型:枚举、数组、结构体类型(struct)、公用体(union)、类类型
- 指针类型
- 引用类型
- 空类型:null
int 4 unsigned int 4 short int 2 unsigned short int 2 long int 4 unsigned long int 4
char 1 uchar 1
float 4 double 8 long double 8
无符号:不用保存符号位,故比有符号多了一位
有符号:数值用补码存放(无论正负),最高位为符号位
VC中,long double与double字节数相同,故long double是无用的
GCC中,long double则有12个字节
无负值的量可以定义为unsigned int,如年龄、学号等,以增大存储范围。
short int,long int,unsigned int这些类型后面的int可以省略
整型表示:
十进制,后面加L 或 l
八进制,前面加0
十六进制,前面加0x
浮点数表示:
默认为双精度型double
后面加 f 或 F 则为单精度float
后面加 l 或 L 则为长精度型long double
指数形式
数符 数字部分 指数部分
a = 3.14e2 a=0.314e4 a=31.4e1 a=3140e-1
浮点数,不管是用小数形式还是指数形式表示,在内存中都是以指数形式表示的,且数字部分必须小于1
如3.14159 在内存中表示为 + .314159 3 ,数字部分为.314159,是小于1的
字符型
字符型在内存中存储的是ASCII码,也是整型,故而可以把字符型赋给整型
字符串后面,编译系统会加个'\0'作为结束符
符号常量
用符号代表一个常量,如#define PI 3.14159
在编译时,系统会把符号常量替换成具体的值
2.变量
变量:程序运行期间,值可变的量
变量名:代表内存中的一个存储单元,在编译连接时由系统给每一个变量分配一个地址
标识符:标识实体名字的有效字符序列,字母、数字、下划线
常变量:定义变量时加上const,运行期间值不可变,也即只读变量
区别#define 定义的符号常量与const定义的常变量
符号常量只是用一个符号代表一个常量,在编译时把所有符号常量替换为指定的值,它没有类型,在内存中不存在以符号常量命名的存储单元
常变量具有变量的特征,具有类型,在内存中有以它命名的存储单元,与一般变量不同的是,常变量代表的存储单元值不可变。
强定义的好处
1.保证变量名使用的正确,不正确会在编译时报错
2.每个变量指定为一确定类型,在编译时就能为其分配存储单元
3.编译时即可检查变量进行的运算是否合法。