2024年3月10日发(作者:释珹)
数组
1. 数组元素在内存中顺次存放,地址连续。
2. 数组名字是数组首元素的内存地址。
3. 数组名是一个常量,不能被赋值。
4. 在声明数组时对数组元素赋初值 int a[10]={0,1,2,3,4,5,6,7,8,9};
5. 可以只给一部分元素赋初值 int a[10]={‘a’,’b’,’c’,’d’,’e’};
6. 在对全部数组元素赋初值时,可以不指定数组长度 int a[]={1,2,3,4,5};
7. 数组长度与数组元素个数相同
8. 只能逐个引用数组元素,不能一次引用整个数组
9. 数组元素和数组名都可以作为函数的参数以实现函数间数据的传递和共享。使用数组名
作函数的参数,实参和形参都应该是数组名。使用数组名传递数据时,传递的是地址。
10. 指针变量是用于存放内存单元地址的
11.通过指针引用数组元素
*pa等于a[0],*(pa+1)等于a[1],*(pa+i)等于a[i].a[i], *(pa+i), *(a+i), pa[i]都是等效的。
例:int arr[5]={1,3,5,7,9}, *pt=arr;则数字 7 对应的元素是arr[3], 或 *(pt+3)
12. void类型指针可以存放任何类型的对象地址。Void指针一般只在指针所指向的数据类型
不确定时使用
13.把数组作为函数的形参,等价于把指向数组元素类型的指针作为形参。Void f(int p[]);void
f(int p[3]);void f(int *p)等价
14.运算符new的功能是动态分配内存。运算符delete用来删除由new建立的对象,释放指
针所指向的内存空间。
15.
如有int array[5]的定义,则和*(array+1)等价的表示方法为 array[1]
第一章
1.十进制小数常常不能准确地换算为等值的二进制小数(或其他R进制数),有换算误差存
在。sizeof
(
char
)=2
2.对于一个负数,其补码由该数反码的最末位加1求得
3.补码中的0的表示是唯一的
4.c++程序的开发要经过编辑、编译、连接、运行调试。
m-1
5.
一个m位整数(包括一位符号位),如果采用原码表示法,能表示的最大数为 2-1 ,
m-1
最小数为 -(2-1) 。)
6. 用C++语言编制的源程序要变为目标程序必须要经过编译
第二章
1.注释方法:使用/*和*括起注释文字,使用//
2.无符号整数只能是正数,在计算机内以绝对值形式存放
3.%是取余运算,只能用于整型操作数
4.算法的基本控制结构有3种:循环结构、顺序结构、选择结构
第三章
1.函数的参数传递:值传递(直接将实参的值传递给形参,是参数值的单向传递)、引用传递
2.普通变量作为函数的形参,则实参传送给形参的是值;而引用作为形参,则实参传送给形
参的是参数的地址
3.内联函数声明时使用关键字 inline,体内不能有循环语句和switch语句,声明必须出现在内
联函数第一次被调用之前。
4.
在函数调用过程中,作为实参的可以是 常量 、 变量 、 表达式 。当函数类型为 void
时,在调用时不得使用其函数值
。
第1页,共2页
5. 引用是特殊的变量,可以看做另外一个对象的别名
6. 一个最简单的C++程序,可以只有一个main函数
第四章
1.任何外部函数都可以访问public数据和函数
e数据和函数,只允许本类中的函数访问,而类外部的任何函数都不能访问。
3.类的数据和函数确定了属性后,外部的任何函数都不能改变
4.
类中成员互访直接使用成员名,类外访问使用“对象名.成员名”方式访问 public 属性的
成员。例:
5.构造函数名字与类同名,且不指定函数类型。可以有参数。
6.构造函数有两种重载形式:有参数的和无参数的(即默认构造函数)
7.析构函数没有返回类型,没有参数,不能重载。一个类中只可能定义一个析构函数。名字
与类同名,并在前面加 “ ~ ”符号
8.复制构造函数在以下3种情况下会被调用:(1)当用类的一个对象去初始化该类的另一个
对象时。(2)如果函数的形参是类的对象,调用函数时,进行实参和形参结合时。(3)
如果函数的返回值是类的对象,函数执行完成返回调用者时
9.类定义的关键字是 class。类的数据成员通常指定为 私有成员。类的函数成员通常指定为
公有成员,指定为公有的类成员可以在类对象所在域中的任何位置访问它们,类的 私有和保
护成员 只能被该类的成员函数或友元函数访问。
10.类的访问限定符包括 public、private和 protected。类成员默认的访问方式是
private。访问限定符在类中无先后次序,各限定符允许多次出现。
11. 构造函数的任务是建立对象。类中可以有多个构造函数,它们由参数区分。如果类说明
中没有给出构造函数,则C++编译器会提供构造函数,该函数不完成对象初始化工作。
12.复制构造函数的参数是对象的复制,当程序没有给出复制构造函数时,编译系统会提供 默
认的复制构造函数,完成类对象的复制。复制构造函数被调用情况有3种。
13.析构函数在对象生存期即将结束时被自动调用。类中没有定义析构函数时,编译系统会
提供一个默认的析构函数。该函数不完成具体对象的清理工作。
14. 数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体
也就是对象
15. 类的实例化是指创建类的对象
16. 类的构造函数被自动调用执行的情况是在创建该类的对象时
17.
说明一个类的对象时,系统自动调用构造函数;撤消对象时,系统自动调用析构函数
第五章
1.作用域:(1)函数原型作用域 例如,double Area(double radius);//radius是局部变量
(2) 块作用域 {int x;}//x是局部变量。函数中定义的变量都是局部变量
(3) 类作用域 局部变量 (4)文件作用域 全局变量,定义在函数之外。
2. 具有动态生存期的变量是在块作用域定义的,具有静态生存期的可以定义在文件作用域
3.友元函数是在类声明中由关键字friend修饰说明的非成员函数,在它的函数体中能够通
过对象名访问 private 和 protected成员.访问对象中的成员必须通过对象名。友元函数
能够访问该类的所有成员。友元关系是单向的。友元关系不可继承。友元关系破坏了数据封
装。
继承: 保持已有类的特性而构造新类的过程。派生: 在已有类的基础上新增自己的特性而产
生新类的过程。被继承的已有类称为基类(或父类)。派生出的新类称为派生类。派生类的
成员只能访问基类的公有和保护成员,不能访问基类的私有成员。
第2页,共2页
2024年3月10日发(作者:释珹)
数组
1. 数组元素在内存中顺次存放,地址连续。
2. 数组名字是数组首元素的内存地址。
3. 数组名是一个常量,不能被赋值。
4. 在声明数组时对数组元素赋初值 int a[10]={0,1,2,3,4,5,6,7,8,9};
5. 可以只给一部分元素赋初值 int a[10]={‘a’,’b’,’c’,’d’,’e’};
6. 在对全部数组元素赋初值时,可以不指定数组长度 int a[]={1,2,3,4,5};
7. 数组长度与数组元素个数相同
8. 只能逐个引用数组元素,不能一次引用整个数组
9. 数组元素和数组名都可以作为函数的参数以实现函数间数据的传递和共享。使用数组名
作函数的参数,实参和形参都应该是数组名。使用数组名传递数据时,传递的是地址。
10. 指针变量是用于存放内存单元地址的
11.通过指针引用数组元素
*pa等于a[0],*(pa+1)等于a[1],*(pa+i)等于a[i].a[i], *(pa+i), *(a+i), pa[i]都是等效的。
例:int arr[5]={1,3,5,7,9}, *pt=arr;则数字 7 对应的元素是arr[3], 或 *(pt+3)
12. void类型指针可以存放任何类型的对象地址。Void指针一般只在指针所指向的数据类型
不确定时使用
13.把数组作为函数的形参,等价于把指向数组元素类型的指针作为形参。Void f(int p[]);void
f(int p[3]);void f(int *p)等价
14.运算符new的功能是动态分配内存。运算符delete用来删除由new建立的对象,释放指
针所指向的内存空间。
15.
如有int array[5]的定义,则和*(array+1)等价的表示方法为 array[1]
第一章
1.十进制小数常常不能准确地换算为等值的二进制小数(或其他R进制数),有换算误差存
在。sizeof
(
char
)=2
2.对于一个负数,其补码由该数反码的最末位加1求得
3.补码中的0的表示是唯一的
4.c++程序的开发要经过编辑、编译、连接、运行调试。
m-1
5.
一个m位整数(包括一位符号位),如果采用原码表示法,能表示的最大数为 2-1 ,
m-1
最小数为 -(2-1) 。)
6. 用C++语言编制的源程序要变为目标程序必须要经过编译
第二章
1.注释方法:使用/*和*括起注释文字,使用//
2.无符号整数只能是正数,在计算机内以绝对值形式存放
3.%是取余运算,只能用于整型操作数
4.算法的基本控制结构有3种:循环结构、顺序结构、选择结构
第三章
1.函数的参数传递:值传递(直接将实参的值传递给形参,是参数值的单向传递)、引用传递
2.普通变量作为函数的形参,则实参传送给形参的是值;而引用作为形参,则实参传送给形
参的是参数的地址
3.内联函数声明时使用关键字 inline,体内不能有循环语句和switch语句,声明必须出现在内
联函数第一次被调用之前。
4.
在函数调用过程中,作为实参的可以是 常量 、 变量 、 表达式 。当函数类型为 void
时,在调用时不得使用其函数值
。
第1页,共2页
5. 引用是特殊的变量,可以看做另外一个对象的别名
6. 一个最简单的C++程序,可以只有一个main函数
第四章
1.任何外部函数都可以访问public数据和函数
e数据和函数,只允许本类中的函数访问,而类外部的任何函数都不能访问。
3.类的数据和函数确定了属性后,外部的任何函数都不能改变
4.
类中成员互访直接使用成员名,类外访问使用“对象名.成员名”方式访问 public 属性的
成员。例:
5.构造函数名字与类同名,且不指定函数类型。可以有参数。
6.构造函数有两种重载形式:有参数的和无参数的(即默认构造函数)
7.析构函数没有返回类型,没有参数,不能重载。一个类中只可能定义一个析构函数。名字
与类同名,并在前面加 “ ~ ”符号
8.复制构造函数在以下3种情况下会被调用:(1)当用类的一个对象去初始化该类的另一个
对象时。(2)如果函数的形参是类的对象,调用函数时,进行实参和形参结合时。(3)
如果函数的返回值是类的对象,函数执行完成返回调用者时
9.类定义的关键字是 class。类的数据成员通常指定为 私有成员。类的函数成员通常指定为
公有成员,指定为公有的类成员可以在类对象所在域中的任何位置访问它们,类的 私有和保
护成员 只能被该类的成员函数或友元函数访问。
10.类的访问限定符包括 public、private和 protected。类成员默认的访问方式是
private。访问限定符在类中无先后次序,各限定符允许多次出现。
11. 构造函数的任务是建立对象。类中可以有多个构造函数,它们由参数区分。如果类说明
中没有给出构造函数,则C++编译器会提供构造函数,该函数不完成对象初始化工作。
12.复制构造函数的参数是对象的复制,当程序没有给出复制构造函数时,编译系统会提供 默
认的复制构造函数,完成类对象的复制。复制构造函数被调用情况有3种。
13.析构函数在对象生存期即将结束时被自动调用。类中没有定义析构函数时,编译系统会
提供一个默认的析构函数。该函数不完成具体对象的清理工作。
14. 数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体
也就是对象
15. 类的实例化是指创建类的对象
16. 类的构造函数被自动调用执行的情况是在创建该类的对象时
17.
说明一个类的对象时,系统自动调用构造函数;撤消对象时,系统自动调用析构函数
第五章
1.作用域:(1)函数原型作用域 例如,double Area(double radius);//radius是局部变量
(2) 块作用域 {int x;}//x是局部变量。函数中定义的变量都是局部变量
(3) 类作用域 局部变量 (4)文件作用域 全局变量,定义在函数之外。
2. 具有动态生存期的变量是在块作用域定义的,具有静态生存期的可以定义在文件作用域
3.友元函数是在类声明中由关键字friend修饰说明的非成员函数,在它的函数体中能够通
过对象名访问 private 和 protected成员.访问对象中的成员必须通过对象名。友元函数
能够访问该类的所有成员。友元关系是单向的。友元关系不可继承。友元关系破坏了数据封
装。
继承: 保持已有类的特性而构造新类的过程。派生: 在已有类的基础上新增自己的特性而产
生新类的过程。被继承的已有类称为基类(或父类)。派生出的新类称为派生类。派生类的
成员只能访问基类的公有和保护成员,不能访问基类的私有成员。
第2页,共2页