【计算机类职业资格】程序员-C++程序设计(一)及答案解析.doc
《【计算机类职业资格】程序员-C++程序设计(一)及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】程序员-C++程序设计(一)及答案解析.doc(7页珍藏版)》请在麦多课文档分享上搜索。
1、程序员-C+程序设计(一)及答案解析(总分:23.00,做题时间:90 分钟)一、试题一(总题数:3,分数:5.00)请补齐上述代码中的空缺(1)和(2)。(分数:2.00)填空项 1:_填空项 1:_类 Stock 的定义中有两处错误,请指出错误所在行号并给出该行修改后的完整结果。(分数:2.00)填空项 1:_填空项 1:_1.指出该代码是否存在内存泄漏。(分数:1.00)填空项 1:_二、试题二(总题数:1,分数:5.00)说明C+标准模板库中提供了 vector 模板类,可作为动态数组使用,并可容纳任意数据类型,其所属的命名空问为 std。vector 模板类的部分方法说明如表 12-
2、3 所示。表 12-3 vector 模板类的部分方法方法 含义push_back(k) 向 vector 对象的尾部添加一个元素 kbegin() 返回一个迭代器对象,该对象指向 vector 中的第一个元素end() 返回一个迭代器对象,该对象指向 vector 中的最后一个元素empty() 测试 vector 对象是否为空erase(ptr) 删除 vector 中 ptr 指向的元素C+代码#includeiostream#includevectorusing namespace (1) ; typedef vector (2) INTZECTOR; const int ARRAY_
3、SIZE=6; void ShowVector(INTVECTOR int main( ) INTVECTOR theVector; /初始化 theVector,将 theVector 的元素依次设置为 0 至 5for (int cEachItem=0; cEachItemARRAY_SIZE; cEachItem+)theVector. push_back( (3) ); ShowVector(theVector); /依次输出 theVector 中的元素theVector. erase(theVector. begin( )+3); ShowVector(theVector); vo
4、id ShowVector(INTVECTOR return; INTVECTOR:iterator (4) ; for(theIterator = theVector.begin( ); theIterator != theVector.end( ); theIterator+)cout *theIterator; if(theIterator ! =thevector. end( )-1)cout“,“; coutendl; 该程序运行后的输出结果为:0, 1 , 2, 3, 4, 5(5) (分数:5.00)填空项 1:_填空项 1:_填空项 1:_填空项 1:_填空项 1:_三、试题三
5、(总题数:1,分数:5.00)说明已知对某载客车辆(Car)进行类建模,如图 12-2 所示,其中类 Engine 表示发动机引擎,类 Wheel 表示车轮,类 Body 表示车身,类 Driver 表示司机,类 Passenger 表示乘客。(分数:5.00)填空项 1:_填空项 1:_填空项 1:_填空项 1:_填空项 1:_四、试题四(总题数:3,分数:8.00)2.关于上述 C+代码中 sh 和 tr 的以下叙述中,哪两个是正确的(写出编号)?sh 和 tr 分别引用同一个对象;sh 和 tr 分别引用同一类型的不同的对象;sh 和 tr 分别引用不同类型的不同对象;sh 和 tr 分
6、别引用同一个对象的不同复制;sh 和 tr 所引用的内存空间是相同的。(分数:1.00)填空项 1:_写出下面消息对应的方法编号(如果该消息错误或者没有对应的方法调用,请填写“无”)。(分数:6.00)(1).tr-height( )(分数:1.00)填空项 1:_(2).sh-perimeter( )(分数:1.00)填空项 1:_(3).sq-height( )(分数:1.00)填空项 1:_(4).sq-perimeter( )(分数:1.00)填空项 1:_(5).sh-height( )(分数:1.00)填空项 1:_(6).tr-perimeter( )(分数:1.00)填空项 1
7、:_3.不考虑内存释放问题,下列赋值语句中哪两个是合法的(写出合法赋值语句的编号)sq=sh;sh=tr;tr=sq;sq=tr;sh=sq。(分数:1.00)填空项 1:_程序员-C+程序设计(一)答案解析(总分:23.00,做题时间:90 分钟)一、试题一(总题数:3,分数:5.00)请补齐上述代码中的空缺(1)和(2)。(分数:2.00)填空项 1:_ (正确答案:Stock( ):shares(1),share_val(1)或 Stock( ):share_val(1),shares(1)。)解析:填空项 1:_ (正确答案:cout)解析:类 Stock 的定义中有两处错误,请指出错
8、误所在行号并给出该行修改后的完整结果。(分数:2.00)填空项 1:_ (正确答案:第 4 行,修改为:public:)解析:填空项 1:_ (正确答案:第 9 行,修改为:Stock( ))解析:1.指出该代码是否存在内存泄漏。(分数:1.00)填空项 1:_ (正确答案:不存在内存泄漏)解析:解析 由题中程序可知类 Stock 有默认的构造函数,且该构造函数将初始化类中一些成员变量,所以(1)处应该为 Stock 的构造函数。成员函数 output 用于输出成员变量的值,所以(2)处应为 cout。对于问题 2由于类至少有一个公共的构造函数,所以第 4 行的 protect 应该改为 pu
9、blic,而析构函数不能有返回值,所以第 9 行应该去掉 void。对于问题 3main 函数中类的使用没有通过 new 操作符生成 Stock 类的对象,所以不存在内存泄漏。二、试题二(总题数:1,分数:5.00)说明C+标准模板库中提供了 vector 模板类,可作为动态数组使用,并可容纳任意数据类型,其所属的命名空问为 std。vector 模板类的部分方法说明如表 12-3 所示。表 12-3 vector 模板类的部分方法方法 含义push_back(k) 向 vector 对象的尾部添加一个元素 kbegin() 返回一个迭代器对象,该对象指向 vector 中的第一个元素end(
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 程序员 程序设计 答案 解析 DOC
