【计算机类职业资格】二级C++-241及答案解析.doc
《【计算机类职业资格】二级C++-241及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++-241及答案解析.doc(16页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+-241 及答案解析(总分:58.00,做题时间:90 分钟)一、选择题(总题数:36,分数:58.00)1.关于在调用模板函数时模板实参的使用,下列表述中正确的是_。(分数:1.00)A.对于虚拟类型参数所对应的模板实参,如果能从模板函数的实参中获得相同的信息,则都可以省略B.对于虚拟类型参数所对应的模板实参,如果它们是参数表中的最后的若干个参数,则都可以省略C.对于虚拟类型参数所对应的模板实参,若能够省略则必须省略D.对于常规参数所对应的模板实参,任何情况下都不能省略2.有下列程序: #includeiostream Using namespace std; Class Amou
2、nt int amount; public; Amount(int n=O):amount(n) Int getAmount()constreturn amount; Amount return ; int main() Amount x(3),y(7); x+=y; coutx.getAmount()endl; return 0; 己知程序的运行结果是 10,则横线处缺失的表达式是 _ 。(分数:2.00)A.*thisB.thisC. 下列表达式中错误的是(分数:2.00)A.a2=“WIN“B.strcpy(a2,“WIN“)C.a23=“W“D.a01=a014.有函数模板声明和一些变
3、量定义如下: templateclass T1, class T2, class T3T1 sum(T2, T3); double d1, d2; 则下列调用中,错误的是_。(分数:2.50)A.sumdouble, double, double(d1, d2);B.sumdouble, double(d1, d2);C.sumdouble(d1, d2);D.sum(d1, d2);5.下列选项中不全是 C+语言关键字的是(分数:2.00)A.const,break,defaultB.long,void,usingC.virtual,exterm,includeD.try,throw,thi
4、s6.有以下程序: class Date public: Date(int y,int m,int d); year=y; month=m; day=d; Date(int y=2000) year=y; month=10; day=1; Date(Dated) year=d.year; month=d.month; day=d.day; void print() coutyear“.“month“,“dayendl; private: int year,month,day;); Date fun(Date d) Date temp; temp=d; return temp; int main
5、() Date date1(2000,1,1),date2(0,0,0); Date date3(date1); date2=fun(date3); return 0; 程序执行时,Date 类的复制构造函数被调用的次数是_。(分数:1.00)A.2B.3C.4D.57.下列关于栈的叙述正确的是_。(分数:1.00)A.栈按“先进先出”组织数据B.栈按“先进后出”组织数据C.只能在栈底插入数据D.不能删除数据8.当使用 ifstream 流类定义一个流对象并打开一个磁盘文件时,文件的默认打开方式为_。(分数:1.00)A.ios_base:inB.ios_base:in|ios_base:ou
6、tC.ios_base:outD.ios_base:in void try(int,int,int,int); int main() int x,y,z,r; x=1; y=2; try(x,y,z,r); coutrendl; return 0; void try(int x,int y,int z,int r) z=x+y; x=x*x; y=y*y; r=z+x+y; (分数:2.00)A.18B.9C.10D.不确定10.不能作为函数重载的判断依据的是 _ 。(分数:2.00)A.constB.返回类型C.参数个数D.参数类型11.在 C+中,cin 是一个_。(分数:2.50)A类B
7、.对象C.模板D.函数12.有如下程序: #includeiostream using namespace std; class Book public: Book(char*t=“ “)strcpy(title,t); _ pnvate: char title40; ; class Novel:public Book public: Novel(char*t=“ “):Book(t) char*Category()constretum“文学“; ; int main() Book*pb; pb=new Novel(); coutpb-Category(); delete pb; retum
8、0; 若程序运行时输出结果是“文学“,则横线处缺失的语句是_。(分数:1.00)A.char*Category();B.char*Category()const;C.virtual char*Category()const;D.virtual char*Category()const=0;13.下列关于赋值运算符“=”重载的叙述中,正确的是_。(分数:2.00)A.赋值运算符只能作为类的成员函数重载B.默认的赋值运算符实现了“深层复制”功能C.重载的赋值运算符函数有两个本类对象作为形参D.如果已经定义了复制(拷贝)构造函数,就不能重载赋值运算符14.有如下函数模板: template type
9、name T,typename U T cast(U u) return u; 其功能是将 U 类型数据转换为 T 类型数据。已知 i 为 int 型变量,下列对模板函数 cast 的调用中正确的是_。(分数:1.00)A.cast(i);B.cast(i);C.cast char*,int(i);D.castdouble,int(i);15.若已定义: int a 0,1,2,3,4,5,6,7,8,9, * pa, i ; 其中 0i9,则对 a 数组元素不正确的引用是(分数:2.00)A.apaB.* (B.char*str=“abcde“;C.char str5=“abcde“;D.c
10、har*str5=“abcde“;24.下列情况中,不会调用拷贝构造函数的是_。(分数:2.50)A.用一个对象去初始化同一类的另一个新对象时B.将类的一个对象赋值给该类的另一个对象时C.函数的形参是类的对象,调用函数进行形参和实参结合时D.函数的返回值是类的对象,函数执行返回调用时25.派生类的成员函数不能访问基类的(分数:2.00)A.公有成员和保护成员B.公有成员C.私有成员D.保护成员26.下面关于 break 语句的描述中,不正确的是(分数:1.00)A.break 可以用于循环体内B.break 语句可以在 for 循环语句中出现多次C.break 语句可以在 switch 语句中
11、出现多次D.break 语句可用于 if 条件判断语句内27.下列关于栈的叙述正确的是_。(分数:1.00)A.栈顶元素最先被删除B.栈顶元素最后才能被删除C.栈底元素永远不能被删除D.以上三种说法都不对28.要定义整型数组 x,使之包括初值为 O 的三个元素,下列语句中错误的是_。(分数:2.50)A.int x3=0, 0, 0;B.int x=0;C.static int x3=0;D.int x=0, 0, 0;29.为了使类中的某个成员不能被类的对象通过成员操作符访问,则不能把该成员的访问权限定义为 _ 。(分数:2.00)A.publicB.protectedC.privateD.
12、static30.有如下程序: #includeiostream #includestring using namespace std; class MyBag public: MyBag(string br, string cr):brand(br), color(cr)+count; static int GetCount()return count; private: string brand, color; static int count; ; int MyBag:count=0; int main() MyBag one(“CityLife“, “Gray“); coutone.G
13、etCount(); MyBag*ptr=new MyBag(“Coach“, “Black“); coutMyBag:GetCount(); return 0; 运行时的输出结果是_。(分数:1.00)A.12B.21C.22D.1131.有如下函数模板定义: templateclass T T func(T x,T y)return x*x+y*y; 在下列对 func 的调用中,错误的是_。(分数:2.00)A.func(3,5);B.func(3.0,5.5);C.func(3,5.5);D.funcint(3,5.5);32.关于 this 指针的说明不正确的是(分数:1.00)A.
14、不能在程序中修改 this 指针B.this 指针可以给其他指针赋值,但不能修改 this 指针C.静态成员函数中没有 this 指针D.this 指针可以被赋值33.当使用 fstream 流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为 _ 。(分数:1.00)A.ios:inB.ios: outC.ios:in lios:outD.以上都不对34.有如下类定义: class XX int xdata; public: XX(int n=0):xdata(n) ; class YY:public xx int ydata; public: YY(int m=0,int n=0)
15、:XX(m),ydata(n) ; YY 类的对象包含的数据成员的个数是_。(分数:2.50)A.1B.2C.3D.435.下列关于 C+预定义流对象的叙述中,正确的足_。(分数:1.00)A.cin 是 C+预定义的标准输入流对象B.cin 是 C+预定义的标准输入流类C.cout 是 C+预定义的标准输入流对象D.cout 是 C+预定义的标准输入流类36.关于抽象类下面说法正确的是(分数:1.00)A.抽象类就是其中有函数定义但没有实现的类B.抽象类是可以被实例化的C.派生类不能成为抽象类D.抽象类的子类必须实现父类中的纯虚函数二级 C+-241 答案解析(总分:58.00,做题时间:9
16、0 分钟)一、选择题(总题数:36,分数:58.00)1.关于在调用模板函数时模板实参的使用,下列表述中正确的是_。(分数:1.00)A.对于虚拟类型参数所对应的模板实参,如果能从模板函数的实参中获得相同的信息,则都可以省略B.对于虚拟类型参数所对应的模板实参,如果它们是参数表中的最后的若干个参数,则都可以省略C.对于虚拟类型参数所对应的模板实参,若能够省略则必须省略D.对于常规参数所对应的模板实参,任何情况下都不能省略 解析:解析 在调用一个模板函数时,编译系统需要足够的信息来判别每个虚拟类型参数所对应的实际类型,可以从两个不同的渠道获得这样的信息:从模板实参表(用“”括起来的参数表)或从模
17、板函数实参表(用“()”括起来的参数表)。如果从后者获得的信息已经能够判定其中部分或全部虚拟类型参数所对应的实际参数,而且它们又正好是参数表中最后的若干参数,则模板实参表中的那几个参数可以省略。如果模板实参表中的实参都被省略了,则空表“”也可以不要,因此选项 D 错误。反之,对于某个模板实参,如果从模板函数的实参表中无法获得同样的信息,就不能省略;或者虽然能够获得同样的信息,但在它后面还有其他不能省略的实参,则其自身还是不能省略。2.有下列程序: #includeiostream Using namespace std; Class Amount int amount; public; Amo
18、unt(int n=O):amount(n) Int getAmount()constreturn amount; Amount return ; int main() Amount x(3),y(7); x+=y; coutx.getAmount()endl; return 0; 己知程序的运行结果是 10,则横线处缺失的表达式是 _ 。(分数:2.00)A.*thisB.thisC. 下列表达式中错误的是(分数:2.00)A.a2=“WIN“ B.strcpy(a2,“WIN“)C.a23=“W“D.a01=a01解析:解析 本题考查数组的基本知识,B、C、D 在 C 语言中都是允许的,A
19、 选项的赋值是非法的。4.有函数模板声明和一些变量定义如下: templateclass T1, class T2, class T3T1 sum(T2, T3); double d1, d2; 则下列调用中,错误的是_。(分数:2.50)A.sumdouble, double, double(d1, d2);B.sumdouble, double(d1, d2);C.sumdouble(d1, d2);D.sum(d1, d2); 解析:解析 该考题考查的内容是函数模板调用时的实参表的省略,考生必须注意可否省略。下面我们介绍一下模板实参的省略。模板函数的调用格式为: 模板函数名模板实参表(函
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 C241 答案 解析 DOC
