考试吧

计算机等级

考试吧>等级考试>计算机二级考试>C加加>模拟试题>正文
2017年9月计算机二级C++考试操作题高频考卷(2)
考试吧 2017-08-30 17:09:03 评论(0)条

  点击查看:2017年9月计算机二级C++考试操作题高频考卷汇总

  基本操作题

  1 [简答题]

  使用VC6打开考生文件夹proj1下的工程proj1,其中有“沙发”类Sofa和主函数main的定义。程序中位于每个//ERROR ********** found ********** 下的语句行有错误,请加以更正。更正后程序的输出应该是:

  座位数:3

  颜色:红色

  注意:只能修改每个// ERROR ********** found ********** 下的那一行,不要改动程序中的其他内容。

  

2017年9月计算机二级C  考试操作题高频考卷(2)

  参考解析:

  【参考答案】 (1)Sofa(int s,const char * co= “红色”):seats(s){

  (2)if(co==NULL)

  (3)int getSeats()const{returnseats;)

  【考点分析】

  本题主要考查的知识点为:关系运算符和关系表达式、默认参数和函数返回类型。

  【解题思路】

  程序定义Sofa类,它包含两个数据成员:字符数组color和整型变量seats;还包含一个构造函数,两个公有成员函数,getSeats()函数返回成员seats的值,getColor()函数返回字符数组color的地址Sofa类的定义体中,有三个错误:

  (1)Sofa类的构造函数错误:由main()函数中定义Sofa类对象时可知:构造函数虽然有两个参数,但是可以只传人一个整型变量,所以另一个参数co需要提供一个默认值,由题意可知程序运行结果输出颜色是红色,所以co的默认字符串值为 “红色”;另外程序需要输出座位数:3,所以成员seats需要使用形参s完成初始化,构造函数体中并未对seats进行赋值。

  (2)Sofa类的构造函数中,需要根据形参co的值是否为空,完成color的赋值,此处的if判断需要使用相等关系运算符,而不是赋值运算符。

  (3)成员函数getSeats()返回的是seats的值,所以返回值应该是int类型,而不是const char * 类型。

扫描/长按二维码帮助考试通关
2017等考各科真题答案
2017等考各科通关技巧
2017各科最新预测试卷
2017等考成绩查询时间

微信搜索"考试吧"了解更多考试资讯、下载备考资料

  2 [简答题]

  使用VC6打开考生文件夹proj2下的工程proj2,其中有元素类Element和队列类Queue的定义。请在程序中的横线处填写适当的代码,然后删除横线,以实现上述类定义。此程序的输出结果应为:

  3 8 5 0

  5 0 7

  注意:只能在横线处填写适当的代码,不要改动程序中的其他内容。

2017年9月计算机二级C  考试操作题高频考卷(2)

2017年9月计算机二级C  考试操作题高频考卷(2)

  参考解析:

  【参考答案】 (1)tail+1

  (2)element[++tail]=ele

  (3)tail--

  (4)int i=0;i <=tail; i++

  【考点分析】

  本题考查的知识点为:类的数据成员和类的成员函数。

  【解题思路】

  题意定义了Element类,表示队列中的元素,它包含一个成员n,表示元素的值;定义了Queue类,表示队列,它包含两个成员:element是动态分配的一个数组,每个元素都是Element类型;tail表示队列尾部的下标值,指向element数组的最后一个元素,当数组为空时,tail的值为-1,所以初始化为-1;另外Queue类还定义了若干成员函数:构造函数为element数组动态分配100个元素空间,初始化tail为-1;析构函数释放element;push()函数向队列中添加一个新元素ele,即将形参ele存放到数组尾部,并将tail自增1;pop()函数将element数组的第一个元素(下标为0)从数组中删除(采用移动后续所有元素的方式),并作为函数返回值返回;front()函数返回队列首元素;size()函数返回当前element数组的元素个数;show()函数将element数组中的元素的n值输出,由上面的分析,补充代码如下:

  (1)size()函数返回element数组的元素个数,tail的值是element数组的最后一个元素的下标,所以返回tail+1即可。

  (2)push()函数将参数ele插入到队列的尾部,即将ele保存到element数组下标为(tail+1)的位置:element[++tail]=ele;

  (3)pop()函数将element数组的首元素保存到trap变量中,然后遍历dement数组,将下标从1开始的元素逐个赋给前一个元素,再把tail的值自减1,tail--:

  (4)show()函数需要遍历element数组,然后将元素的n值输出,遍历下标的变量需要定义为i,i初值从0开始,直到i等于最后一个元素的下标,即tail。int i=0;i <=tail;i++

扫描/长按二维码帮助考试通关
2017等考各科真题答案
2017等考各科通关技巧
2017各科最新预测试卷
2017等考成绩查询时间

微信搜索"考试吧"了解更多考试资讯、下载备考资料

  综合应用题

  3 [简答题]

  使用vc6打开考生文件夹proj3下的工程proj3,其中声明了MyString类,它是一个用于表示字符串的类。成员函数reverse将字符串反转,例如“abcde”反转后就成了“edcba”。请补充完整函数reverse。在main函数中给出了一个测试数据,此情况下程序的输出应该是:

  This is a string

  gnirts a si sihT

  注意:只需在函数reverse的// ******** 333 ******** // ******** 666 ******** 之间填入若干语句,不要改动程序中的其他内容。

  

2017年9月计算机二级C  考试操作题高频考卷(2)

2017年9月计算机二级C  考试操作题高频考卷(2)

2017年9月计算机二级C  考试操作题高频考卷(2)

  参考解析:

  【参考答案】

2017年9月计算机二级C  考试操作题高频考卷(2)

  【考点分析】

  本题考查类的数据成员、类的成员函数、重载流运算符>>和插入运算符<<和字符数组。

  【解题思路】

  程序定义了MyString类,它包含一个成员:str字符指针;默认构造函数和复制构造函数通过dup()函数,动态分配地址p,将参数拷贝到p指向的内存空间,再使用p初始化str;show()成员函数将str指向的字符串输出;reverse()成员函数将str指向的字符串反转;重载的<<运算符函数调用形参m对象的show()函数输出str指向的字符串。

  main()函数首先构造一个MyString类对象m1,构造过程中传入字符串“This is a string”,所以m1对象中的str指向一个动态分配的内存空间,该段内存存放拷贝的字符串“This is a string”,输出m1后,再调用m1.reverse()函数,将str指向的字符串进行反转,再输出m1,题意要求我们完成reverse()成员函数的定义,完成反转字符串的功能。

  由题意,我们仅有的信息就是str指向一个字符串,它是char * 类型,需要对str指向的字符串进行反转,需要获得字符串的长度,然后将首尾字符进行交换,直到交换到中间字符串为止,所以我们定义两个变量i、j,表示元素下标,分别从首(i=0)和尾(长度-1)向中间遍历该字符串,每次遍历,首先判断i是否小于j,若i小于j则将i和j下标对应的字符进行交换,交换完成后i自增l,j自减1,直到i不小于j为止。

扫描/长按二维码帮助考试通关
2017等考各科真题答案
2017等考各科通关技巧
2017各科最新预测试卷
2017等考成绩查询时间

微信搜索"考试吧"了解更多考试资讯、下载备考资料

展开全文
评论(0条) 发表
Copyright © 2004-
考试吧(m.566.com)北京美满明天科技有限公司
社会统一信用代码:91110108MA01WU311X
帮助中心