《2022年面向对象中央广播电视大学考试说明.docx》由会员分享,可在线阅读,更多相关《2022年面向对象中央广播电视大学考试说明.docx(23页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选学习资料 - - - - - - - - - 面对对象程序设计课程考核说明(2006年版)中心广播电视高校运算机科学与技术专业 一、考核说明面对对象程序设计课程是电大系统运算机科学与技术专业本科生(专科起点)的 一门必修课程;本课程是数据结构、操作系统、运算机网络、软件工程等的先修课程,在整个专业教案体系中占据特别重要的基础位置;本课程主要介绍C+语言的基本语法规就,各种数据类型的定义、表示和使用,各种流程掌握语句的定义与作用,类和对象的定 义与应用,面对过程和面对对象的程序设计方法等内容;面对对象的思想是需要在实践中不断摸索和体会的,同学们在后续课的学习和以后的 工作中要主动去运用和实践
2、;教案的主要目标是让同学能够建立起摸索问题的方法,指导 以后的软件开发实践;现将该课程考核的有关问题说明如下:1. 考核对象 全国电大系统开放训练试点运算机科学与技术专业(专科起点本科)学 生;2教案媒体文字主教材 C+面对对象程序设计王萍编著清华高校出版社出版试验教材面对对象程序设计试验徐孝凯等编中心广播电视高校出版社出版录象教材 16 讲 王萍主讲中心广播电视高校音像出版社出版复习资料面对对象程序设计期末复习指导中心电大训练杂志社出版发行作业练习面对对象程序设计形成性考核作业册中心电大训练杂志社出版发行网上辅导 在电大在线运算机科学与技术面对对象程序设计课程网页上发表3. 命题依据本考核说
3、明以电大运算机科学与技术专业面对对象程序设计教案大纲为依据编制;本考核说明是考试命题的依据;4. 考核要求本课程是以有用为最终目的,主要考核同学对C+语言的把握程度和对解决一般问题的程序设计才能;不要死记硬背,留意懂得和运用;考核分为以下几个层次:懂得 :要求同学懂得面对过程和面对对象程序设计的基本思想和方法,懂得 C+语言程序的基本结构,懂得各种C+语法成分定义、表示和作用;应用 :要求同学能够依据所学的 C+语言学问和程序设计学问,分析和懂得一般的程 序或函数模块或类模块,能够依据处理简洁问题的要求编写出较规范的并且可读性好的面 向过程或面对对象的函数模块或程序;综合应用 :要求同学能够综
4、合运用多个学问点进行比较复杂的程序(函数模块)分析 和设计,考察同学综合运用学问的才能和实际解决问题的才能;5. 命题原就 1 在教案大纲和考核说明所规定的学问范畴内命题;在教案学问范畴之内,需要灵 活运用才能够解决问题的试卷不属于超纲;2 试卷的考察要求掩盖面广、区分度高;3 试卷兼顾各个才能层次,懂得约占40%,应用约占40%,综合应用约占20%;1 / 14 名师归纳总结 - - - - - - -第 1 页,共 14 页精选学习资料 - - - - - - - - - 4 试卷的难易程度和题量适当,按难易程度分为四个层次:简洁占 20%,较易占30%,较难占30%,难占20%;题量支配
5、以平常能够独立完成作业者,能在规定的考试时间内做完并有肯定时间检查为原就;6. 试卷题型 单项挑选题 :依据题意,从四种可挑选的答案中挑选合适的一种答案;填空题: 依据题意,在画有横线或空白处填写合适内容;程序填充题:依据C+程序或函数(类)模块,及相应的功能描述,在画有横线或空白处填写合适内容;懂得问答题:依据C+程序或函数(类)模块,回答一些问题;如写出程序运行结果或函数调用结果,写出程序或函数所能实现的功能,按题意要求指出错误位置并改正;编程题: 给出编程要求和函数原型,编写出相应的程序或函数模块;7. 考核形式:采纳期末考核与形成性考核相结合的方式;形成性考核分为两种,一种视作业完成情
6、形 和试验完成情形而定,占总成果的 15%;另一种为期末上机考核,占总成果的 15%,完成 一个指定题目的程序开发和调试,由各省级电大在省内统一命题,时间为 60 分钟;期末考 核占总成果的 70%,为闭卷考试,由中心电大统一命题,答卷时限从 2006 年下学期开头为120 分钟;总成果满分为 100 分,合成成果达 60 分及以上者可获得该课程规定的 4 学分,否就不获得该课程学分;二、考核内容和要求第一部分 程序设计基础 考核目的:考核同学对 C+程序结构、程序运行过程、各种数据类型的作用、数据常量表示、表 达式构成、运算符含义、简洁语句和复合语句格式等的把握程度;考核的学问点:C+语言特
7、点和程序的基本结构;上机输入、编辑、连接、运行一个 C+程序的过程;整数、字符、实数、规律等标准数据类型的含义;各种常量的字面表示和符号表示,变量的定义与使用;常用运算符的表示、优先级与结合性;表达式的分类和使用;考核要求:懂得: C+语言的有关基本概念、程序结构、数据类型的分类与作用、常量和变量的表 示、运算符含义、表达式构成与运算等内容;应用:能够编写简洁的程序,能完成简洁数据和表达式的输入和输出,能利用变量存 放输入数据、暂时数据和运算结果,能利用符号常量存放固定数据,能依据数值运算和数 据处理的要求挑选合适的常量或变量表示,能利用运算符进行算术、比较(即关系)和逻 辑运算,能把一般数学
8、算式、不等式或条件表示成相应的 C+表达式;其次部分 流程掌握语句与程序模块的基本结构 考核目的:考核同学对各种分支语句、循环语句和跳转类语句的懂得和把握程度,对程序模块的 次序、分支和循环这三种基本结构的懂得程度,对运用流程掌握语句编写程序解决实际问 题的才能;2 / 14 名师归纳总结 - - - - - - -第 2 页,共 14 页精选学习资料 - - - - - - - - - 考核的学问点:以下各种掌握语句的定义格式、执行过程与作用: if语句、 switch语句、 for语句、 while语句、 do 语句、 break语句、 continue语句、 return语句等;各种分支
9、和循环语句相互嵌套的作用和执行过程;考核要求:懂得:各种语句的格式、执行过程与作用,语句之间相互嵌套的概念;应用:1 能够分析含有if和 switch分支类语句的程序模块并给出功能或执行结果,能够依据分支处理的要求编写出相应的分支程序;2 能够分析含有for 、while和 do 循环类语句的程序模块并给出功能或执行结果,能够依据循环处理的要求编写出相应的循环程序,如累加运算、数据统计、求最大值、求 平均值等程序;3 能够实现if和 switch语句之间的转换,能够实现for 、while和 do 循环语句之间的转换;综合应用:运用各种流程掌握语句和其他语句等已有学问进行比较复杂的程序分析与
10、设计,如双重或三重循环的程序分析与设计;第三部分 函数 考核目的:考核同学对变量作用域的懂得程度,对函数定义与调用格式的把握程度,对形式参数 和实在参数的使用与结合的懂得程度,对模块化程序设计方法的把握程度;考核的学问点:模块化程序设计的概念,多文件结构的程序;函数的定义、声明与调用格式,静态函数的含义;函数定义中值参数、指针参数、数组参数、引用参数、常量参数的声明格式及作用;函数中带默认值参数的说明与作用;函数调用中的实参加函数定义中的形参之间的结合过程;函数返回值的一般类型、指针类型和引用类型的作用;变量的作用域和生存期,静态变量的特点;内联函数的定义格式及作用;递归函数的设计方法和调用过
11、程;函数重载的含义和作用;函数模板的定义格式及作用;考核要求:懂得:1 模块化程序设计与函数的关系,函数的定义格式与声明格式,函数调用表达式的 格式及执行过程,带默认值参数的含义与用法;2 全局变量、局部变量、静态变量的含义;3 内联函数和函数模板的定义与声明格式,函数模板的实例化,重载函数的作用;应用:1 能够分析已知函数,给出所能实现的功能或运行结果;2 能够依据处理问题的需要合理地设置函数参数、函数的返回值类型以及编写出函 数体;3 利用递归函数来简化程序设计;3 / 14 名师归纳总结 - - - - - - -第 3 页,共 14 页精选学习资料 - - - - - - - - -
12、4 利用函数重载来优化程序设计;5 利用函数模板来设计能够处理任何数据类型的程序;第四部分 数组、结构、指针和引用 考核目的:考核同学对数组、字符串、结构、指针、引用等数据类型的懂得和把握程度;考核的学问点:一维数组的概念、定义和初始化;二维及多维数组的概念、定义和初始化;一维和二维数组元素的下标拜访方式;字符串与字符数组的区分与联系,字符串的输入与输出;常用字符串函数(如strlen,strcpy,strcmp,strcat等)的调用格式与作用;结构类型的定义格式和作用,结构变量的定义格式和初始化;结构成员的表示和使用;指针的概念、定义及初始化;针对指针的各种运算操作;数组名的指针含义,数组
13、元素的下标与指针方式的表示及转换;数组形参加指针形参之间的等价表示与转换;引用的定义和初始化,引用参数与值参数的区分;一般变量与数组的储备空间的动态安排与释放;考核要求:懂得:1 数组、字符串、结构、指针、引用等的概念、表示和作用;2 数组的储备空间安排,数组元素的地址运算,数组元素的下标拜访方式和指针访 问方式;3 字符串的储备格式,字符串的输入输出方式,字符串函数的调用;4 数据空间的动态安排与释放,链表的结构与拜访结点的过程;应用:1 能够分析和设计在一维数组上的次序查找、挑选排序、插入排序等算法;2 能够分析和设计在二维数组上的矩阵加、减、转置、乘等运算的算法;3 能够分析和设计利用字
14、符串函数进行字符串处理的算法;4 能够分析和设计动态生成的链表,在链表头或尾插入或删除结点的算法,以及遍 历链表的算法;5 能够分析和设计对次序或链接表示的栈或队列进行插入或删除元素(结点)的算 法;6 能够使用引用类型作为函数的参数类型和返回值类型;综合应用:运用数组、字符串、结构、指针、引用等数据类型进行程序设计;第五部分 类与对象 考核目的:考核同学对类这种复杂数据类型的懂得和运用程度,对面对对象程序设计方法的把握 程度;考核的学问点:面对对象程序设计的概念;类的定义,类与结构的区分和联系;4 / 14 名师归纳总结 - - - - - - -第 4 页,共 14 页精选学习资料 - -
15、 - - - - - - - 类成员的拜访掌握与拜访方式;内联与非内联成员函数的声明与定义;对象的生成和初始化;类的作用域;类的构造函数与析构函数;类的拷贝构造函数和赋值重载函数;静态数据成员和静态成员函数;对象成员和一般成员的初始化方式;友元函数与友元类;this 指针;用数组和链表实现队列类和栈类;考核要求:懂得:1 面对对象程序设计的有关概念;2 类的定义,类成员的拜访权限,构造函数与析构函数的定义格式及作用;3 静态数据成员定义、初始化与作用,静态函数成员的定义格式与特性;4 友元函数和友元类的声明与作用;应用:1 能够分析和设计含有简洁类定义的程序; 2 能够使用数组或链表建立队列类
16、和栈类;综合应用:1 能够依据程序要求构造满意要求的类;在构造过程中充分考虑构造函数和析构函 数的使用、成员拜访掌握的运用、内联函数的运用、静态成员的选用;2 能够依据要求构造多个类完成所要求的程序设计任务,多个类之间可以发生肯定 的关系,如一个类作为另一个类的成员或友元、一个类使用另一个类的服务等;第六部分 继承与多态性 考核目的:考核同学对面对对象机制(封装、继承和多态)的懂得和把握程度;考核的学问点:结构化程序设计和面对对象程序设计思想的不同;继承(单继承与多继承)的含义,派生类的定义和使用;派生类中构造函数和析构函数的执行过程;对派生类和基类中同名成员的拜访方式;静态联编与动态联编的各
17、自的含义和区分;静态联编与函数重载,动态联编与虚函数,多态性;虚基类,抽象类,纯虚函数;考核要求:懂得:1 类继承的概念和作用,派生类的定义格式;2 派生类对基类的继承方式,派生类对基类成员的拜访权限;3 静态联编和动态联编的含义,函数重载和虚函数的作用;应用:1 能分析含有派生类的程序;2 能够依据要求构造类的继承层次,并完成肯定的程序设计;5 / 14 名师归纳总结 - - - - - - -第 5 页,共 14 页精选学习资料 - - - - - - - - - 综合应用:能够利用继承、虚函数、动态联编(即多态性)等机制完成面对对象的程序设计;第七部分 运算符重载考核目的:考核同学对运算
18、符重载的懂得和把握程度;考核的学问点:运算符重载的概念与函数定义格式;一般函数的运算符重载和成员函数的运算符重载;引用在运算符重载中的作用;作为友元函数的运算符重载;单目和双目算术运算符的重载;增 1 和减 1 运算符的重载;插入运算符和抽取运算符的重载;圆括号运算符和中括号运算符作为成员函数的重载;考核要求:懂得:1 运算符重载的概念及作用;2 引用在运算符重载中的作用;3 运算符重载作为一般函数和成员函数在参数上的区分;应用:能够分析和设计带有运算符重载的函数或类;三、期末考核试卷样例及解答一、单项挑选1. C+ 源程序文件的缺省扩展名为 ; A. cpp B. exe C. obj D.
19、 lik 2. x0 | y=5的相反表达式为();A. x=0 | y.=5 B. x0 | y.=5 D. x0 & y=5 3. 在下面的字符数组定义中,有语法错误选项 ;A. char a20=“ abcdefg ” ; B. char a=“ x+y=55. ” ; C. char a15; D. char a10= 5 ; 4. 以下正确的函数原型语句是 ; A. double funint x,int y B. double funint x;int y C. double funint,int; D. double funint x,y;5. 在下面储备类中,()的对象不是局部
20、变量;A. 外部静态类 B. 自动类 C. 函数形参 D. 寄存器类6. 假 定 有 “struct BOOKchar title40;float price; ;BOOK *book=new BOOK;” ,就正确的语句是();A. strcpybook-title,”Wang Tao” ; B. strcpybook.title,” Wang Tao” ; C. strcpy*book.title,”Wang Tao” ;D. strcpy*book-title,”Wang Tao” ;6 / 14 名师归纳总结 - - - - - - -第 6 页,共 14 页精选学习资料 - - -
21、- - - - - - 7. 软件产品所具有的全部或部分地再用于新的应用的才能称为该软件的(); A. 可保护性 B. 可复用性 C. 兼容性 D. 正确性8. 在多文件结构的程序中,通常把含有 main 函数的文件称为(); A. 主文件 B. 实现文件 C. 程序文件 D. 头文件 9. 在一个用链表实现的队列类中,假定每个结点包含的值域用 elem 表示,包含的指针域用 next 表示,链队的队首指针用 elemHead 表示,队尾指针用 elemTail 表示,如链队为空,就进行插入时必需把新结点的地址赋给 ; A. elemHead B. elemTail C. elemHead 和
22、 elemTail D. elemHead 或 elemTail 10. 假定 AB 为一个类,就执行“AB a, b2, c3, *p=&a;”语句时共调用该类无参构造函数的次数为 ; A. 5B. 6C. 3D. 4 11. 引入友元的主要目的是为了();A. 增强数据安全性 B. 提高程序的牢靠性C. 提高程序的效率和敏捷性 D. 保证类的封装性12. 假如是类 B 在类 A 的基础上构造,那么,就称(); A. 类 A 为基类或父类,类 B 为超类或子类B. 类 A 为基类、父类或超类,类 B 为派生类或子类C. 类 A 为派生类,类 B 为基类D. 类 A 为派生类或子类,类 B 为
23、基类、父类或超类二、填空 1. C+ 语言是在 _语言的基础上进展起来的; 2. 假定 x=5 ,y=6 ,就执行表达式 y*=x+ 运算后, x 和 y 的值分别为 _ 和_;3. 假定 x 是一个规律量,就x & false的值为 _;_关键字相配 4. 在 if语句中,每个else 关键字与它前面同层次并且最接近的套; 5. 一个二维字符数组a1020能够储备 _个字符串,每个字符串的长度至多为_; 6. 局部变量具有局部生存期,存放在内存的 _区中; 7假定 p 所指对象的值为 25, p+1 所指对象的值为 42,就执行 *p+ 或*p+ 运算后, p 所指对象的值为 _;8. 已知
24、语句“couts ;” 的输出是“apple ” ,就执行语句“coutabcy 表达式调用一个成员函数,在成员函数中使用的 _就代表了类外的 p 指针; 11当用户为一个类定义有_时,就系统不会为该类再自动生成一个默认构造函数; 12 假定用户为类 AB 定义了一个构造函数 ABint aa, int bb:aaa,bbb,就定义该类的对象时,有 _种定义格式; 13 假 定用 户只 为类 AB 定 义 了一 个 构造函 数 ABint aa, int bb=0 a=aa ;b=bb; ,就定义该类的对象时,其实参表中至少带有7 / 14 _个实参;名师归纳总结 - - - - - - -第
25、 7 页,共 14 页精选学习资料 - - - - - - - - - 14. 在重载一个单目运算符时,参数表中没有参数,说明该运算符函数只能是类的_; 15. 如要保证一个公共的基类在派生类中只产生一个基类子对象,就必需都以_的方式继承它;三、程序填充;对程序、函数或类中划有横线的位置,依据题意按标号把合适的内容填写到程序下面相应标号的后面 1. 把从键盘上输入的一个大于等于 3 的整数分解为质因子的乘积;如输入 24 时得到的输出结果为“2 2 2 3” ,输入 50 时得到的输出结果为“2 5 5 ” ,输入 37 时得到的输出结果为“37” ;#include void main in
26、t x;coutx ; while_1_;int i=2;do while_2_ couti ;x/=i ; _3_;whileix;ifx.=1 coutx;coutendl ; 1 2 3 2. 假定有定义为“struct NODEint data; NODE* next ; ;” ,下面算法依据table数组中的 n 个元素建立一个表头指针为 正好相反;L 的链表,链表中结点值的次序与数组元素值的次序 void f6NODE*& L, int table, int n L=NULL; ifndata=_2_; p-next=L;8 / 14 名师归纳总结 - - - - - - -第 8
27、 页,共 14 页精选学习资料 - - - - - - - - - _3_ ; i+; 1 2 3 3. 已知一个利用数组实现栈的类定义如下: const int ARRAY_SIZE=10; class Stack public: void Init top=-1; / 初始化栈为空 void Pushint newElem; / 向栈中压入一个元素 int Pop; / 从栈顶弹出一个元素 bool Empty / 判栈空 return top=-1; int Depth return top+1; / 返回栈的深度 void Print; / 依据后进先出原就依次输出栈中每个元素, /
28、直到栈空为止 private: int elemARRAY_SIZE; / 用于储存栈元素的数组 int top; / 指明栈顶元素位置的指针 ; void Stack:Pushint newElem if_1_ cout 栈满 .endl; exit1; / 中止运行 _2_ ; elemtop=_3_; 1 2 3 四、写出程序或程序段的运行结果 1. #include void main int x=5;switch2*x-3 9 / 14 名师归纳总结 - - - - - - -第 9 页,共 14 页精选学习资料 - - - - - - - - - case 4: coutx ;ca
29、se 7: cout2*x+1 ;case 10: cout3*x-1 ; break ;default: coutdefaultendl; coutswitch end.endl; 2. #include void main int i,j,len3;char a38=year,month,day;fori=0;i3 ;i+ forj=0;j8 ;j+ ifaij=0 leni=j;break ; coutai:leniendl; 3. #include #include class Point int x,y; public: Pointint x1=0, int y1=0 :xx1, y
30、y1 coutPoint:x yn; Point coutPoint des.n; ; class Text char text100; / 文字内容 public: Textchar * str strcpytext,str; coutText con.n Text coutText des.n; ;10 / 14 名师归纳总结 - - - - - - -第 10 页,共 14 页精选学习资料 - - - - - - - - - class CircleWithText : public Point,public Text public: CircleWithTextint cx,int c
31、y, char *msg: Pointcx,cy,Textmsg coutPoint with Text con.n; CircleWithText coutPoint with Text desn; ; void main CircleWithText cm3,4,hello; 五、指出程序或函数的功能 1. double f1double a, double b, char op switchop case + : return a+b; case - : return a-b; case * : return a*b; case / : ifb=0 coutdivided by 0.en
32、dl exit1; else return a/b; default: coutoperator error.next;whilef iff-datap-datap=f;f=f-next; return p; 11 / 14 名师归纳总结 - - - - - - -第 11 页,共 14 页精选学习资料 - - - - - - - - - 假定 IntNode 的类型定义为: struct IntNode int data; /结点值域 IntNode* next; /结点指针域;功能:六、编程1. 编一程序求出满意不等式 1 1 1 1 5 的最小 n 值并输出;2 3 n 2. 依据下面类
33、中 MaxMin 函数成员的原型和注释写出它的类外定义; class AA int* a; int n; int MS; public: void InitAAint aa, int nn, int ms ifnnms coutError.endl; exit1; MS=ms; n=nn; a=new intMS; forint i=0; iMS ; i+ ai=aai int MaxMinint& x, int& y; / 从数组 a 的前 n 个元素中求出 / 最大值和最小值,并分别由引用参数 x 和 y 带回, / 同时如 n 大于 0 就返回 1,否就返回 0; ;试卷参考解答:一、单
34、项挑选 1. A 2. B 3. D 4. C 5. A 6. A 7. B 8. A 9. C 10. D 11. C 12. B 二、填空 1. C2. 6 30 3. false 或 0 4. if 5. 10 196. 栈 7. 25 8. ple 9. 设计 实现 10. this11. 构造函数 12. 1 13. 1 14. 成员函数 15. 虚基类三、程序填充 1. 1 x3 或 x=2 2 x%i=0 3 i+ (或 +i 或 i=i+1或 i+=1 ) 2. 1 in 12 / 14 名师归纳总结 - - - - - - -第 12 页,共 14 页精选学习资料 - - -
35、 - - - - - - 2 tablei 3 L=p 3. 1 top=ARRAY_SIZE-1 或 Depth=ARRAY_SIZE 2 top+(或 +top ) 3 newElem 四、写出程序或程序段的运行结果 1. 11 14 switch end. 2. year:4 month:5 day:3 3. Point:3 4 Text con. Point with Text con. Point with Text des Text des. Point des. 五、指出程序或函数的功能 1. 以参数 a 和 b 为运算对象,以参数 op 为四就算术运算符,求出运算结果并返回;
36、2. 从表头指针 f 指向的、由 IntNode 类型的结点所构成的链表中查找出 data 域的值最 大的结点并返回指向该结点的指针;六、编程 #include void main int i=0; double s=0; whiles5 s+=double1/+i; coutn=iendl 如采纳 for 循环编写程序,就如下所示: #include void main ; int i; double s=0 fori=1; s5 ; i+ s+=1.0/i; coutn=i-1endl;的值为所求的 n 值 / 留意:此 i-1 2int AA:MaxMinint& x, int& y int mx,my;13 / 14 名师归纳总结 - - - - - - -第 13 页,共 14 页精选学习资料 - - - - - - - - - mx=my=a0; forint i=1; imx mx=ai; ifai0 return 1 14 / 14 名师归纳总结 - - - - - - -第 14 页,共 14 页