《高级语言程序设计》课程试题答案_第1页
《高级语言程序设计》课程试题答案_第2页
免费预览已结束,剩余7页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、工程测量专业20XX级 高级语言程序设计 课程试题(A 卷) 20102011学年第二学期 题号 二 三 总分 分数 合分人: _ 复查人: _ 一、单选题:(每小题 1分,共 10分) (说明:将正确答案的字母填写在每小题后而的括号内) 1如果两个以上的函数,具有如下特点:只有参数类型不同,返回值类型不同,功能完全一样, 则为了提高代码的可重用性,可以使用(C) A、重载函数 B.内联函数 C、函数模板 D、递归调用 2. 若有 ima10Li=3;则下列对数组元素的引用不正确的是(D ) A、a0 B. ai C、ai*3D、ai*4 3. 下列关于析构函数的描述屮,错误的是(C) A、析

2、构函数不带参数 B、析构函数泄义时不指岀类型 C、析构函数名不能与类需相同 D、析构函数不能重载 4. 若有 int nTemp=5;则执行表达 nTemp 二卄 nTemp *5 + 5; nTemp 的值是(C) A、25 B. 30 C、35 D. 40 评卷人 分数 5. 下列对模板的声明,不正确的是(D) B、templateA、template 6. 对于动态分配内存空间描述正确的是(D) A、 使用 new运算符分配的内存空间的长度必需是常量 B、 delete 运算符可以释放动态的存储空间和静态的存储空间 C、 由 new分配的内存空间是不连续的 D、 delete 运算符只能

3、释放由 new分配的动态存储空间 7. 如果有 int* xL x2; float* yL y2 侧下而操作正确的是(C) A、xl = x2; B、xl = yl; C xl=&x2; D、xl=&y2; 8. 下而的常量能义不正确的是(C ) A、const float PI = 3.14; B、const double PI = 3 J 4; C、#define PI 3.14: D、#define PI 3.14 9关于类的成员函数特征的描述,错误的是(A) X、成员函数一左是内联函数 B、成员函数可以重载 C、成员函数可以设置参数的缺省值 D、成员函数可以是静态的 1

4、0.下而程序的运行结果是(A) Ainclude void Fun() static int s_nA=l; int nB = 1; s_nA = s_nA+ nB: cout s_nA H M; void main() Fun(); Fun();C、template D、template C. 3 评卷人 二、填空题:(每空 1分,共 10分) - (说明:将正确答案的字母填写在每小题后而的括号内) 1. bool型变疑只有两个值,true和 _ false _ 2. 一个 C+程序可由一个 n ain()数和若干个子函数构成,程序总是从一主函数一开始执行 的。 3. 若要访问指针变量 pT

5、cmp所指向的数据,应使用表达式 _ *pTcmp _ 4. 已知一个函数的原型是 double Add(double dl, double d2);若要以 1.0和 2.0为实参,表达 式为一 double dA = Add( IQ 2.0) _ 5. C+数据类型分为语言既泄的内部数据类型和通过一数组 _ 、一结构 _ 、一联合 和类 _ 等来怎义基于内部数据类型的变异类型。 6. 要使用 STL库提供的屮的向量(数组),在源程序中需要包含的头文件是_#include 7. vector 类中用于往数组中添加元素的方法是 _ vector: :push_back _ 8. C+语言屮用于立

6、义一个类的关键字是_class _ o char cT long nT long* pnT double dT double* pdT char strE char strC char *pE char *pC 请计算 sizeof (nT) sizeof (pnT) sizeof (dT) sizeof (pdT) sizeof (strE) sizeof (strC) sizeof (pE) sizeof (pC) =A ; =io ; =&nT; = 123; =&dT; =“Hello” ; 二“你好”: =str E; =str C; =4 =4 =8 =4 =6 =

7、5 =4 =4/strlen为 c字符串长度 il算函数 strlen(strE) = 5三、计算题:(每小题 1分,共 10分) 评卷人 分数 四、综合编程题:(30分) 提示:该题考查的知识点主要包括:头文件保护, 态、STL的向量步骤 1【12分】 评卷人 分数 类的左义,类成员作用域、继承、函数重载、多 在头文件 graphics.h中泄义一个需为 CTigurc的类【2分】,成员函数有三个,一个为公有的纯虚函 数 voidDraw()【3分】,第二个为私有函数 void Init()【2分】,第三个为保护类型的 void SetDataO 【2分】。需要对该头文件进行保护【3分】.

8、#ifndef _FIGURE_H_ #define _FIGURE_H_ # includegraphics class CFigure public: virtual void Draw() = 0; private: void Init(); protected: void SetDataO; #endif 步骤 2 8分】 从 CFigure分别派生出两个类 CCircle【1分】和 CRectangle【1分】,定义之。 每个类中,分别立义并实现函数 SetData用于重载(函数体可以为空)【2分】,立义并实现虚函数 Draw用于多态,在 CCircle类的 Draw函数中使用 co

9、in输出字符串”显示圆”【2分】,在 class CCircle: public CFigure void SetData(); virtual void Draw() cout ”显示圆;class CRectangle: public CFigure void SetData(); virtual void Draw() cout 显示矩形步骤 3 10分】. 在主函数 main屮,使用 STL屮的向量类 vector定义一个数组 vFigure,数组的类型参数为 CFigure*【2 分】; 用 new操作符动态创建一个 CCircIe对彖指针,添加到 vFigure 2分】,用 new操作符动 态 创建一,Is- CRectangle 对彖指针,添加到 vFigure 2分】; 遍历数组 vFigure,调用数组每个元素的函数 Draw.实现多态调用【4分】 std:vector vFigur; CCircIe* pTemp = new Circle; vFigue.push_back( pTemp); CRectangle* pTemp2 = new CRectangle; vFigue.push_back( pTemp2); for(std:vector:iterator i= vFigure.begin(); i!=vFigu

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论