南京信息工程大学滨江学院C++面向对象程序设计期末复习资料-填空考点
南京信息工程大学滨江学院李振宏《软件工程》期末复习 个考点完整版
选择20题,每题1分;填空10题,每题1分;简答5题,每题8分;设计题3题,每题10分(流程图的设计、流图设计和环形复杂度的计算、语句覆盖和判定覆盖测试用例的设计)。
1.详细设计中,过程设计的工具,N-S图,PAD图及判定表和判定树各有何特点和适用情况?(第六章)(1)盒图(N-S图):一种不允许违背结构程序设计精神的图形工具,又称为N-S图。
它有下述特点:①功能域(作用域)明确,可以从盒图上一眼就看出来。
②盒图没有箭头,因此不允许随意转移控制。
③很容易确定局部和全程数据的作用域。
④很容易表现嵌套关系,也可以表示模块的层次结构。
适用:对大部分设计均有适用性,常用于软件工程详细设计中,提供一种结构化的方式,便于思考和解决问题。
(2)PAD图:PAD是问题分析图(problem analysis diagram) ,它用二维树形结构的图来表示程序的控制流。
PAD图的主要优点如下:①使用PAD符号设计的程序必然是结构化程序。
② PAD图所描绘的程序结构十分清晰。
最左面的竖线是程序的主线,即第一层结构。
随着程序层次的增加,PAD图逐渐向右延伸。
每增加一个层次,图形向右扩展一条竖线。
图中竖线的总条数就是程序的层次数。
③PAD图表现的程序逻辑,易读、易懂、易记。
程序从图中最左竖线上端的结点开始执行,自上而下,从左向右顺序执行,遍历所有结点。
④容易将PAD图转换成高级语言源程序,这种转换可用软件工具自动完成。
⑤既可表示程序逻辑,也可描绘数据结构。
⑥支持自顶向下、逐步求精方法的使用。
适用:为FORTTAN,COBOL,PASCAL等每种常用的高级程序设计语言提供了一套相应的图形符号。
开始时可以定义一个抽象的程序,随着设计的深入,使用def符号逐步增加细节,直至完成详细设计,如图6.6所示。
(3)判定表(P127有例子):适于表示复杂的条件组合与应做的动作之间的对应关系。
特点是:①能够间接而又无歧义的描述处理故意则。
南京信息工程大学滨江学院C语言期末试卷
2010 ─ 2011 学年第二学期C语言程序设计课程试卷一、选择题(下列每题中只有一个正确答案,每题1分,共20分)1、C语言程序的基本单位。
(A)程序行(B)语句(C)函数(D)字符2、设有语句“ int a=3; ” ,则执行语句“ a+=a-=a*a; ”以后变量a的值是。
(A)3 (B)0 (C)9 (D)-123、合法的C语言字符常量是。
(A)…t‟(B)“A”(C)65 (D)A4、以下程序的输出结果是。
main(){ int a=12,b=12;printf(“%d %d\n”,--a,++b);}(A)10 10 (B)12 12 (C)11 10 (D)11 135、若变量已正确定义,那么以下语句段的输出结果是________。
x=0;y=2;z=3;switch(x){ case 0:switch(y==2){ casa 1:printf(“*”);break;case 2:printf(“%”);break;}case 1:switch(z){ case 1:printf(“$”);case 2:printf(“*”);break;default:printf(“#”);}}(A)%$ (B)#* (C)*# (D)**$6、设实型变量为f1、f2、f3、f4的值分别为4,3,2,1;整型变量ml、m2的值为1。
表达式“(ml=fl>f2)&&(m2=f3<f4)”的值是。
(A)0 (B)1 (C)2 (D)出错7、执行下列程序后,i 的值是。
void main(){ int i, x;for(i=1, x=1;i<20; i++){if (x>=10) break;if(x%2= =1){x+=5; continue; }x-=3;}}(A)4 (B) 5 (C)6 (D)78、对以下for循环,叙述正确的是。
for(x=0,y=0;(y!=123)&&(x<4); x++, y++);(A)执行了3次(B)执行了4次(C)是无限循环(D)循环次数不定9、在定义int a[5][4]; 之后,对a的正确引用是。
c 面向对象程序设计语言重点难点复习题及答案
1、数据共享与保护一、选择题:1、在下面存储类中, ( C ) 对象的可见性与生存期不一致。
A. 外部类B. 自动类C. 内部静态类D. 寄存器类2、在下面存储类中,(A)的对象不是局部变量。
A. 外部静态类B. 自动类C. 函数形参D. 寄存器类3、关于局部变量,下面说法正确的是( C )。
A. 定义该变量的程序文件中的函数都可以访问B. 定义该变量的函数中的定义处以下的任何语句都可以访问C. 定义该变量的复合语句中的定义处以下的任何语句都可以访问D. 定义该变量的函数中的定义处以上的任何语句都可以访问4、一个类的静态数据成员所表示属性 ( C )。
A. 是类的或对象的属性B. 只是对象的属性C. 只是类的属性D. 类和友元的属性5、类的静态成员的访问控制( D)。
A. 只允许被定义为privateB. 只允许被定义为private或protectedC. 只允许被定义为publicD. 可允许被定义为private、protected或public6、静态成员函数对类的数据成员访问(B)。
A. 是不允许的B. 只允许是静态数据成员C. 只允许是非静态数据成员D. 可允许是静态数据成员或非静态数据成员7、被非静态成员函数访问的类的数据成员( A )。
A. 可以是非静态数据成员或静态数据成员B. 不可能是类的静态数据成员C. 只能是类的非静态数据成员D. 只能是类的静态数据成员8、静态数据成员的初始化是在(D)中进行的。
A. 构造函数B. 任何成员函数C. 所属类D. 全局区9、当将一个类A或函数f()说明为另一个类B的友元后,类A或函数f()能够直接访问类B的( D )。
A. 只能是公有成员B. 只能是保护成员C. 只能是除私有成员之外的任何成员D. 具有任何权限的成员10、引入友元的主要目的是为了( C )。
A. 增强数据安全性B. 提高程序的可靠性C. 提高程序的效率和灵活性D. 保证类的封装性11、一个类的成员函数也可以成为另一个类的友元函数,这时的友元说明( A )。
C面向对象程序设计重点复习
C面向对象程序设计重点复习Standardization of sany group #QS8QHH-HHGX8Q8-GNHHJ8-HHMHGN#面向对象程序设计复习题一、单项选择题1.下面关于对象概念的描述中,_______是错误的。
(B)A.对象代表着正在创建的系统中的一个实体B.对象就是C语言中的结构体变量C.对象是一个状态和操作(或方法)的封装体D.对象之间的信息传递是通过消息进行的2. 继承机制的作用是: (C)A.信息隐藏B.数据封装C.定义新类D.数据抽象3.有关析构函数的说法不正确的是_________(D)A.析构函数有且只有一个B.析构函数无任何函数类型C.析构函数没有形参D.析构函数不能是虚函数4.友元的作用之一是__________(A)A.提高程序的运行效率B.加强类的封装性C.实现数据的隐藏性D.增加成员函数的种类5.通常拷贝构造函数的参数是__________。
(C)A.某个对象名B.某个对象的成员名C.某个对象的引用名D.某个对象的指针名6.如果在基类中将show声明为不带返回值的纯虚函数,正确的写法是________。
(C)show()=0; void show();void show()=0; show=0 virtual;7.下面关于友元的描述中,错误的是_________。
(D)A.友元函数可以访问该类的私有数据成员B.一个类的友元类中的成员函数都是这个类的友元函数C.友元可以提高程序的运行效率D.类与类之间的友元关系可以继承8.在C++中,_________运算符不能重载。
(B)A. +B.: D.<=9.下列关于运算符重载的描述中,________是正确的。
(D)A.运算符重载可以改变操作数的个数B.运算符重载可以改变优先级C.运算符重载可以改变结合性D.运算符重载不可以改变语法结构10. 在下列函数原型中,可以作为类AA构造函数的是_________(D)A.void AA(int) ; B.int AA( ) ; C.AA(int)const;D.AA(int);11.在声明类时,下面的说法正确的是_________。
南京信息工程大学滨江学院C++面向对象程序设计期末复习资料
+++ 面向对象程序设计复习资料一、概念、填空题1.面向对象的四大特性是:抽象、封装、继承、多态2.构造函数的作用是创建对象时为对象赋初值,析构函数的作用是释放对象占用的资源3.根据继承的基类的多少,C++将继承分为:单继承和对继承4.C++进行动态内存分配的一对运算符是new和delete5.抽象类、纯虚函数:…..P153纯虚函数是一个在基类中说明的虚函数,它在该类基类中没有定义,但要求在它的派生类中必须定义自己的版本,或重新说明为纯虚函数。
如果一个类至少有一个纯虚函数,那么就称该类为抽象类。
6.对象拷贝有两种方式:浅拷贝和深拷贝7.变量的生存期分为:动态生存期和静态生存期8.C++里的逻辑值:非0表示真,0表示假9.C++里函数参数传递方式有:值传递、地址传递和引用传递(P35例2-13程序1程序2程序3)10.静态成员变量属于类,所有的对象共享。
........静态成员变量的使用11.根据访问控制,C++将继承分为:公有继承、私有继承和保护继承12.用const修饰的对象,其意思是:对象的状态不能被修改13.拷贝构造函数被调用的场合有3种,分别是:用对象作参数构造对象时、为函数实参对象赋值时、函数返回对象时14.C++里的模版包括:函数模版和类模版15.命名空间及其作用名字空间就是一个由程序设计者命名的内存区域,名字空间的作用类似于操作系统中的目录和文件的关系。
名字空间建立了一些相互分隔的作用域,把全局标识符分隔开,避免产生名字冲突。
(P48)16.类的访问属性包括:公有、私有、继承17.虚基类的作用 P124如果一个派生类有多个直接基类,而这些基类又有一个共同的基类,则在最终的派生类中会保留该间接共同基类成员的多份同名成员。
但由于保留共同基类的多份成员,不仅占用较多的存储空间,还增加了访问这些成天元时的困难,容易出错。
C++提供了虚基类的方法,使得在继承间接共同基类时只保留其一份成员。
面向对象程序设计填空题
1.对象有如下的特性:1 每个对象必须有一个名字以区别于其他对象。
2 有属性(或叫状态)来描述对象的某些特征。
3 有一组操作,每一操作决定对象的一种行为。
4 对象的整体性:把属性和操作放在一起,这里的操作要与属性相关,通过使用名字就可以使用整个对象。
2对象:静态特征——属性,一般用数据(结构)来体现。
动态行为——方法,基于数据的函数或过程。
3类是一组具有相同属性和行为特征的对象的抽象描述。
类和对象的关系:抽象和具体的关系,类是多个对象的归纳和总结(分类的结果),对象又是类的个体实物,一个对象就是类的一个实例。
4类和对象实际上就是C的数据类型和变量,在面向对象语言中,统称为类和对象。
类没有具体的值,对象才有,对象的这些具体的值称为对象的状态。
5类:数据成员——对应对象的属性,也叫做成员变量。
成员函数——对应对象的方法,是类功能的载体。
6类只在源程序的代码中出现,它是编译器生成对象的说明书,并不会在运行的程序中出现,即类只在编译时存在;对象作为类的实例是在运行的程序中出现,并占有内存空间,它是程序运行时存在的实体,是机器指令操作的内容。
7.对象的交互:现实世界的对象并非孤立的实体,它们间存在着联系,从而构成不同的系统。
面向对象程序设计中,对象的联系我们称为对象的交互。
对象交互的实现:在OOP中,对象交互的实现要用到一个重要的工具:事件消息。
8消息传递与调用实际上,对象的消息传递对应于程序设计中的过程(函数)调用。
比如:键盘对象的按键消息传给显示对象消息的发送和接收发送消息的对象为发送者或请求者,接收消息的目标对象为接收者或服务者(有处理者消息的能力)。
9.消息的内容组成包含有接收者的名字,请求的方法,一个或多个参数。
10.面向对象系统最突出的特征:封装性、继承性、多态性(三个特性)11抽象——从特定的实例抽取共同性质形成概念的过程。
抽象是对系统简化的描述或规范说明,它强调了系统中一部分细节和特性(用户关心的),而忽略了其他部分。
南京信息工程大学滨江学院数据库填空重点
填空题
1、数据库完整性:参照完整性、实体完整性、用户定义完整性
2、存取控制方法:自动与强制
3、数据库设计的基本步骤:需求分析、概念/逻辑/物理结构分析、数据库实施、数据库运行和维护。
4、必须使用游标的SQL语句:
查询为多条记录的select语句
current形式的update和delete 语句
5、使用游标的步骤:说明、打开、推进、关闭
6、存储过程的优点:运行效率高、降低了客户机和服务器之间的通信量、方便实施企业规划
7、ODBC的构成:
用户应用程序、驱动应用程序管理器、数据库驱动程序、数据源
ODBC的作用:
可移植性好,可同时访问不同数据库,共享数据资源
8、查询优化的方法:代数查找、物理查找
9、数据库管理技术的三个阶段:人工管理、文件系统、数据库系统
10、数据库管理系统的功能有:数据定义、操纵、控制功能,数据库的建立和维护功能。
11、数据模型分为:层次模型、网状模型、关系模型和面向对象模型四类。
12、聚簇索引是指索引项顺序与表中数据记录的物理顺序一致。
13、自然连接是一种特殊的等值连接。
14、关系代数运算中,基本的运算是①、②、③、④和⑤。
答案:①并②差③笛卡尔积④投影⑤选择
16、游标是系统为用户开设的一个(),存放SQL语句的执行结果答案:数据缓冲区
17、有两种基本类型的锁,它们是①和
②。
答案:①共享锁②排它锁。
《面向对象程序设计C--》期末试卷及答案
一、选择填空题(共20小题,每小题2分,共40分)。
1. 关于C++与C语言关系的描述中,(d)是错误的。
a.C语言是C++语言的一个子集b.C语言与C++语言是兼容的c.C++语言对C语言进行了一些改进d.C++语言和C语言都是面向对象的2.按照标识符的要求,(a )符号不能组成标识符。
a.连接符b.下划线c.大小写字母d.数字字符3. 为了避免嵌套的if-else语句的二义性,C语言规定else总是与(c)组成配对关系。
a.缩排位置相同的ifb.在其之前未配对的ifc.在其之前未配对的最近的ifd.同一行上的if4. 在"int a[ ][3]={{1},{3,2},{4,5,6},{0}};"中,a[2][2]的值是(c)。
a.1b.0c.6d.25. 设"char **s;",以下正确的表达式是(b)。
a.s="computer";b.*s="computer";c.**s="computer";d.*s='c';6. 对于"int *pa[5];"的描述中,(d )是正确的。
a.pa是一个指向数组的指针,所指向的数组是5个int型元素b.pa是一个指向某数组中第5个元素的指针,该元素是int型变量c.pa [5]表示某个元素的第5个元素的值d.pa是一个具有5个元素的指针数组,每个元素是一个int型指针7. 在下列表示引用的方法中,(a )是正确的。
已知:int m=10;a.int &x=m;b.int &y=10;c.int &z;d.float &t=&m;8. 下列for循环的次数为(b)。
for(i=0, x=0; !x&&i<=5; i++)a.5b.6c.1d.无限9. 对于C/C++语言的函数,下列叙述中正确的是(a)。
《面向对象程序设计》复习资料
《面向对象程序设计》课程期末复习资料《面向对象程序设计》课程讲稿章节目录:第一章、C++基础(16个知识点)01 计算机求解问题的过程02 编程的步骤03 程序设计方法04 程序设计基本概念05 C++程序集成开发环境简介06 C++程序实例07 C++源程序的组成08 C++源程序的组成元素09 C++与C的主要差异–符号常量和标准输入输出流10 C++与C的主要差异–内联函数11 C++与C的主要差异–带默认形参值的函数12 C++与C的主要差异–函数重载13 C++与C的主要差异–动态内存分配和释放14 C++与C的主要差异–动态内存分配和释放程序实例15 C++与C的主要差异–引用和返回引用的函数16 C++与C的主要差异–函数的引用调用第二章、面向对象方法(27个知识点)01 面向对象方法基本概念–对象、类、实例和消息02 面向对象方法基本概念–封装、继承和多态03 类的定义04 构造函数05 对象的定义和访问06 对象的定义和访问程序实例07 类成员的访问控制08 类成员的访问控制程序实例09 析构函数11 类声明和类实现的分离12 类的常量成员13 类的静态数据成员14 类的静态成员函数15 this指针16 类的友元17 类的对象成员–基本概念18 类的对象成员–对象成员的声明、初始化和访问19 自定义类的运算符重载概述20 类成员函数形式的运算符重载21 类友元形式的运算符重载22 赋值运算符和下标运算符重载程序实例23 类设计实例24 面向对象方法程序实例–类和对象的基本定义、构造函数和析构函数25 面向对象方法程序实例–静态成员和多文件结构26 面向对象方法程序实例–友元和运算符重载27 面向对象方法程序实例–对象成员第三章、继承与多态(17个知识点)01 继承概述02 派生类定义03 派生类构造函数和析构函数04 派生类构造函数和析构函数程序实例05 函数重定义和派生类的继承方式06 多重继承下的派生类定义07 多重继承中的二义性问题08 虚拟继承和虚基类09 类型兼容10 多态性的概念和实现原理11 虚函数13 纯虚函数和抽象类14 继承与多态程序实例–派生类定义和函数重定义15 继承与多态程序实例–多重继承16 继承与多态程序实例–虚拟继承和虚函数17 继承与多态程序实例–抽象类和纯虚函数第四章、输入输出流(16个知识点)01 输入输出流概述02 输入输出流对象03 输入输出流的插入和提取运算符04 输入输出流的插入和提取运算符程序实例05 输入输出流的put函数06 输入输出流的get函数07 输入输出流的getline函数08 输入输出流的write函数09 输入输出流的read函数10 输入输出流的write、read函数程序实例11 文件随机读写概述和相关函数12 文件随机读写程序实例13 自定义类型数据的标准输入输出和文本文件输入输出14 自定义类型数据的二进制文件输入输出15 输入输出流程序实例–输入输出流操作16 输入输出流程序实例–插入运算符和提取运算符重载第五章、模板(7个知识点)01 函数模板的定义和使用02 函数模板程序实例03 类模板的定义04 类模板的使用05 类模板的静态成员06 模板程序实例–函数模板07 模板程序实例–类模板一、客观部分:(单项选择、多项选择、不定项选择、判断)(一)、选择部分1、面向对象方法的基本观点是一切系统都是由( C )构成的。
《面向对象技术》期末复习资料.docx
《面向对象技术》期末复习资料试卷题型说明:、填空题(10分)选择题(20道题40分)、判断题(10分)、简 答题(3道16分)、写出程序运行结果(4道16分)、程序填空题(1道4分) 编程题(1道4分)。
一〜二、基础题(各章的编程实例不考)1、第一章主要重点在1・2节,1・5节,其中1・6节最为重要。
1- 2:面向对彖程序语言的特征:抽彖、封装、继承和多态。
1- 5:数值型数据的输入:读取时省略数据前的空白,如果遇到正负号或数字,就开始 读数,包括浮点型数据的小数点,并在遇到空口符或其他非数字字符时停止。
1- 5-4:输出格式控制符:Setprecision (n ) n 代表输出的有效数位,包括整数的数位和小数的数位。
Setw (n ) n 代表输出的数据占有的列宽(域宽)SetiosflagsO / Resetiosflags ()用于设置或取消输入或输出的各种格式包括改变数制基数、设置浮点数的精度、转换字母的大小写、设置对齐方式等。
Ios::left/ios::right 左右对齐函数用法:Setiosflagsflos::left / ios::right ) / Resetiosflags (Ios::left / ios::right )1- 5-5: h ex十六进制 输入时在具前加Ox oct八进制 输入时在其丽加0dec 十进制 2、第二章主要重点为:(1) 指针的定义与使用(特殊指针类型不做为重点)(2) 引用的定义与使用注意事项(3) 类型转换有所涉及,但分值不是很大(4) 重点中的重点是2.7节函数部分,尤其是函数重载。
(5) 内联函数与预处理器了解一下。
(6) 作用域和生命期理解掌握,特点是变量类型与初始化。
2- 3:指针用于存放一个对象在内存中的地址,同个指针能操作这个对彖。
具有两个属 与类型无关;长度则与指针类型和关 pi 是指向int 的指针pc 是指向指针的指针 pa 是指向指针的数组f 是指向具有两个参数的函数的指针 f 是一个函数,返回一个指向int 的指针2-3-3:堆内存也成动态内存。
c面向对象程序设计期末
c面向对象程序设计期末面向对象程序设计期末复习面向对象程序设计(Object-Oriented Programming,简称OOP)是一种以对象为核心,以类为单位来组织代码的编程范式。
它强调的是数据和功能的封装、继承和多态性,使得代码更加模块化、易于理解和维护。
以下是面向对象程序设计期末复习的主要内容:1. 面向对象的基本概念- 对象:对象是现实世界中事物的抽象,它具有状态(属性)和行为(方法)。
- 类:类是对象的模板,定义了对象的属性和方法。
- 封装:封装是将对象的实现细节隐藏起来,只暴露有限的操作接口。
- 继承:继承允许新创建的类(子类)继承现有类(父类)的属性和方法。
- 多态:多态是指允许不同类的对象对同一消息做出响应,但具体的行为会根据对象的实际类型来确定。
2. 类和对象- 如何定义类:使用类关键字和类名,然后在类体中定义属性和方法。
- 对象的创建:使用类名作为构造函数来创建对象实例。
- 访问修饰符:public、private、protected等,用于控制类成员的访问权限。
3. 继承- 单继承:一个类只能继承一个父类。
- 多重继承:一个类可以继承多个父类。
- 继承的实现:通过扩展父类的功能来创建子类。
4. 多态- 多态的实现:通过方法重载(Overloading)和方法重写(Overriding)。
- 接口:定义了一组方法规范,但不实现方法的具体内容。
- 抽象类:不能被实例化,用于作为其他类的基类。
5. 封装- 封装的实现:通过将类的成员变量设置为私有(private),并提供公共(public)的方法来访问和修改这些变量。
6. 抽象类和接口- 抽象类:包含抽象方法的类,不能被实例化。
- 接口:完全抽象的类,只能包含抽象方法和常量。
7. 异常处理- 异常:程序运行时出现的非预期情况。
- 异常处理机制:try、catch、finally语句块,用于捕获和处理异常。
8. 集合框架- 集合:用于存储对象的容器。
《面向对象程序设计C》期末考试试卷
《面向对象程序设计C》期末考试试卷面向对象程序设计C一、填空题(每题5分,共30分)1、C语言是一种面向对象的编程语言,它是由 ________ 公司在1983年推出的。
2、C++是在C语言的基础上发展而来的,它增加了________和________两种核心机制。
3、在C++中,类的成员包括________、和。
4、在C++中,构造函数是一种特殊的成员函数,它用于初始化________。
5、在C++中,析构函数也是一种特殊的成员函数,它用于________。
6、在C++中,________是一种用于封装数据和方法的机制。
二、选择题(每题3分,共36分)1、下列哪个选项不是面向对象编程语言的特征?() A. 封装 B. 继承 C. 多态 D. 过程化2、下列哪个关键字在C++中用来实现封装?() A. private B. protected C. public D. default3、下列哪个选项不是类的成员?() A. 变量 B. 函数 C. 枚举 D. 结构体4、下列哪个选项不是构造函数的作用?() A. 初始化对象 B. 调用其他构造函数 C. 返回对象值 D. 给对象赋值5、下列哪个选项不是析构函数的作用?() A. 清理资源 B. 释放对象 C. 返回对象值 D. 断开与对象的关联6、下列哪个关键字在C++中用来实现继承?() A. extends B. inherits C. override D. derived7、下列哪个选项不是多态的实现方式?() A. 函数重载 B. 运算符重载 C. 虚函数 D. 构造函数重载8、下列哪个选项不是C++11引入的新特性?() A. 智能指针 B. Lambda表达式 C. 右值引用 D. switch语法的改进三、程序设计题(每题20分,共40分)1、请设计一个类表示一个矩形,包含长、宽两个属性以及计算面积和周长的方法。
要求:类的私有成员包括长和宽两个double类型的变量,公有成员包括一个构造函数(初始化长和宽)和两个方法(计算面积和周长)。
南京信息工程大学 C++ 期末复习
第一章 绪论
1、面向对象程序设计的特点 2、类、对象概念 3、程序开发的基本过程
第二章 C++简单程序设计
1、C++特点 2、C++程序结构 3、标识符、数据类型、常量、变量、表 达式 4、C++语句 5、数据输入输出(cin、cout)
第三章 函数
1、函数的定义和调用、函数原型 2、函数间的参数传递(引用传递) 3、内联函数 4、带默认形参值的函数 5、函数重载
例题:读程序写结果
#include <iostream.h> class A { public:
void Show() { cout<<"A::Show\n"; }; }; class B : public A { public:
void Show() { cout<<"B::Show\n"; }; void Display() { Show(); }; }; void main() { A a; B b; a.Show(); b.Shຫໍສະໝຸດ w(); b.Display(); }
例题:填空题
1.C++中定义虚函数所用的关键字是____。 2.C++中进行输入、输出操作时,将数据对象从输入流提取出来的运算符 是____,插入到输出流的运算符是____。 3.类的继承是指子类继承基类的___和成员函数。 4.不同对象可以调用相同名称的函数,但可导致完全不同的行为的现象称 为____。 5.设在程序中使用如下语句申请了一个对象数组:Point * ptr = new Point[2];则在需要释放ptr指向的动态数组对象时,所使用的语句是__ __。 6.在保护派生中,基类权限为Private的成员在派生类中____ 。 7.C++中多态性包括两种多态性: ____和 ____ 。前者是通过函数重载实 现的,而后者是通过 ____和 ____来实现的。 8.在继承机制下,当对象产生时,编译系统先执行 ____的构造函数,然 后再执行 ____的构造函数,最后才执行 ____的构造函数。
c面向对象程序设计期末考试题及完整参考答案
public abstract void Speak();
}
public class Truck:Vehicle
private float weight;
public float Weight
{
get { retur n weight; }
}
private float load;
public float Load
{
return (1+load/Weight/2) * base.Ru n(dista nee);
}
public override voload; }
}
public Truck(i nt weight, i nt load)
:base(50)
{
this.weight = weight; this .load = load;
}
public new float Run( float dista nee) //重载
A)方法中只允许定义一个数组型参数;
B)数组型参数所定义的数组必须是一维数组;
C)数组型参数可以作为引用参数或者输出型参数使用;
D)数组型参数必须位于参数列表中的最后;
4.有如下程序片段:
class Stude nt
{
public virtual stri ng WhoYouAre(){
return "I am a Stude nt."; }
public float R
{
get { retur n _r; }
set { _r = value; }
} _
public con st double PI= 3.1415;/定一个双精度常量表示圆周率
南京信息工程大学滨江学院计算机基础期末复习知识点
南京信息工程大学滨江学院计算机基础期末复习知识点《计算机基础》期末考试复习知识点第一章计算机基础知识1.第一台电子计算机的名称、诞生时间及运算性能;名称:电子数字积分计算机ENIAC(埃尼阿克)。
诞生时间:1946年2月14日。
运算性能:运算速度为每秒5000次加法。
2.计算机发展四个阶段的名称、特点,划分的主要依据;第1代:电子管数字机依据:逻辑元件采用真空电子管。
特点:体积大,功耗大,速度慢第2代:晶体管数字机依据:采用晶体管作为逻辑开关元件。
特点:第二代计算机和第一代相比体积减小、重量减轻、速度加快、可靠性增强第3代:集成电路数字机依据:逻辑元件采用中、小规模集成电路。
特点:体积功能进一步减少,可靠性及速度进一步提高。
第4代:大规模集成电路机依据:逻辑元件采用大规模和超大规模集成电路。
特点:性能到规模提高,价格大幅度降低,广泛应用于社会生活的各个领域,走进办公室和家庭。
3.计算机的特点及分类;特点:1.运算速度快2.计算精度高3.逻辑运算能力强4.存储容量大5.自动化程度高分类:根据计算机综合性能指标划分为如下五大类:1.高性能计算机2.微型计算机3.工作站4.服务器5.嵌入式计算机4.计算机的主要应用领域;1.科学计算2.信息管理3.过程控制4.辅助技术5.人工智能6.电子商务7.数字娱乐5.计算机的发展趋势;计算机运算能力将大幅度提升,应用领域扩展变得更加人性化,未来的计算机将向着巨型化,微型化,网络化,智能化和多媒体化等多方向发展。
6.数据与信息的概念,信息的主要特征;数据概念:记录信息的可识别符号,是信息的具体表现形式。
信息概念:一种被加工为特定形式的数据。
信息的主要特征:1.信息源于物质和能量,它是客观存在的。
2.信息是可以感知的3.信息是可存储加工传递和可再生的7.不同进制数之间的转换(十进制与二进制之间,二进制与八进制、十六进制之间);8.计算机中整数的表示:无符号数与有符号数的表示方法,有符号数的原、反、补码计算;9.计算机中浮点数的表示形式:尾数+阶码;10.常用英文字符的ASCII码的值(十进制值):数字,大小写字母,空格,回车,换行;11.G B2312汉字编码中的区位码,国标码和机内码之间的换算;12.媒体,多媒体,多媒体技术的概念,多媒体技术的特点,六种主要的感觉媒体;媒体:信息的载体,也称媒介。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、考点1.面向对象的四大特性是:抽象、封装、继承、多态2.构造函数的作用是:创建对象时为对象赋初值析构函数的作用是:释放对象占用的资源3.根据继承的基类的多少,C++将继承分为:单继承和多继承4.C++进行动态内存分配的一对运算符是:new和delete5.纯虚函数:是一个在基类中说明的虚函数,它在该类基类中没有定义,但要求在它的派生类中必须定义自己的版本,或重新说明为纯虚函数。
抽象类:如果一个类至少有一个纯虚函数,那么就称该类为抽象类。
带有纯虚函数的类是抽象类,抽象类不能实例化。
6.对象拷贝有两种方式:浅拷贝和深拷贝7.变量的生存期分为:动态生存期、静态生存期8.C++里的逻辑值:非0表示真,0表示假9.C++里函数参数传递方式有:值传递、地址传递、引用传递10.静态成员变量属于类,所有的对象共享。
11.根据访问控制,C++将继承分为:公有继承、私有继承、保护继承12.类的访问属性包括:公有、私有、继承13.用const修饰的对象,其意思是:对象的状态不能被修改14.拷贝构造函数被调用的场合有3种,分别是:用对象作参数构造对象时、为函数实参对象赋值时、函数返回对象时15.C++里的模版包括:函数模版、类模版16.命名空间:一个由程序设计者命名的内存区域作用:类似于操作系统中的目录和文件的关系。
名字空间建立了一些相互分隔的作用域,把全局标识符分隔开,避免产生名字冲突。
17.虚基类的作用P124如果一个派生类有多个直接基类,而这些基类又有一个共同的基类,则在最终的派生类中会保留该间接共同基类成员的多份同名成员。
但由于保留共同基类的多份成员,不仅占用较多的存储空间,还增加了访问这些成天元时的困难,容易出错。
C++提供了虚基类的方法,使得在继承间接共同基类时只保留其一份成员。
18.多态及其分类P145多态性是指用一个名字定义不同的函数,这些函数执行不同但又类似的操作,从而可以使用相同的调用方式来调用这些具有不同功能的同名函数。
面向对象的多态性分为:参数多态,包含多态,重载多态,强制多态前两种称为通用多态,后两种称为专用多态19.虚函数与重载函数的比较 ....P153(1)函数重载处理的是同一层次上的同名函数问题,而虚函数处理的是同一类族中不同派生层次上的同名函数问题,前者是横向重载,后者可以理解为纵向重载。
但与重载不同的是:同一类族的虚函数的首部是相同的,而函数重载时函数的首部是不同的。
(2)重载函数可以是成员函数或普通函数,而虚函数只能是成员函数。
(3)重载函数调用是以所传递参数序列的差别作为调用不同函数的依据;虚函数是根据对象的不同去调用不同类的虚函数。
(4)虚函数在运行时表现出多态功能,这是C++精髓,而重载函数则在编译时表现出多态性。
20、一个类的函数是否是虚函数的条件是:①判断该函数与基类的虚函数有相同的名称;②该函数与基类的虚函数有相同的参数个数及相同的对应参数类型;③该函数与基类的虚函数有相同的返回类型或者满足赋值兼容规则的指针、引用型的返回函数。
21、根据文件中数据的组织,文件分为ascII文件和二进制文件22、强制类型转换:(int)3.5 int(3.5)23、内联函数(inline)该方法的思想是在编译时将调用函数的代码直接嵌入到调用函数处。
24、INLINE函数的机制兼顾了函数和效率两个方面的优点。
25、try、throw、catch语句是c++中用于实现异常处理的机制。
26、cin后面的符号是:>>(提取运算符)cout后面的符号是:<< (插入运算符)cin是输入流istream 的一个对象,处理标准输入;cout是输出流ostream 的一个对象,处理标准输出。
27、设要把一个文件输出流对象myFile与文件“f:\myT ext.txt”相关联,所用的C++语句是:ifstream myFile(“f:\\myT ext.txt”);。
28、一个输出流对象是信息流动的目标,最重要的3个输出流是:ostream、ofstream、ostringstream。
29、一个输入流对象是数据流出的源头,最重要的3个输出流是:istream、ifstream、istringstream。
30、C++里的模版包括:函数模板、类模板。
31、多态:是指用一个名字定义不同的函数,这些函数执行不同但又类似的操作,从而可以使用相同的调用方式来调用这些具有不同功能的同名函数。
32、不同对象可以调用相同名称的函数,但可导致完全不同的行为的现象称为多态性或(类的多态性)。
面向对象的多态性分为:参数多态,包含多态,重载多态,强制多态前两种称为通用多态,后两种称为专用多态多态从实现角度来讲可以划分为:编译时的多态、运行时的多态。
绑定:静态绑定、动态绑定。
33、一般虚函数成员:在类的定义中用virtual来限定成员函数,虚函数声明只能出现在类定义中的函数原形声明中,而不能在成员函数的时候。
34、运行中的多态要满足3个条件:类之间满足复制兼容规则,声明虚函数,由成员函数调用。
(二)1.对象的核心概念就是通常所说的继承、封装和多态性。
2.函数的声明、定义和、调用称为函数三步曲。
3.Cin后面的符号是:>> ,cout后面的符号是:<< 。
4.面向对象的英文缩写是:OOP 。
5.已知X=2,y=3,x<y的值是:true 。
6.C语言中printf命令在c++中改用:cout 。
7.C语言中scanf命令在c++中改用:cin 。
8.#include<iostream.h>命令中,include的意义是:包含头文件。
9.C++语言中的每条基本语句以;作为结束符,每条复合语句以{} 作为结束符。
10.执行cout<<char('A'+2)<<endl;语句后,得到的输出结果为 C 。
11.float和double类型的大小分别为 4 和8 。
12.假定一个一维数组的定义为char a[8];则该数组所含元素的个数为8 ,所占存储空间的字节总数为8 。
13.变量分为全局和局部两种,变量没有赋初值时,其值是不确定的。
14.对一个类中的数据成员的初始化,可以通过构造函数来实现,也可以通过该类的成员函数来实现。
15.假定AB为一个类,则执行AB a(10);语句时,系统自动调用该类的构造函数的次数为 1 。
16.假定AB为一个类,则执行AB a[10];语句时,系统自动调用该类的构造函数的次数为10 。
17.假定AB为一个类,有类AB的两个对象a1,a2;则执行语句AB*a[10]={&a1,&a2};时系统自动调用该类的构造函数的次数为0 。
18.假定类AB中有一个公用属性的静态数据成员static int bb;在类外不通过对象名给该成员bb赋值为10的写法:int AB::bb=10;。
19.在面向对象程序设计中,具有相同属性和服务的一组对象的集合称为类。
20.在面向对象程序设计中,对象由一组属性(数据)和一组服务(操作)构成。
21.类成员的三种访问控制属性是:公有(public)、保护(protected)、私有(private)。
22.在类内部定义的公有(public)数据可以在类外进行存取,但保护(protected)数据和私有(private)数据不能在类外直接存取。
23.在OOP中,当类的继承方式为公有继承时,基类的公有成员和保护成员的访问属性在派生类中不变,基类的私有成员不可访问。
24.一个C++源程序按结构一般划分为三种文件,分别是:类说明文件、类实现文件和类的使用文件。
25.在已经定义了整型指针ip后,为了动态得到一个包括10个整数的数组并由ip所指向,应使用语句ip=new int[10] 。
26.在一个类中可以定义多个构造函数,1个析构函数。
27.在用class定义一个类时,数据成员和成员函数的默认访问权限是私有。
28.在删除一个动态对象时,将自动调用该动态对象所属类的析构函数。
29.为了在对象生存期结束时释放其指针成员所指向的动态存储空间,通常需要为该类定义析构函数。
30.当建立一个新对象时,程序自动调用构造函数。
31.类的私有成员只能被它的成员函数和友元函数访问。
32.假定用户没有给一个名为AB的类定义析构函数,则系统自动给出的缺省析构函数定义为~AB(){ } 。
33.一个抽象类的派生类可以实例化的必要条件是实现了所有的纯虚函数。
34.在C++中,虚函数帮助实现了类的多态性。
35.通过C++语言中类的继承(派生)机制,可以扩充和完善已有类以适应新的需求。
36.C++类族中,不能被派生类继承的有构造函数、析构函数。
37.定义重载函数时,应保证参数个数或参数类型有所不同。
38.运算符重载仍然保持其原来的优先级、结合性和语法结构。
39.使用指向对象的指针来标识类的成员,则必须使用的运算符是-> 。
40.拷贝构造函数通常使用对象的引用来初始化创建中的对象。
41.在OOP中多态是指同样的消息被不同对象接收时可产生不同的行为;它通过重载和虚函数等技术来实现。
42.含有纯虚函数的类称为抽象类。
43.定义模板的关键字是template 。
44.模板定义中标识类型的参数必须用关键字class(或typename) 修饰。
45.类模板可以使用两种形式的参数,分别是:类型参数和普通参数。
46.函数模板既可以与函数模板重载,也可以与普通函数重载。
47.从现存类中构建其子类可以通过C++语言中的继承(派生)机制实现。
48.C++的I/O系统通过流的机制实现文件和控制台的输入输出操作。
49.cin是输入流istream 的一个对象,处理标准输入;cout是输出流ostream 的一个对象,处理标准输出。
50.设要把一个文件输出流对象myFile与文件“f:\myT ext.txt”相关联,所用的C++语句是:__ifstream myFile(“f:\\myT ext.txt”);_。
51.C++中ostream类的直接基类是___ios类_____。
52.运算符[ ]只能用___成员___运算符来重载,不能用友元运算符来重载。
53.定义虚函数所用的关键字是___virtual__。
54.类的继承是指子类继承基类的___数据成员___和成员函数。
55.不同对象可以调用相同名称的函数,但可导致完全不同的行为的现象称为多态性或(类的多态性)。
56.___#include___指令指示编译器将一个源文件嵌入到带该指令的源文件之中。
57.设在程序中使用如下语句申请了一个对象数组:Point *ptr=new Point[2];当要释放ptr指向的动态数组对象时,所使用的语句是__ delete[ ]ptr;_。