《2022年春面向对象程序设计期末复习指南.docx》由会员分享,可在线阅读,更多相关《2022年春面向对象程序设计期末复习指南.docx(47页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精品学习资源2021 年春面对对象程序设计期末复习指南课程责任老师苏海燕第一部分考核说明本课程是开放训练本科运算机科学与技术专业的选修 课程,由 市电大 命题;本课程考试命题依据的教材采纳王萍主编,清华高校出版社出版的C+ 程序设计教程(2002 年 2 月第 1 版),共 4 学分,课内学时数为108,试卷编号 1008,考试方式为 闭卷;考试时间 90 分钟;(一)试卷类型及所占比例单项挑选题(占 20 分左右) 填空题(占 20 分左右)程序填充题(占 24 分左右)懂得问答题(占 24 分左右) 编程题(占 12 分左右)(二)考试留意事项考试过程中,把握时间的安排,做到先易后难,学问
2、点精确把握,详略得当;1. 单项挑选题:依据题意,从四种可挑选的答案中挑选合适的一种答案;2. 填空题:依据题意,在画有横线或空白处填写合适内容;3. 程序填充题:依据C+程序或函数(类)模块,及相应的功能描述,在画有横线或空白处填写合适内容;4. 懂得问答题:依据C+程序或函数(类)模块,回答一些问题;如写出程序运行结果或函数调用结果,写出程序或函数所能实现的功能,按题意要求指出错误位置 并改正;5. 编程题:给出编程要求和函数原型,编写出相应的程序或函数模块;其次部分 复习参考资料(一)纸质资料1、教材: C+ 面对对象程序设计,清华高校出版社出版、中心电大出版社发行部发行,熟读教材,把握
3、各章重点;试验教材:面对对象程序设计试验中心电大出版社出版和发行,机考参考;2、形成性测试考核册:独立完成,把握其中的学问点3、中心电大下发的面对对象程序设计期末复习指南:结合教材,及市电大 的复习要求,把握考核的学问点和重难点,完成每个章节的练习题,特别是各章的程序设计、程序填空和写出程序运行结果等大题;(二)网络资源1、重庆电大平台的,重难点分析,平常作业讲评和自检自测,以及巴南电大平台的作业讲评、历年考试真题、期末复习指南等;2、各平台的直播课堂和IP 课件和重庆电大平台的教案演示文稿;(三)录象教材:面对对象程序设计16 讲,每讲 50 分钟,中心电大音像出版社出版和发行;欢迎下载精品
4、学习资源第三部分 各章学问点梳理欢迎下载精品学习资源重点把握1简洁的 C+ 程序结构; P9-12第 1 章 C+ 编程基础欢迎下载精品学习资源第 2 章 基本 C+ 程序结构重点把握1 C+ 程序的基本单位是字符,由字符可以构成标识符,表示常量或变量;p18 2常量和变量通过运算符,依据肯定的优先级连接起来,构成表达式,表达式有返回值; P24-253. 定义具有简洁数据类型的常量p26 和变量的方法 p28,并对它们进行初始化;4. 简洁数据类型的含义和简洁运算;p245. 简洁表达式的写法和赋值语句的用法;p296. 用 cout 进行简洁的输出操作的语法和使用;P28第 3 章 数据类
5、型重点把握1. C+ 语言的基本数据类型:char字符型 、int 整型 、 float 浮点型 、double 双精度型 、w_char 双字节字符型 、bool 布尔型 p362. 运算机内存中储备数据是以字节为单位的,不同的数据类型占用的内存空间不同; p39-403. 不同的数据类型打算了运算机对内存中信息的说明方式,因此,尽管长整数和浮点数都是占用了四个字节的储备空间,它们储备数据的方式截然不同;p38第 4 章 程序流程掌握重点把握1. if 语句格式及应用;p522. 循环结构语句(while, do while, for); p58-68 3转向掌握语句(break, cont
6、inue, goto ); p73-74第 5 章 函数重点把握1. 函数定义与函数声明(函数名p79、函数类型 p80、形式参数 p79、函数体 p80、函数返回 p98、函数声明 p109);2. 函数调用 p82(调用表达式、实际参数、缺省参数、传值调用、嵌套调用、递归调用);第 6 章 简洁程序设计重点把握1 C+ 库函数中常用的库函数以及常用头文件的功能;p137 2局部变量和全局变量的概念;p142 3外部储备类型和静态储备类型在多文件程序中的联络作用;p130第 7 章 数组与结构重点把握1. 数组的定义p146 和存取; p147欢迎下载精品学习资源2. 一维和二维数组的定义p
7、151、初始化; p1563. 字符数组的定义、初始化,元素赋值与输出;p147,p1564. 向函数传递数组; p1585. 字符数组及其用法;p156第 8 章 指针与引用重点把握1. 指针变量的定义和运算,指针参数的使用;p1692. 用指针给函数传递参数;3. 指针、数组和字符串之间的紧密联系;p1794. 能够声明和使用字符串数组;p1835. 命令行参数,懂得函数指针的用法;p1848. 用引用传递参数的方法;p2039. 链表的概念及指针对链表的操作:建立、修改、插入和删除等;P195-201第 9 章 面对对象程序方法欢迎下载精品学习资源重点把握1. 面对对象的概念; p207
8、2. 类的概念; p213重点把握第 10 章 类与对象欢迎下载精品学习资源1. 声明和定义类和成员函数的方法;p226-2272. 把握类拜访成员的方法;p2323. 类定义与头文件; p240第 11 章 构造函数与析构函数重点把握1定义构造函数和析构函数的方法,把握默认构造函数的意义p2671构造类成员的方法;P275第 12 章 静态成员、友元重点把握1. 怎样声明一个静态数据成员p297;2. 静态数据成员和静态成员函数的使用方法;p298第 13 章 运算符重载重点把握1. 重定义与类有关的运算符;p319-3282. 运算符重载的规章;p316第 14 章 继承重点把握1. 继承
9、的概念,能利用继承现有的类建立新类;p3522. 多重继承的概念; p372第四部分综合练习题一、单项挑选题1. C+源程序文件的缺省扩展名为 A ;A. cppB. exeC. objD. lik2. 能作为 C+程序的基本单位是 C ;A.字符B.语句C.函数D.源程序文件欢迎下载精品学习资源3. 由 C+源程序文件编译而成的目标文件的缺省扩展名为C ;A. cppB. exeC. objD. lik4. 程序中主函数的名字为(A);A. mainB. MAINC. MainD.任意标识符5. 程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用D 符号作为分隔符;A.空格或逗号B.
10、逗号或回车C.逗号或分号D.空格或回车6. x0 & x=10 的相反表达式为(A);A. x10B. x10C. x=0 | x0 & x107. 设” int a=12;”,就执行完语句”a+=a*a ;”后, a 的值是 C ;A. 12B. 144C. 156D. 2888. 由 C+目标文件连接而成的可执行文件的缺省扩展名为 B;A. cppB. exeC. objD. lik9. 假定以下 x 和 y 均为 int型变量,就不正确的赋值为(B);A. x+=y+B. x+=y+C. x=+yD. +x=+y10. 在下面循环语句中循环体执行的次数为(C );int i=0,s=0;
11、 whiles0 | y=5的相反表达式为(B);A. x=0 | y.=5B. x0 | y.=5D. x0 & y=513. do 语句能够改写为(D)语句;A.复合B. ifC. switchD. while14假定一个二维数组的定义语句为“int a34=3,4,2,8,6;”,就元素a21A. 0的值为(C);B. 4C. 8D. 615. 在下面的一维数组定义中,哪一个有语法错误;(C)A. int a=1,2,3;B. int a10=0;C. int a;D. int a5;16. 可用作 C+语言用户标识符的一组标识符是B;A. voiddefine+WORD欢迎下载精品学习
12、资源B. a3_b3_123YNC. for-abcCaseD. 2aDOsizeof 17以下关于函数模板表达正确选项(C);A. 函数模板也是一个详细类型的函数B. 函数模板的类型参数与函数的参数是同一个概念C. 通过使用不同的类型参数,函数模板可以生成不同类型的函数D. 用函数模板定义的函数没有类型18. 以下函数的返回结果是(A);int functionchar *x char *p=x; while*p+; returnp-x-1;A.求字符串的长度B.将字符串 x 连接到字符串p 后面C.将字符串 x 复制到字符串 p 中 D.将字符串 x 反向存放19. 以下( C)的调用方式
13、是引用调用;A.形参和实参都是变量B.形参是指针,实参是地址值C.形参是引用,实参是变量D.形参是变量,实参是地址值20. 函数调用不行以(D);A.显现在一个表达式中B.显现在执行语句中C.作为一个函数的实参D.作为一个函数的形参21. 采纳重载函数的目的是(D);A.实现共享B.削减空间C.提高速度D.使用便利,提高可读性22. 以下正确的描述是(B);A. 函数的定义可以嵌套,函数的调用不行以嵌套B. 函数的定义不行以嵌套,函数的调用可以嵌套C. 函数的定义和函数的调用均可以嵌套D. 函数的定义和函数的调用均不行以嵌套23. 储备以下数据,占用储备字节最多的是(D);A. 0B.0C.“
14、 0”D. 0.024. C+语言的编译系统对宏命令的处理是D ;A. 在程序运行时进行B. 在程序连接时进行C. 和 C+程序的其它语句同时进行编译D. 在对源程序中其它成分正式编译之前进行25. 关于局部变量,下面说法正确选项 C;A. 定义该变量的程序文件中的函数都可以拜访B. 定义该变量的函数中的定义处以下的任何语句都可以拜访C. 定义该变量的复合语句中的定义处以下的任何语句都可以拜访D. 定义该变量的函数中的定义处以上的任何语句都可以拜访26 当 #include后面 的 文 件 名用 双 引 号 括起 来 时 , 寻 找 被 包 含文件 的 方 式是B ;A. 直接按系统设定的标准
15、方式搜寻目录欢迎下载精品学习资源B. 先在源程序所在目录搜寻,再按系统设定的标准方式搜寻目录C. 仅仅搜寻源程序所在目录D. 搜寻当前规律盘上的全部目录27. 如定义了函数 double *function,就函数 function的返回值为( B);A.实数型B.实数的地址C.指向函数的指针D.函数的地址28. 以下给字符数组赋初值时,正确选项A;A. char s1=” abcdef ”;B. char s24=” abcd ”;C. char s323=“ abc” , ” xyz” ;D. char s44= a, x , s , t ;29关于 void指针,以下说法正确选项(C);
16、A. void指针就是未指向任何数据的指针B. void指针就是已定义而未初始化的指针C. 指向任何类型数据的指针可直接赋值给一个void指针D. void指针值可直接赋给一个非void指针30. 设有定义“ static int data56;”,设该数组在静态储备区中的起始地址为 十进制的 100,如每个 int型数占 4 个字节,就数组元素data23的地址为 D;A. 115B.124C.130D.16031. 设 x是一个bool型的规律量,y的值为10,就表达式x & y的值为( C);A. 1B. 0C.与 x 值相同D.与 x 值相反32. 假定 p 指向的字符串为”strin
17、g”,如要输出这个字符串的地址值,就使用( C);A. cout*s;B. couts;C. cout&s;D. coutGetValueD. x.GetValue 45在多文件结构的程序中,通常把类中全部非内联函数的定义单独存放于(B)中;A.主文件B.实现文件C.库文件D.头文件46. 假定 AA 为一个类, int a为该类的一个成员函数,如该成员函数在类定义体外定义,就函数头为(A);A. int AA:aB. int AA:aC. AA:aD. AA:int a47. 循环语句“ forint i=0; in ; i+ couti*inext和 elemHeadD. elemTail
18、-next和 elemTail 53对于一个类的析构函数,其函数名与类名 C ;A.完全相同B.完全不同C.只相差一个字符D.无关系54. 假定一条定义语句为“int a10, x, *pa=a;”,如要把数组a 中下标为 3 的元素值赋给 x,就不正确的语句为(D);A. x=pa3;B. x=*a+3C. x=a3;D. x=*pa+3;55. 循环体至少被执行一次的语句为(C);A. for循环B. while循环C. do循环D.任一种循环56. 假定 AB 为一个类,就执行“AB x ;”语句时将自动调用该类的B ;A.带参构造函数B.无参构造函数C.拷贝构造函数D.赋值重载函数57
19、. 当类中的一个整型指针成员指向一块具有n*sizeofint大小的储备空间时,它最多能够储备 A 个整数;A. nB. n+1C. n-1D. 158. 假定 AB 为一个类,就执行“AB xa,5;”语句时将自动调用该类的A ;A.带参构造函数B.无参构造函数C.拷贝构造函数D.赋值重载函数59. 在下面的字符数组定义中,哪一个有语法错误;(D );A. char a20=” abcdefg ”;B. char a=” x+y=55. ”;C. char a15;D . char a10= 5;60. 假定一个类 AB 只含有一个整型数据成员a,当用户不定义任何构造函数时,系统为该类定义的
20、无参构造函数为D ;A. AB a=0;B. ABint aa=0: aaa C. ABint aa: aaa D.AB 61. 设 px 是指向一个类对象的指针变量,就执行“ delete px;”语句时,将自动调用该类的 C ;欢迎下载精品学习资源A.无参构造函数B.带参构造函数C.析构函数D.拷贝构造函数62. 假定一个类 AB 只含有一个整型数据成员a,用户为该类定义的带参构造函数可以为C ;A. AB B. AB: a0C. ABint aa=0 a=aa;D. ABint aa 63. 假定有“ struct BOOKchar title40; float price;book ;
21、”,就正确的语句为( B );A. BOOK &x= &book;B. BOOK &x=book;C. BOOK &x=new BOOK ;D. BOOK &x=BOOK;64. 假定 AB 为一个类,就执行“ AB a, b3, *p;”语句时共调用该类构造函数的次数为 A ;A. 2B. 3C. 4D. 565. 对类对象成员的初始化是通过构造函数中给出的B 实现的;A.函数体B.初始化表C.参数表D.初始化表或函数体66. 假定 AB 为一个类,就执行“ AB a2, b3, *p4;”语句时共调用该类构造函数的次数为 B;A. 3B. 4C. 5D. 967假定一个二维数组的定义语句为
22、“int a34=3,4,2,8,6;”,就元素a12的值为( C);A. 2B. 4C. 6D. 868. 一个类的静态数据成员所表示属性C ;A.是类的或对象的属性B.只是对象的属性C.只是类的属性D.类和友元的属性69. 当将一个类 A 或函数 f 说明为另一个类B 的友元后,类 A 或函数 f能够直接拜访类 B 的(D);A. 只能是公有成员B. 只能是爱护成员C. 只能是除私有成员之外的任何成员D. 具有任何权限的成员70. 类的静态成员的拜访掌握(D );A.只答应被定义为privateB.只答应被定义为private或 protectedC.只答应被定义为publicD.可答应被
23、定义为private、protected或 public71. 软件产品在需求发生变化、运行环境发生变化或发觉软件产品本身的错误或不足时进行相应的软件更新的难易程度叫做软件的(A);A.可爱护性B.可复用性C.兼容性D.正确性72. 在成员函数中进行双目运算符重载时,其参数表中应带有(B)个参数;欢迎下载精品学习资源A. 0B. 1C. 2D. 373假如表达式 +a 中的“ +”是作为成员函数重载的运算符,如采纳运算符函数调用格式,就可表示为(D);A. a.operator+1B. operator+aC. operator+a,1D. a.operator+ 74双目运算符重载为一般函数
24、时,其参数表中应带有(C )个参数;A. 0B. 1C. 2D. 375. 以下表达中不正确选项(C);A. 在一个函数中,可以有多条return语句B. 函数的定义不能嵌套,但函数的调用可以嵌套C. 函数必需有返回值D. 不同的函数中可以使用相同名字的变量76. 对于公有继承,基类中的私有成员在派生类中将C ;A.能够直接使用成员名拜访B.能够通过成员运算符拜访C.仍旧是基类的私有成员D.变为派生类的私有成员77. 从一个基类派生出的各个类的对象之间 C ;A. 共享全部数据成员,每个对象仍包含基类的全部属性B. 共享部分数据成员,每个对象仍包含基类的全部属性C. 不共享任何数据成员,但每个
25、对象仍包含基类的全部属性D. 共享部分数据成员和函数成员78. 当爱护继承时,基类的(B)在派生类中成为爱护成员,在类作用域外不能够通过派生类的对象来直接拜访该成员;A.任何成员B.公有成员和爱护成员C.爱护成员和私有成员D.私有成员79. 在关键字 private后面定义的成员为类的(A )成员;A.私有B.公用C.爱护D.任何80函数原型语句正确选项(B);A. int Functionvoid a;B.void Function int;C. int Functiona;D.void intdouble a;81. 在多文件结构的程序中,通常把含有main 函数的文件称为(A);A.主文
26、件B.实现文件C.程序文件D.头文件82. 设有如下函数定义int fchar *s char *p=s;while*p.= 0 p+ ;returnp-s;在主函数中用 coutf“good ” 调用上述函数 ,就输出结果为(B);A. 3B. 4C. 5D. 6欢迎下载精品学习资源83. 当类中一个字符指针成员指向具有n 个字节的储备空间时,它所能储备字符串的最大长度为 C ;A. nB. n+1C. n-1D. n-284. 如用数组名作为函数调用的实参,传递给形参的是(A);A.数组的首地址B.数组中第一个元素的值C.数组全部元素的值D.数组元素的个数85. 类的构造函数是在定义该类的
27、一个 C 时被自动调用执行的;A.成员函数B.数据成员C.对象D.友元函数86. 预处理命令在程序中都是以B 符号开头的;A. *B. #C. &D. 87. 假定一个类的构造函数为“ Aint aa, int bb a=aa; b=aa*bb ; ”,就执行“A x4,5;”语句后, x.a 和 x.b 的值分别为 C ;A. 4和 5B. 5和 4C. 4和 20D. 20和 588. 假定有定义“ int b10; int *pb;”,就不正确的赋值语句为(D );A. pb=b;B. pb=&b0;C. *pb=new int;D. pb=b5;89. 当一个类对象离开它的作用域时,系
28、统自动调用该类的 D ;A.无参构造函数B.带参构造函数C.拷贝构造函数D.析构函数90. 假定变量 b 和 pb 定义为“ int b10, *pb=b;”,要将 24 赋值给 b1 元素中, 不正确的语句是(C);A. *pb+1=24;B. *b+1=24;C. *+b=24;D. *+pb=24;91. 对类中常量成员的初始化是通过构造函数中给出的C 实现的;A.函数体B.参数表C.初始化表D.初始化表或函数体92. 假定 AA 为一个类, a 为该类公有的数据成员,如要在该类的一个成员函数中拜访它,就书写格式为( A);A. aB. AA:aC. aD. AA:a93. 引入友元的主
29、要目的是为了(C ) ;A.增强数据安全性B.提高程序的牢靠性C.提高程序的效率和敏捷性D.保证类的封装性94. 类中定义的成员默认为(B)拜访属性;A. publicB. privateC. protectedD. friend 95关于运算符重载,以下说法正确选项(C );A. 重载时,运算符的优先级可以转变;B. 重载时,运算符的结合性可以转变;C. 重载时,运算符的功能可以转变;欢迎下载精品学习资源D. 重载时,运算符的操作数个数可以转变;96假如是类 B 在类 A 的基础上构造,那么,就称(B );A. 类 A 为基类或父类,类B 为超类或子类B. 类 A 为基类、父类或超类,类B
30、为派生类或子类C. 类 A 为派生类,类 B 为基类D. 类 A 为派生类或子类,类B 为基类、父类或超类97一个类的构造函数通常被定义为该类的A 成员;A.公用B.爱护C.私有D.友元98假定一个类对象数组为An ,当离开它定义的作用域时,系统自动调用该类析构函数的次数为 C ;A. 0B. 1C. nD. n-1二、填空题1 C+语言是在 C语言的基础上进展起来的; 2假定 x=10,就表达式 xa;30. 假定 x 是一个规律量,就x & false的值为 _0;31. 如需要把一个字符串”aaa”赋值到字符数组a 中,就需要执行_strcpy 函数的调用来实现;32. 假定 p 所指对象的值为25, p+1 所指对象的值为42,就执行 *p+ 运算后, p 所指对象的值为 26_;33. 储备字符 a和字符串” a”分别需要占用 _1和2_ 个字节;34. 如“ double x=100;”是文件F1.CPP 中的一个全局变量