河北科技大学 面向对象程序设计基础学习提纲

2019-08-28 23:59

《面向对象程序设计基础》学习提纲

第1章 程序设计与c++语言初步

1、c++语言程序结构 2、c++程序运行

3、面向对象程序特征 第2章 基本数据类型

1、 标识符、关键字:标识符的命名规则:以字母或下划线开始,不能包含非法字符

2、 常量和变量

整型常量(十、八、十六进制的正确写法) 实型常量(小数形式、指数形式) 字符常量(普通字符和转义字符) 字符串常量(结束标志、长度)

变量(合法变量名、数据类型、作用域、存储类型) 符号常量:#define PI 3.14

const double PI = 3.14; 3、 C++输入输出流(无格式输入输出,输入字符串) 4、 基本数据类型

(整型、实型、字符型、无值型(void)、布尔型) 5、 运算符与表达式(重点)

运算符的种类、优先级和结合性(编译器会对程序中所有表达式求值) 算术运算符及表达式:* 、 / 、 + 、- 、%(用于整数运算,可用来

判断是否整除)、

++、――(自加、自减,只能作用于变量,放在变量前面或后面的区

别)

关系运算符及表达式:>、<、>=、<=、= =、!=。运算结果为1(真)

或0(假)

逻辑运算符及表达式:(会使用&&和||书写逻辑表达式,判断时非0即

为真,0为假)

赋值运算符及表达式:赋值运算符=和+=,左边只能是变量。 4、 类型转换:如(int);经过强制类型转换后算术表达式的求值 例题:2.3.1(p37) 练习:2-1、2-3、2-8 上机习题:2-2 第3章 基本控制结构

1、 三种基本结构:顺序结构、选择结构、循环结构 2、 顺序结构(表达式语句、空语句、复合语句) 3、 if..else语句实现选择结构及其嵌套 4、 switch语句实现多分支选择,break语句跳出分支结构 5、 for、while、do..while循环结构(循环次数、循环条件、循环结束后变量的值)

第 1 页 共 17 页

6、 break语句和continue语句 7、 多重循环

例题:3.2.3 3.2.4 3.2.5 3.2.8 3.3.4 3.3.6 练习:3-2,3-4, 3-6 上机习题: 3-3 第4章 函数

1、 函数的有关概念:类型、参数、返回值 2、 定义函数:确定函数的类型、形参的类型及名称、返回值及一致性、定义位置等。

3、 函数调用:确定实参及类型、调用方式与方法、参数传递方式(传值调用、传址调用)。

4、 递归函数及调用:由递推公式定义递归函数 5、 变量的作用域及存储类型:全局、局部变量的定义及其作用域,局部变量的三种存储类型:自动存储、静态存储、寄存器存储,静态局部变量的初始值及在函数经过多次调用后的值。

6、递归程序设计

7、预处理命令:宏定义 8、库函数

例题:4.2.2 4.7.2 练习题:4-6,4-8 第5章 类与对象

1、类的定义;类成员的访问控制:公有public、保护protected和私有private。

2、成员函数的定义:在类外定义成员函数。

3、对象的概念:类和对象的关系;构造函数和析构函数; 习题:5-2,5-4 第6章 复合数据类型

1、 指针与指针变量的概念、定义、指针运算(不包括指针的关系运算)、初始化。

2、 一维数组、二维数组的定义及初始化(下标从0开始,二维数组按行排列、根据行列数定义二维数组等)

3、 指向变量的指针与指向数组的指针的使用(字符指针的各种初始化形式) 4、 利用字符指针处理字符串(输入、输出、复制、逆序排列、求长度) 5、字符串:string类的用法 4、 常用字符串处理函数(strlen、strcpy、strcmp、strcat) 6、 指针数组的使用(多个字符串按字典顺序排序) 6、对象指针:用指针访问数据成员和成员函数 7、指向函数的指针

8、结构类型、枚举类型与类型别名 例题:6.3.1 6.3.2 习题:6-3,6-6,6-9

第 2 页 共 17 页

第7章 继承机制

