c++期末复习.docx
- 文档编号:23398570
- 上传时间:2023-05-16
- 格式:DOCX
- 页数:19
- 大小:25.89KB
c++期末复习.docx
《c++期末复习.docx》由会员分享,可在线阅读,更多相关《c++期末复习.docx(19页珍藏版)》请在冰豆网上搜索。
c++期末复习
《C++程序设计》期末复习
一、课程内容及要求
本课程内容分为十一章,各章具体教学内容及教学要求如下:
⏹第一章C++概述
[教学内容]
1.1C++语言的历史背景
1.2简单的C++程序
1.3C++程序的构成和书写形式
1.4C++程序的编写和实现
1.5在VC++6.0中的操作
[教学要求]
了解C++语言的发展过程,产生与特点;掌握C++程序的构成和书写形式、程序从编写到运行出结果要经历的步骤,能在VC++6.0(或CodeBlock)中编写和运行。
⏹第二章数据类型与表达式
[教学内容]
2.1C++的数据类型
2.2常量与变量
2.3基本数据类型
2.4运算符与表达式
[教学要求]
理解数据类型与变量、常量的关系;标识符的命名规则;掌握各种常量的性质和定义;会简单I/O流的使用;理解表达式和语句的概念;掌握表达式中各种运算符的功能和特点。
第三章程序设计初步
[教学内容]
3.1C++的语句
3.2顺序结构
3.3选择结构
ØIf….else
Øswitch
3.4循环结构
Øwhile循环
ØDo-while循环
Øfor循环
3.5常见应用问题举例
3.6break语句与continue语句
[教学要求]
掌握C++算法的基本控制结构语句,会使用选择、循环语句及嵌套时使用。
掌握常见应用问题(求素数、最大公约数与最小公倍数、取出任意整数的每位数字(逆序排列、水仙花数、回文数、检查是否含有某数或含有某数的个数等)、利用循环语句打印有规律的图形等)的算法。
第四章函数与预处理
[教学内容]
主要内容如下:
函数的定义、函数的参数及两种传递方式、函数的调用、内联函数、函数的重载、函数模板、有缺省参数的函数、函数的递归调用、变量的作用域及存储类别、内部函数和外部函数(extern)、编译预处理命令(常用头文件iostream.h,math.h,string.h,iomanip.h)。
[教学要求]
了解函数调用的内部机制,区分函数原型声明与定义;理解并运用递归、内联、重载和默认参数的函数。
掌握变量的作用域和static的使用。
其他内容作一般了解。
第五章数组
[教学内容]
5.1数组的概念
5.2一维数组的定义与引用
5.3二维数组的定义与引用
5.4数组名作为函数参数
5.5用字符数组存储和处理字符串
5.6C++处理字符串的方法
[教学要求]
理解数组下标;掌握初始化数组的方法;会把数组用做函数参数;会二维数组的使用,数组和字符串之间的紧密联系,能够声明和使用字符串数组,及常用字符串处理函数。
掌握用声明string类型处理字符串的方法。
掌握常用算法,如:
选择法、冒泡法排序;求数组元素的最大最小值;杨辉三角形;乘法九九表;在有序数中插入数;折半查找等。
第六章指针
[教学内容]
6.1指针的概念
6.2变量与指针
6.3数组与指针
6.4字符串与指针
6.5动态申请内存操作符new
[教学要求]
理解指针、数组和字符串之间的紧密联系,会声明指针与处理一般问题,会用指针给函数传递参数;掌握new、delete的使用。
第七章自定义数据类型
[教学内容]
7.1结构体类型——struct
7.2共用体——union
7.3枚举类型——enum
7.4用typedef声明类型
[教学要求]
理解结构体类型,了解共用体和枚举类型,会声明这3种类型。
第八章类与对象
[教学内容]
8.1面向对象的思想
8.2面向对象的程序组成
8.3用C++实现抽象与封装
8.4C++的类及类的声明
8.5类的对象
8.6类中成员的访问方式
8.7C++的多文件结构
[教学要求]
掌握声明和定义类和成员函数的方法;掌握访问成员函数的方法;理解私有数据如何屏蔽外部访问的原理,使得对类的封装有更好的认识。
理解类与对象的区别,了解C++的多文件结构。
第九章关于类和对象的进一步讨论
[教学内容]
9.1构造函数
9.2拷贝构造函数
9.3析构函数
9.4静态成员
9.5友元
9.6对象指针
9.7共用数据的保护
[教学要求]
掌握定义构造函数和析构函数的意义和方法;区分构造函数和拷贝构造函数;掌握对象成员的初始化;掌握对象之间的数据共享方式——静态成员,理解共享数据在程序中的联络作用;理解友元(friend)的作用,掌握友元的声明与使用,一般了解const修饰数据成员的用法。
第十章运算符重载
[教学内容]
10.1.重载为类的成员函数
●双目运算符(+、-)
●单目运算符(前置、后置++、--)
10.2重载为友元函数
●双目运算符(+、-)
●单目运算符(前置、后置++、--)
[教学要求]
理解多态性的概念、运算符重载的必要性、重载运算符规则;掌握运算符重载的规则,掌握以上运算符重载函数的设计,区分运算符重载为成员函数和友元函数的使用方法。
第十一章继承与派生
[教学内容]
11.1类的继承与派生的概念
11.2派生类的声明方式
11.3派生类成员的三种访问属性
11.4基类与派生类的对应关系
11.5派生类的构造、析构函数
11.6多重继承
11.7多重继承引起的二义性问题
[教学要求]
能够利用继承现有的类建立新类;理解继承如何提高软件的重用性;理解派生类对基类的吸收、改造和添加;理解虚基类在多继承中的作用,了解虚基类的说明语法;重点:
派生类的三种继承方式、继承中派生类的构造函数和析构函数。
附:
练习题
一、单项选择题
1.下列标识符中,不合法的用户标识符为( A )
A、a#bB、__intC、a__10D、PAd
2.每个类( C )构造函数。
A、只能有一个B、只可有公有的
C、可以有多个D、只可有缺省的
3.在公有继承的情况下,基类成员在派生类中的访问权限( D )
A、受限制B、保持不变C、受保护D、不受保护
4.在( D )情况下适宜采用inline定义内联函数。
A、函数体含有循环语句B、函数体含有递归语句
C、函数代码多、不常调用D、函数代码少、频繁调用
5.字符串“3*5=15”的长度为(B)。
A.6 B.7 C.8 D.9
6.从程序片断:
studentstu("张三","M",22);stu.no("20120001");可判断no是一个(C)。
A.私有成员数据B.私有成员函数C.公有成员数据D.公有成员函数
7.公有继承的派生类对象可以访问其基类的(B)。
A.公有成员B.公有成员及受保护成员C.受保护成员D.私有成员
8.设置虚基类的目的是(D)。
A.简化程序B.使程序按动态联编方式运行C.提高程序运行效率D.消除二义性
9.在下面的字符数组定义中,(D)语句有语法错误。
A.chara[20]=”abcdefg”; B.chara[]=”x+y=55.”;
C.chara[15]={’1’,’2’}; D.chara[10]=’5’;
10.假定要对类AB定义加号操作符重载成员函数,实现两个AB类对象的加法,并返回相加结果,则该成员函数的声明语句为(A)
A、ABoperator十(ABa)B、ABoperator十(ABa,ABb)
C、operator十(ABa)D、AB&operator十()
11.在每个C++程序中都必须包含有这样一个函数,该函数的函数名为(B)
A、includeB、mainC、nameD、function
12.(A)是析构函数的特征。
A.析构函数名与类名完全相同
B.一个类中只能定义一个析构函数
C.析构函数的定义只能在类体内
D.析构函数可以有一个或多个参数
13.类的拷贝构造函数的参数是(C)。
A.某个对象名
B.某个对象的成员名
C.某个对象的引用
D.某个对象的指针名
14.假定QA为一个类,则该类的拷贝构造函数的声明语句为__B______。
A.QA&(QAx);B.QA(QA&x);C.QA(QAx)D.QA(QA*x)
15.classBase
{protected:
inti;
public:
intj;
};
ClassDerived:
publicBase
{intm;
Public:
intn;
};
voidmain()
{
Derivedd;
d.i=0;//[1]
d.j=0;//[2]
d.m=0;//[3]
d.n=0;//[4]
}
其中主函数中有两个赋值语句错误,这两个错误的赋值语句是(B)
A、[1][2]B、[1][3]C、[2][3]D、[2][4]
16.对于结构体中定义的成员,其隐含访问权限为____A____。
A.publicB.protectedC.privateD.static
17.若x为整型变量,以下定义指针的正确语句是(C)。
A)intp=&x;B)intp=x;
C)int*p=&x;D)p=x;
18.从程序片断:
intA[5]={7,2,4,8,5};SELECT(A,5);可判断SELECT函数的调用采用的是(C)。
A.传值调用B.带缺省参数值的函数调用C.传址调用D.无法判断
19.设存在函数intADD(int,int)返回两参数之和,若求12,67,20三者之和,下列表达式不正确的是(C)。
A.intm=ADD(12,ADD(67,20));B.intm=ADD(ADD(12,67),20);
C.intm=ADD(12,67,20);D.intm=ADD(67,ADD(12,20));
20.下列静态数据成员的特性中,(C )是错误的。
A)说明静态数据成员时前边要加修饰符static;
B)静态数据成员要在类体外进行初始化;
C)静态数据成员不是所有对象所共用的;
D)引用静态数据成员时,要在其名称前加<类名>和作用域运算符;
21.友元的作用是(A )。
A)提高程序的运用效率;
B)加强类的封装性;
C)实现数据的隐藏性;
D)增加成员函数的种类;
22.在重载一个运算符为成员函数时,其参数表中没有任何参数,说明该运算符是(B)
A)后缀一元运算符B)前缀一元运算符
C)无操作数运算符D)二元运算符
23.设类Point中存在成员staticintx,则下列哪种初始化方式是正确的(B).
A.Point:
:
intx=25;B.intPoint:
:
x=25;
C.intx=25;D.intPointx=25;
二、填空
1.函数的递归调用是指函数直接或间接地调用该函数本身。
2.使用const语句定义一个标识符常量时,则必须对它同时进行___初始化_______。
3.若x=5,y=10,则x>y和x<=y的逻辑值分别为___0_____和_____1___。
4.设px是指向一个类动态对象的指针变量,则执行”deletepx;”语句时,将自动调
用该类的____析构函数________。
5.若需要把一个函数”voidF();”定义为一个类AB的友元函数,则应在类AB的定义
中加入一条语句:
________friendvoidF();______
6.C++语言提供的基本控制结构可以分为3种类型:
顺序结构、选择结构_______和循环结构。
7.开发一个C++语言程序的步骤通常包括编辑、_编译______、连接、运行和调试。
8.C++类中的___析构____函数在对象的生存期结束时被自动调用。
9.友元函数可以存取类的__私有成员_____、公有成员和保护成员。
10.若类的成员函数用关键字static进行修饰,这样的成员函数称为_类的静态成员函数______。
11.类的继承是指派生类继承基类的数据成员和_成员函数______。
12.在C++中,虽然友元提供了类之间数据进行访问的一种方式,但它破坏了面向对象程序设计的__封装_____特性。
13.重载一个函数的条件是:
该函数必须在参数的__个数________或参数的类型上与其它同名函数有所不同。
14.重载运算符时,其原有的___优先级别_______、结合性以及操作对象的个数不允许改变。
15.类和其它数据类型不同的是,组成这种类型的不仅可以有数据,还可以有对数据进行操作的___函数____。
16.对于类Point而言,其析构函数的定义原型为__~Point(){}____。
17.从一个或多个以前定义的类产生新类的过程称为__派生____。
18.C++中用于动态创建对象,并返回该对象的指针的关键字是__new____。
19._____inline____指令指示编译器将一个源文件嵌入到带该指令的源文件之中。
20.在保护派生中,基类权限为Private的成员在派生类中____不可访问_____。
三、分析程序题
1、给出下面程序的运行输出结果
voidmain()
{inti,j,k;
for(i=0;i<=3;i++)
{for(j=0;j<3-i;j++)
cout<<"";
for(k=0;k<2*i+1;k++)
cout<<"*";
cout< } for(i=0;i<=2;i++)* {for(j=0;j<=i;j++)*** cout<<"";***** for(k=0;k<=4-2*i;k++)******* cout<<"*";***** cout< }}* 2、给出下面程序的运行输出结果 #include usingnamespacestd; voidfun(); voidmain() {fun(); fun(); } voidfun() {staticinta=1; inti=5; a++; i++; cout<<"i="< } 程序运行结果是______i=6,a=3________________ 3、给出下面程序的运行输出结果 #include usingnamespacestd; intmain() { inti,j; for(i=1;i<=4;i++) for(j=2;j<=4;j++) { if(i+j<5) cout<<"+"; else cout<<"*"; } return0; }++*+******** 4、给出下面程序的运行输出结果 #include usingnamespacestd; classA{ inta; public: A(intaa=0){a=aa;} ~A(){cout<<″DestructorA!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c+ 期末 复习