讨论区讨论详情

【暑期班】 C++语言程序设计基础
2016-08-22 22:42:56

第 1 章

(1)C++程序的开发过程 : 算法与数据结构设计; 源程序编辑; 编译; 连接;  测试;  调试。

(2)信息的存储单位 : 位(bit,b):数据的最小单位,表示一位二进制信息; 字节(byte,B):八位二进制数字组成(1 byte = 8 bit);千字节 1 KB = 1024 B; 兆字节 1 MB = 1024 K; 吉字节 1 GB = 1024 M。

(3)补码的原理 模数: n 位二进制整数的模数为 2n ; n 位二进制小数的模数为 2。

(4)补数:一个数减去另一个数(加一个负数),等于第一个数加第二个数的补数,例 (时钟指针): 8+(-2)=8+10 ( mod 12 )=6;  一个二进制负数可用其模数与真值做加法 (模减去该数的绝对值) 求得其补码, 例(时钟指针):-2+12=10。

(5) 补码的优点:  0 的表示唯一; 符号位可作为数值参加运算; 补码运算的结果仍为补码。


第 2 章

(1)程序的执行流程  顺序的,因此程序要能够 对执行流程进行选择(选择、开关语句);  反复用同一算法依次处理大批量数据(循环语句)。

(2)标识符的构成规则  以大写字母、小写字母或下划线(_)开始。  可以由以大写字母、小写字母、下划线(_)或数字 0~9 组成。  大写字母和小写字母代表不同的标识符。  不能是 C++关键字或操作符。

(3)布尔类型(bool)  只有两个值:true(真) 、false(假)  常用来表示关系比较、相等比较或逻辑运算的结果

(4)变量的初始化 : 虽然变量的值是可以在运行时获得的,但是在定义变量时也可以进行初始化,而 且应该提倡进行初始化; 未经初始化的变量,其值可能是随机的。如果误用了未经初始化也没有给予确定 值的变量,就会引起错误。

(5)I/O 流 : 在 C++中,将数据从一个对象到另一个对象的流动抽象为“流”。流在使用前要被建 立,使用后要被删除。  数据的输入与输出是通过 I/O 流来实现的,cin 和 cout 是预定义的流类对象。cin 用 来处理标准输入,即键盘输入。cout 用来处理标准输出,即屏幕输出。  从流中获取数据的操作称为提取操作,向流中添加数据的操作称为插入操作。


第 3 章

(1)内联函数 : 声明时使用关键字 inline ; 编译时在调用出用函数体进行替换,节省了参数传递、控制转移等开销

(2)constexpr 函数 : constexpr 修饰的函数在其所有参数都是 constexpr 时,一定返回 constexpr ; 函数体中必须有且仅有一条 return 语句

(3)函数重载  : C++允许功能相近的函数在相同的作用域内以相同函数名声明,从而形成重载。方便使用,便于记忆

(4)调用函数需要先声明函数原型 :若函数定义在调用点之前,可以不另外声明;  若函数定义在调用点之后,必须要在调用函数前声明函数原型: 函数原型:类型标识符 被调用函数名(含类型说明的形参表)

(5)默认参数值的说明次序 :有默认参数的形参必须列在形参列表的最右,即默认参数值的右面不能有无默认值的 参数;  调用时实参与形参的结合次序是从左向右


第 4 章

(1)抽象 : 对同一类对象的共同属性和行为进行概括,形成类。  先注意问题的本质及描述,其次是实现过程或细节。  数据抽象:描述某类对象的属性或状态(对象相互区别的物理量)。  代码抽象:描述某类对象的共有的行为特征或具有的功能。 抽象的实现:类。

(2)封装 : 将抽象出的数据、代码封装在一起,形成类。  目的:增强安全性和简化编程,使用者不必了解具体的实现细节,而只需要通过 外部接口,以特定的访问权限,来使用类的成员。  实现封装:类声明中的{}

(3)类内初始值 : 可以为数据成员提供一个类内初始值  在创建对象时,类内初始值用于初始化数据成员  没有初始值的成员将被默认初始化。

(4)类的成员函数 : 在类中说明函数原型;  可以在类外给出函数体实现,并在函数名前使用类名加以限定;  也可以直接在类中给出函数体,形成内联成员函数;  允许声明重载函数和带默认参数值的函数。

(5)内联成员函数 : 为了提高运行时的效率,对于较简单的函数可以声明为内联形式;  内联函数体中不要有复杂结构(如循环语句和switch语句)。


第 5 章

(1)不同位置定义的变量和对象,其作用域、可见性、生存期都不同。如果要在 不同的程序模块间共享数据,就需要了解变量和对象的作用域、可见性、生存期

(2)对一些类外的函数、其他的类,给予授权,使之可以访问类的私有成员(友 元机制)。友元提高了效率,但是带来一些安全隐患,需要权衡、慎用

(3)通过const关键字,限制对共享数据的修改,使共享的数据在被共享时,是 只读的。

(4)在编译之前,需要进行预处理,例如包含头文件,选择在不同情况下编译程序的不 同部分

(5):当程序的规模略大些的时候,就不能将所有代码放在一个文件里了


第六章

(1)数组元素所属类的构造函数  元素所属的类不声明构造函数,则采用默认构造函数。  各元素对象的初值要求为相同的值时,可以声明具有默认形参值的构造函数。  各元素对象的初值要求为不同的值时,需要声明带形参的构造函数。  当数组中每一个对象被删除时,系统都要调用一次析构函数。

(2)指针空值 nullptr : 以往用0或者NULL去表达空指针的问题:  C/C++的NULL宏是个被有很多潜在BUG的宏。因为有的库把其定义成整数 0,有的定义成 (void*)0。在C的时代还好。但是在C++的时代,这就会引发很多 问题。 C++11使用nullptr关键字,是表达更准确,类型安全的空指针

(3)不能通过指向常量的指针改变所指对象的值,但指针本身可以改变,可以指向另外 的对象。

(4)指针类型的算术运算: 指针p加上或减去n ; 其意义是指针当前指向位置的前方或后方第n个数据的起始位置。  指针的++、--运算 意义是指向下一个或前一个完整数据的起始。  运算的结果值取决于指针指向的数据类型,总是指向一个完整数据的起始位置。 当指针指向连续存储的同类型数据时,指针与整数的加减运和自增自减算才有意义。

(5)this 指针:  指向当前对象自己 ; 隐含于类的每一个非静态成员函数中。  指出成员函数所操作的对象。  当通过一个对象调用成员函数时,系统先将该对象的地址赋给this指针,然后调 用成员函数,成员函数对对象的数据成员进行操作时,就隐含使用了this指针。

回复:

还没有人发言哦,来抢沙发吧~

请先登录

说点什么吧~

学堂公告

各位MOOCer大家好 (^-^)V

欢迎来到学堂在线广场~

在这里你可以玩活动,看资讯,晒笔记。

还可以交学友、发心情、聊人生。

在学堂的每一天,就从这里开始吧!

点击 广场指南 了解更多

推荐活动

我要举报
提交