版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课程期末复习提要中央电大理工部计算机教研室面向对象程序设计课程是中央电大计算机科学与技术专业(本科)一门必修的专业基础课。该课程主要介绍如何用语言进行面向对象程序设计,因此语言的介绍是本书的重点,也是学员需要掌握的重点。下面按照主教材内容次序给出具体复习要求,供同学们进行期末复习时参考。第一部分 程序设计基础复习知识点:c+程序的基本结构基本数据类型常量、变量的定义与使用常用运算符的使用表达式的分类和使用简单的输入输出复习要求:理解:c+程序的基本组成。应用:能够编写简单的程序,能完成简单数据类型数据输入、利用变量存放输入数据,利用常量存放固定数据,利用运算符进行简单的运算,并能够将结果输出(
2、如书中2.6, 2.7题)。应用:能进行比较复杂的表达式运算(如书中3.1,3.2,3.3题* )。第二部分 语句与操作流程复习知识点:语句的分类分支语句循环语句转移语句复习要求:理解:语句按功能分为:操作运算语句和流程控制语句,其中操作运算语句按复杂程度分为简单语句和复合语句。应用:能够根据程序要求选择合适的流程控制语句(如书中4.2,4.4,4.5题)。应用:能够用多种循环语句实现一种循环的程序要求(如书中4.1题)。综合应用:综合运用各种语句完成比较复杂的程序逻辑(如书中4.9题)。第三部分 函数复习知识点:模块化程序设计函数的定义函数的定义与函数原型函数参数的类型与传递方式全局变量和局
3、部变量函数调用机制递归函数函数重载函数的默认参数静态局部变量复习要求:理解:模块化程序设计与函数的关系。理解:默认参数的含义与用法,能够在程序中正确使用默认参数。理解:全局变量、局部变量、静态变量的含义,能够在程序中正确选择使用静态、局部和全局变量。应用:将一些功能明确的代码封装在函数中(如书中5.1,5.2,5.3题)。应用:利用递归函数来简化程序设计(如书中5.7题)。应用:利用函数重载来优化程序设计(如书中5.8题)。应用:根据给定要求编制满足功能需求的函数(如书中5.6题)。第四部分 程序结构复习知识点:外部存储类型extern静态存储类型static标识符的作用域标识符的可见性与生命
4、期头文件与多文件结构编译预处理复习要求:理解:标识符的作用域的含义,作用域与标识符的可见性之间的关系。能够指出给定程序中标识符的作用范围,包括局部作用域、函数作用域、文件作用域(如书中5.7题)。理解:标识符的三种生命期:静态、局部和动态生命期,能指出给定程序中标识符的生命期。理解:多文件结构,能在程序设计中合理利用多文件来进行模块划分。能正确使用外部存储类型和静态存储类型(如书中6.1,6.2,6.3题)。理解:编译预处理的概念,能在程序中合理使用#include预处理指令,看懂#define, #if, #ifndef, #else, #undef, #elif等指令。综合应用:能综合运用
5、头文件、外部变量、静态变量来组织多文件结构的程序(如书中6.3 题)。第五部分 引申数据类型-数组、指针和引用复习知识点:数组的概念、定义、初始化向函数传递数组多维数组指针的概念、定义、初始化指针变量的空间申请和释放&和*运算符的使用字符指针与字符串操作命令行参数引用的定义、初始化用引用向函数传递参数引用返回值复习要求:理解:数组、指针和引用各自的含义和适用场合。能够在程序设计中根据需要选择合适的数据类型。理解:程序命令行参数的意义和定义方式,能够正确地使用命令行参数。理解:多维数组的含义和其元素在内存中的存放顺序,能够在程序中选择使用多维数组。应用:能编制数组元素排序的算法和矩阵运算
6、的算法(如书中7.4.7.7题)。应用:能够编制字符串操作的程序(如书中8.5,8.6题),能够利用标准库函数中的字符串操作函数进行编程。应用:能够在程序中动态申请空间,并进行合适的指针操作(如书中8.9题)。应用:能够编制将引用作为函数参数和返回值的应用程序(如书中9.1,9.2,9.3题)。综合应用:在程序中综合应用数组、指针和引用。第六部分 复杂数据类型-结构与类复习知识点:结构的定义、初始化与使用结构指针、结构数组结构作为函数参数与返回值用结构实现链表类的定义类与结构的区别和联系类成员的访问控制内联函数对象的生成类的作用域类的构造函数与析构函数静态数据成员和函数友元类、对象与面向对象程
7、序设计this指针复习要求:理解:使用结构的场合、结构的概念、结构成员的访问方式,给结构赋值的方式、结构作为函数参数与返回值的方式,能够在程序中正确选择使用结构。理解:结构和指针、结构数组的使用方式,能在程序中熟练使用。应用:利用结构实现链表操作。能够实现链表结构的定义、链表的创建、遍历操作(如书中10.3,10.4,10.5,10.6)。理解:类成员的访问控制带来的封装性。能够在程序设计中根据具体情况选择使用合适的访问控制。综合应用:能够根据程序要求构造满足要求的类。在构造过程中充分考虑构造函数和析构函数的使用、成员访问控制的运用、内联函数的运用、静态成员的选用(如书中12.1,12.2题)
8、。综合应用:能够根据要求构造多个类完成程序要求的功能,多个类之间可以发生一定的关系,如一个类作为另一个类的成员、一个类使用另一个类的服务等(如书中12.3,12.4题)。第七部分 继承与多态性复习知识点:结构化程序设计和面向对象程序设计思想的不同继承的含义派生类的定义和使用派生类的构造单继承与多继承的概念静态联编与动态联编的各自的含义和它们的区别静态联编与函数重载动态联编与虚函数多态性抽象类与纯虚函数复习要求:理解:继承的含义和使用条件,继承对于面向对象程序设计的影响。能够在程序设计中适时选择利用继承减少工作量,提高程序设计效率。理解:派生类构造过程中的类成员的访问控制(只要求掌握公有继承的访
9、问控制),保护成员在类继承中的作用。能够准确合理地确定类成员的访问控制特征。理解:静态联编和动态联编各自的含义。在程序设计中能够正确地选择使用函数重载和虚函数。应用:能利用面向对象思想按给定要求构造类(如书中13.2题)。应用:能够根据给定要求构造类的继承层次,并完成一定的程序逻辑(如书中16.4, 16.5, 16.6题)。综合应用:能够综合利用继承、虚函数、动态联编等语言机制完成比较简单的面向对象程序设计(如16.7题)。第八部分 运算符重载复习知识点:运算符重载的含义与定义方式运算符重载的必要性引用在重载中的作用友元重载运算符成员运算符重载复习要求:理解:运算符重载的必要性。能够在程序设
10、计中适当选择进行运算符重载。理解:引用在运算符重载中的作用。引用作为参数和返回值的好处和用法。应用:能够根据所给要求为给定类定义运算符成员函数和非成员运算符函数。在定义过程中注意引用的使用(如书中18.118.4题)。第九部分 文件输入输出复习知识点:c+的标准i/o流istream,ostream,iostream的关系fstream,ifstream,ofstream三者的关系以及它们与上面三者的关系文件i/o流的使用文件的打开、关闭、定位文件的输入输出重载插入和析取运算符复习要求:理解:c+标准i/o流所包含的类以及预先定义的流对象。能够在程序设计中熟练运用cin、cout流进行输入输出
11、。理解:文件i/o流的作用和使用方式,能在程序设计中熟练运用文件流进行操作。应用:能够根据程序要求进行文件的打开、关闭、定位等操作,能够利用插入、析取以及各种成员函数进行文件内容的输入输出操作(如书中 19.1)。应用:能够通过重载插入和析取运算符进行自定义类的输入输出操作 (如书中19.2)。第十部分 面向对象程序设计环境复习知识点:程序开发的全过程错误定位与调试c+语言基本内容复习要求:给定一个程序要求,或者给定带错误的程序,要求学员在规定时间内在计算机上完成程序的编制(或修改)并调试运行通过,得到正确的结果。下面给出期末考试题型及解答样例填空题样例1下面是一个求数组元素之和的程序。主程序
12、中定义了并初始化了一个数组,然后计算该数组各元素的和,并输出结果。函数sum计算数组元素之和。填充程序中不完整的部分。_a_int sum(int ,int);void main()int ia5 = 2,3,6,8,10;b ;sumofarray = sum(ia,5);cout << "sum of array:" << sumofarray << endl;int sum(int array,int len)int isum = 0;for(int i = 0; c ; d )e ;return isum;答案:a #includ
13、e b int sumofarray;c i < lend i+e isum += arrayi;阅读理解题样例1写出下列程序的运行结果:/file1.cppstaticint i = 20;int x;static int g(int p)return i + p;void f(int v)x = g(v);/file2.cpp#include extern int x;void f(int);void main()int i = 5;f(i);cout << x;回答以下问题:程序的运行结果是什么样的?为什么文件file2.cpp中要包含头文件?在函数main()中是否可
14、以直接调用函数g()?为什么?如果把文件file1.cpp中的两个函数定义的位置换一下,程序是否正确?为什么?文件file1.cpp和file2.cpp中的变量i的作用域分别是怎样的?在程序中直接标出两个变量各自的作用域。答案:程序的运行结果:25因为程序中需要利用cout对象进行输出,而cout是在c+标准i/o库iostream中定义的类ostream的一个对象。在函数main()中不可以直接调用函数g(),因为g()是静态函数,只在它所在的文件内可见。如果把文件file1.cpp中的两个函数定义的位置换一下,程序不正确,因为c+规定所有使用的变量和函数需要先声明,后使用。在函数f中用到了
15、函数g,所以函数f不能出现在函数g的定义或声明之前。文件file1.cpp中的变量i的作用域从它的定义开始到文件结束。file2.cpp中的变量i的作用域从它的定义开始到main函数结束。一、改错题。指出下面每段程序中有什么错误,并提出改正方法。(1)下面的函数将浮点型参数para的值赋给一个局部指针变量pfloat,然后输出它的值。#include void func(float * para)float * pfloat;pfloat = para;cout << pfloat;错误为:_改正方法为:_答案错误为:没有给指针申请空间,就直接赋值改正的方法为:先为pfloat申请
16、空间,再赋值。(2)下列程序片段对二维数组的每个元素赋值unsigned short somearray54;for (int i = 1; i<=5; i+)for (int j = 1; j<=4; j+)somearrayij = i+j;错误为:_改正方法为:_答案错误为:访问数组元素的下标不对改正的方法为:将两个for循环的循环初始值改为0,循环结束条件分别改为i<5和j<4。综合编程题样例定义一个日期类date,该类对象存放一个日期,可以提供的操作有:intgetyear (); /取年份intgetmonth (); /取月份intgetday ( );
17、/取日子值voidsetdate (int year, int month, int day); /设置日期值下面是测试你所定义的日期类的程序:#include #include “date.h”void main()date d1(1999, 1, 14); /用所给日期定义一个日期变量date d2; /定义一个具有缺省值的日期,缺省值为1980年1月1日date d3(d1); /用已有日期x构造一个新对象d2.setdate(1999,3,13);cout << "date:"cout << d1.getyear() << &qu
18、ot;." << d1.getmonth() << "."<< d1.getday() << endl;cout << "date:"cout << d2.getyear() << "." << d2.getmonth() << "."<< d2.getday() << endl;cout << "date:"cout << d3.
19、getyear() << "." << d3.getmonth() << "."<< d3.getday() << endl;要求:写出日期类的完整定义,其中,三个get函数写成内联函数形式,setdate写成非内联函数形式。所有数据成员都定义为私有成员。注意构造函数的三种形式。写出程序的运行结果修改程序,在日期类中定义日期的输出函数,这样,主程序就可以简化为:void main()date d1(1999, 1, 14); /用所给日期定义一个日期变量date d2; /定义一个具有缺省值的日期,缺省值为1980年1月1日date d3(d1); /用已有日期x构造一个新对象d2.setdate(1999,3,13);d1.print();d2.print();d3.print();输出格式和上面一样。只需要写出类date的修改部分。答案:类date的定义:/文件da
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度海洋平台通风排烟系统安装与防腐蚀保护合同3篇
- 2024年农用拖拉机租赁合同(含农业供应链管理)3篇
- 2024年度LED广告显示屏工程承包及广告投放合同3篇
- 2024版二零二四年度生态智慧住宅区房地产开发合同3篇
- 首付房款赠与合同范例
- 2024版XX污水厂污水处理厂运营管理合同3篇
- 2024年度厦门互联网信息服务合同2篇
- 2024年度快递业务高峰期应急预案服务合同3篇
- 淘宝自营店转让合同
- 国际水质检测委托合同范例
- 2023年冬季山东高中学业水平合格考政治试题真题(含答案)
- 文艺复兴经典名著选读智慧树知到期末考试答案章节答案2024年北京大学
- 劳务派遣劳务外包服务方案(技术方案)
- 幼儿园“一岗双责”制度
- 加油站安全设施一览表
- 优秀辅警先进事迹材料
- 广州城乡居民基本养老保险待遇申请表
- 四年级算24点比赛试卷打印版难(共8页)
- 框架涵洞施工技术总结
- 毕业设计(论文)叉车液压系统设计
- 四年级语文上册文言文阅读与理解必考题部编版
评论
0/150
提交评论