




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
考试中心填写:_年_月_日考 试 用专业班级:学号:姓名:装订线(题目不得超过此线)湖南大学课程考试试卷湖南大学教务处考试中心湖南大学课程考试试卷课程名称: 高等程序设计 ;课程编码: 试卷编号: ;考试时间:120分钟题 号一二三四五六七八九十总分应得分一、单项选择题(本大题共20小题,每小题1.5分,共30分)在每小题列出的四个备选项中,只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。1:有关类和对象的说法下列不正确的有( )。A. 对象是类的一个实例; B. 任何一个对象只能属于一个具体的类;C. 类只能有一个对象; D. 类与对象的关系和数据类型与变量的关系相似2:( )是析构函数的特征。A、析构函数可以有一个或多个参数;B、析构函数名与类名不同;C、析构函数的定义只能在类体内;D、一个类中只能定义一个析构函数;3:下列特性中,( )不是面向对象程序设计的特性。A. 封装性; B. 完整性; C. 多态性; D. 继承性。4:重载函数在调用时选择的以下依据中,( )是错误的。A. 参数个数;B. 参数的类型;C. 参数的位置;D. 函数的返回值类型。5:在C+中,关于下列设置缺省参数值的描述中,( )是正确的。A、不允许设置缺省参数值;B、在指定了缺省值的参数右边,不能出现没有指定缺省值的参数;C、只能在函数的定义性声明中指定参数的缺省值;D、设置缺省参数值时,必须全部都设置;6:在基类中没有具体定义,但要求任何派生类都自已定义版本的虚函数是( )。A. 虚析构函数; B. 构造函数;C. 纯虚函数;D. 静态成员函数。7:以下各类函数中,( )不是类的成员函数。A. 构造函数; B. 析构函数; C. 友元函数; D. 拷贝初始化构造函数。 8:可以用( )来访问与局部变量同名的全局变量。A、类运算符; B. 引用; C. 域运算符; D. 重载。9:有关析构函数的下述描述中,( )是错误的。A. 析构函数有且只有一个; B. 对象撤消时析构函数收回分配的内存空间;C. 析构函数无任何函数类型; D. 析构函和构造函数一样可以有形参。10:私有静态成员变量只能用( )来访问。A、构造函数; B. 虚函数; C. 公有静态函数; D. 析构函数。11:关于delete运算符的下列描述中,( )是错误的。A、它必须用于new返回的指针;B、使用它删除对象时要调用析构函数;C、对一个指针可以使用多次该运算符;D、指针名前只有一对方括号符号,不管所删除数组的维数。11、const int *p说明不能修改()。A、p指针;B、p指针指向的变量;C、p指针指向的数据类型;D、上述A、B、C三者;12、已知:print()函数是一个类的常成员函数,它无返回值,下列表示中,( )是正确的;A、void print() const;B、const void print();C、void const print();D、void print(const);13、派生类的对象对它的基类成员中()是可以访问的。A、公有继承的公有成员;B、公有继承的私有成员;C、公有继承的保护成员;D、私有继承的公有成员; 14、设置虚基类的目的是()。A、简化程序;B、消除二义性;C、提高运行效率;D、减少目标代码;15、下列描述中,正确的是()A、虚函数是一个static 类型的成员函数;B、虚函数是一个非成员函数;C、抽象类是指具有纯虚函数的类;D、抽象类可以说明其对象;16、以下初始化定义: char name =Mohd Jaber ; 等价于( ):A char *name=Mohd Jaber ;B char *name2 = Mohd, Jaber ;C char name2=Mohd Jaber ;D All the above.17、cin.getline( superstring , 30 ) ;等价于( )A cin.getline( superstring , 30, 0 ) ;B cin.getline( superstring , 30, n ) ;C cin.getline( superstring , 30, s ) ;D cin.getline( superstring , 30, t ) ;18:以下( )给出了 int array r 中r的长度。A sizeof (r)B sizeof ( *r )C sizeof (r) / sizeof ( int )D sizeof ( *r ) / sizeof ( int )19、以下初始化工作错误的是( )A char name = mohd ;B char name5 = mohd ;C char *name5 = mohd ;D char *name = mohd ;20、现有:int a5=10, 20, 30, 40, 50;则( )是以下语句的输出for ( int i=0; i4; i+ ) cout +*a ;A 10 20 30 40B 11 12 13 14C 20 30 40 50D an error will occur二、简答题(4*10=40分)1、头文件中的 ifndef/define/endif 干什么用? 2、#include 和 #include “filename.h” 有什么区别? 3、const 有什么用途?(请至少说明两种) 4、请写出 float x 与“零值”比较的 if 语句:5、若程序员没有为类定义拷贝初始化构造函数,则编译器将自动生成一缺省的拷贝初始化构造函数,它可能会产生什么问题?6、现有函数模板定义如下:template T max(T t1, T t2) return t1 t2 ? t1 : t2 ;请问使用max(1,2.6)调用有何问题,如何解决?7、请问以下程序有何问题,如何解决?Time operator+(Time& t,int) Time old = t ;+t ;return old ; 8、结构struct和类class有什么异同?9、在某个C+的类库中有以下声明:class logic_error : public exception .;class out_of_range : public logic_error .;请问以下代码有何问题,请修改它try /使用类库catch(exception)/处理异常throw; catch(logic_error)/处理异常 catch(out_of_range e) /处理异常10:假设有自定义异常声明如下:class logic_error : public exception .;class out_of_range : public logic_error .;class runtime_error : public exception 请问以下函数可能会抛出哪些异常void operator1() throw() ;void operator2() throw(exception) ;void operator3() throw(loginc_error, runtime_error) ;三、请写出以下程序的输出结果(5分)#include class A public: void display() cout in A:display and a = a endl ; virtual void display2() cout in A:display2 and a = a endl ; int a ;class B : public A public: void display() cout in B:display and a = a endl ; void display2() cout in B:display2 and a = a endl ; int a ;void fn(A& a)a.display() ;void fn2(A& a) a.display2() ;int main()B b ;b.a = 1 ;b.A:a = 2 ;A* aa = &b ;fn(b) ; fn2(*aa) ;四、下面程序的前两行输出为4和0012FF6C,程序中接下来其它行的输出是什么?(5分)#include using namespace std;int main()int a = 2,4,6,8,10;cout sizeof(a1) endl &a0 endl a3 endl &a1 endl *(a+2) endl a endl;return 0;五:以下程序的输出是什么?(1*5=5分)int main()car c1, c2;c1.drive_forward();c1.drive_forward(); c2.drive_forward();car:print_number(); 1) c1.print_distance(); 2) c2.print_distance(); 3) car c3;car:print_number(); 4) c3.print_distance(); 5) return 0;class car public: car() distance=0; total_cars+; car()total_cars-; void drive_forward()distance+; void print_distance()cout distance endl; static void print_number()cout total_cars endl; private: int distance; static int total_cars; ; int car:total_cars=0;六:已知strcpy函数的原型是char *strcpy(char *strDest, const char *strSrc),其中strDest是目的字符串,strSrc是源字符串。(5分)(1)不调用C+/C的字符串库函数,请编写函数 strcpy(2)strcpy能把strSrc的内容复制到strDest,为什么还要char * 类型的返回值?(1分) 七:编写类String的构造函数、析构函数和赋值函数(10分)已知类String的原型为:c
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度企业全面人力资源管理顾问聘请服务合同
- 2025年国际会展中心房地产联合开发合同范本
- 2025版物流企业间供应链借款合同协议
- 自考专业(工商企业管理)试题及完整答案详解【历年真题】
- 助听器验配师模考模拟试题含答案详解【A卷】
- 2025年护士执业资格考试康复护理学护理健康教育试题解析试卷
- 2025年成人高考语文高频考点速记题库重点解析试题
- 2025年教师资格证考试《综合素质》心理辅导案例题目解析答案集
- 2025年乡村医生考试题库:农村慢性病管理慢性病药物治疗原则试题
- 2025年成人高考《语文》高频考点速记题库:作文立意与观点表达试题
- 原发性乳腺癌规范化诊疗指南
- 2025年“健康中国”战略下医疗健康产业投资趋势报告
- 湿地公园项目监理规划
- 旋挖钻孔灌注桩施工流程课件
- 《混凝土浇筑施工技术交底》课件
- TSG Z7002-2022特种设备检测机构核准规则
- 2025河南高考:历史必考知识点归纳
- 人工智能的深度解析与浅显介绍
- 领导管理艺术与沟通艺术
- 生物样本库标准操作流程
- 动火作业安全专项方案
评论
0/150
提交评论