1、继承和派生的概念

2、单一继承:三种继承方式的区别 3、派生类构造函数的定义方法 4、派生类析构函数的注意问题 5、多重继承的声明形式

6、多重继承的二义性及其解决方法 第8章 多态性

1、多态的概念 2、函数重载

3、运算符重载:重载为成员函数;重载为友元函数 4、虚函数的声明及其用法 5、虚析构函数的作用

6、纯虚函数和抽象类的概念 第10章 输入输出流

1、输入输出流类库

2、文件流的概念:文件的打开和关闭;文件的读写 例题:10.5.1, 10.7.1

复习题一及参考答案:

一、单选题(每小题1分,共6分)

1、在每个C++程序中都必须包含有这样一个函数,该函数的函数名为 。

A. main B. MAIN C. name D. function 2、设x和y均为bool量,则x&&y为真的条件是 。

A. 它们均为真 B. 其中一个为真 C. 它们均为假 D. 其中一个为假 3、下面的哪个保留字不能作为函数的返回类型? 。 A. void B. int C. new D. long

4、假定a为一个整型数组名,则元素a[4]的字节地址为 。 A. a+4 B. a+8 C. a+16 D. a+32

5、假定AB为一个类,则执行“AB a(4) , b[3] , * p[2] ;”语句时,自动调用该类构造函数的次数为 。

A. 3 B. 4 C. 6 D. 9

6、假定要对类AB定义加号操作符重载成员函数,实现两个AB类对象的加法,并返回相加结果,则该成员函数的声明语句为: 。

A. AB operator+(AB & a , AB & b) B. AB operator+(AB & a) C. operator+(AB a) D. AB & operator+( )

二、填空题(每小题2分,共24分)

第 3 页 共 17 页

1、C++语言中的每条基本语句以 作为结束符,每条复合语句以

作为结束符。

2、执行“cout <

3、float 和 double 类型的大小分别为 和 。 4、关系表达式x+y>5的相反表达式为 。

5、假定一个一维数组的定义为“char * a[8] ;”,则该数组所含元素的个数为 ,所占存储空间的字节数为 。

6、变量分为全局和局部两种, 变量没有赋初值时,其值是不确定的。

7、假定a是一个二维数组,则a[i][j]的指针访问方式为 。 8、假定一个结构类型定义为

“struct D { int a ; union { int b ; double c ; } ; D * d[2] ; } ;” , 则该类型的大小为 字节。

9、对一个类中的数据成员的初始化可以通过构造函数中的 实现,也可以通过构造函数中的 实现。

10、假定AB为一个类,则执行“AB a[10];”语句时,系统自动调用该类的构造函数的次数为 。

11、假定类AB中有一个公用属性的静态数据成员bb,在类外不通过对象名访问该成员bb的写法为 。

三、给出下列程序运行后的输出结果(每小题6分,共36分) 1、# include void SB(char ch) { switch(ch){

case 'A': case 'a':

cout <<\ case 'B': case 'b':

cout <<\ case 'C': case 'c':

cout <<\ default:

cout <<\ } }

void main() {

char a1='b',a2='C',a3='f'; SB(a1);SB(a2);SB(a3);SB('A'); cout <

第 4 页 共 17 页

2、# include # include

void main() {

char *a[5]={\ char *p1,*p2; p1=p2=a[0];

for (int i=0; i<5; i++) {

if (strcmp(a[i],p1)>0) p1=a[i]; if (strcmp(a[i],p2)<0) p2=a[i]; }

cout <

3、# include int a=5;

void main() {

int a=10,b=20;

cout <

for (int i=1; i<6; i++) { a+=i; b+=a; }

cout <

cout <

4、# include int LB(int *a,int n) { int s=1;

for (int i=0; i

void main() {

int a[]={1,2,3,4,5,6,7,8}; int b=LB(a,5)+LB(&a[3],3); cout <<\}

第 5 页 共 17 页


河北科技大学 面向对象程序设计基础学习提纲.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:曙光路小学2012年教师节学生活动方案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: