[计算机类试卷]国家二级C++机试(模板)模拟试卷3及答案与解析.doc
《[计算机类试卷]国家二级C++机试(模板)模拟试卷3及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级C++机试(模板)模拟试卷3及答案与解析.doc(17页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级 C+机试(模板)模拟试卷 3及答案与解析 一、选择题 1 下列关于模板的叙述中,错误的是 ( )。 ( A)模板声明中的第一个符号总是关键字 template ( B)在模板声明中用和括起来的部分是模板的形参表 ( C)类模板不能有数据成员 ( D)在一定条件下函数模板的实参可以省略 2 有如下函数模板定义: template class T T func( T x, T y) retum x*x+y*y; 在下列对 func的调用中,错误的是 ( )。 ( A) func( 3, 5); ( B) func( 3 0, 5 5); ( C) func( 3, 5 5); ( D)
2、func int( 3, 5 5); 3 有如下函数模板: femplate typename T, typename U T cast(U u) return u; 其功能是将 U类型数据转换为 T类型数据。已知 i为 int型变量,下列对模板函数 cast的调用中正确的是 ( )。 ( A) cast( i); ( B) cast( i); ( C) cast char*, int( i); ( D) cast double, int( i); 4 关于在调用模板函数时模板实参的使用,下列表述正确的是 ( )。 ( A)对于虚拟类型参数所对应的模板实参,如果能从模板函数的实参中获得相同的信
3、息,则都可以省略 ( B)对于虚拟类型参数所对应的模板实参,如果它们是参数表中的最后的若干个参数,则都可以省略 ( C)对于虚拟类型参数所对应的模板实参,若能够省略则必须省略 ( D)对于常规参数所对应的模板实参,任何情况下都不能省略 5 有如下函数模板: template class T T square( T x) return x*x;)其中 T是( )。 ( A)函数形参 ( B)函数实参 ( C)模板形参 ( D)模板实参 6 下列函数模版中的定义中,合法的是 ( )。 ( A) template typename T T abs( T x) retum x O?一 X: x; (
4、B) template class T T abs( T x) return x O?_X: x; ( C) template T class T abs( T x) return x O?_X: x; ( D) template T abs( T x) retum x O?一 x: x;) 7 C+中的模板包括 ( )。 ( A)对象模板和函数模板 ( B)对象模板和类模板 ( C)函数模板和类模板 ( D)变量模板和对象模板 8 下列有关模板的叙述中,正确的是 ( )。 ( A)函数模板不能含有常规形参 ( B)函数模板的一个实例就是一个函数定义 ( C)类模板的成员函数不能是模板函数 (
5、 D)用类模板定义对象时,绝对不能省略模板实参 9 下面是一个模板声明的开始部分: templute typename T double_ 由此可知 ( )。 ( A)这可能是一个函数模板的声明 ( B)这可能是一个类模板的声明 ( C)这既可能是一个函数模板的声明,也可能是一个类模板的声明 ( D)这肯定是一个错误的模板声明 10 下列关于模板的叙述中,错误的是 ( )。 ( A)调用模版函数时,在一定条件下可以省略模板实参 ( B)可以用 int、 double这样的类型修饰符来声明模版参数 ( C)模板声明中的关键字 dass都可以用关键字 typename替代 ( D)模板的形参表中可
6、以有多个 参数 11 下列关于函数模板的描述中,错误的是 ( )。 ( A)从模板实参表和从模板函数实参表获得信息矛盾时,以模板实参的信息为准 ( B)对于常规参数所对应韵模板实参,任何情况下都不能省略 ( C)虚拟类型参数没有出现在模板函数的形参表中时,不能省略模板实参 ( D)模板参数表不能为空 12 下列关于模板形参的描述中,错误的是 ( )。 ( A)模板形参表必须在关键字 template之后 ( B)模板形参表必须用括弧 ()括起来 ( C)可以用 class修饰模板形参 ( D)可以用 typename修饰模板形参 13 下列关于类模板的描述中,错误的是 ( )。 ( A)类模板
7、的成员函数都是模板函数 ( B)可以为类模板参数设置默认值 ( C)类模板描述了一组类 ( D)类模板中只允许有一个类型参数 14 下列关于模板的叙述中,正确的是 ( )。 ( A)如果一个类中存在纯虚函数,这个类就是类模板 ( B)函数模板不能有形式参数表 ( C)类模板是一种参数化类型的类,是类的生成器 ( D)类模板中不能包含构造函数 15 有函数模板声明和一些变量定义如下: template class T1, class T2, class T3 T1 sum(T2, T3); double dl, d2; 则下列调用中,错误的是 ( )。 ( A) sum double, doub
8、le, double( d1, d2); ( B) sum double, double( d1, d2); ( C) sum double( d1, d2); ( D) sum( d1, d2); 16 下列关于函数模板的描述中,正确的是 ( )。 ( A)函数模板是一个实例函数 ( B)使用函数模板定义的函数没有返回类型 ( C)函数模板的类型参数与函数的参数相同 ( D)通过使用不同的类型参数,可以从函数模板得到不同的实例函数 17 有如下函数模板定义: template typename T1, Typename T2 T1 Fun(T2 n)return n*5 0; ) 若要求以
9、int型数据 9作为函数实参调用该模板,并返回一个 double型数据,则该调用应表示为 ( )。 ( A) FUN( 9) ( B) FUN 9 ( C) FUN double 9 ( D) FUN 9( double) 18 下列关于模板的描述中,错误的是 ( )。 ( A)类模板的成员函数都是模板函数 ( B)函数模板是一种参数化类型的函数 ( C)满足一定条件时可以省略模板实参 ( D)模板形参只能由关键字 t) rpename声明 19 已知主函数中通过如下语句序列实现对函数模板 swap的调用: int a10, b10; swap(a, b, 10); 下列对函数模板 swap的
10、声明中,会导致上述语句序列发生编译错误的是 ( )。 ( A) template typename T void swap ( T a, T b, int size); ( B) template typename T void swap ( int size, T a, T b1); ( C) template typename T1, typename T2 void swap( T1 a, T2 b, int size; ( D) template class T1, class T2 void swap ( T1 a, T2 b, int size); 20 在定义函数模板或类模板时,
11、开头的保留字是 ( )。 ( A) typename ( B) template ( C) class ( D) typedef 21 若有函数模板 mySwap和一些变量定义如下: ( )。 template class T void mySwap( T x, T y); double dl, d2; int i1, 12;下列对 mySwap的调用中,错误的是 ( A) mySwap( i1, i2) ( B) mySwap( d1, d2) ( C) mySwap( i1, d1) ( D) mySwap int( i2, d2) 22 模板对类型的参数化提供了很好的支持,因此 ( )。
12、 ( A)类模板的主要作用是生成抽象类 ( B)类模板实例化时,编译器将根据给出的模板实参生成一个类 ( C)在类模板中的数据成员都具有同样类型 ( D)类模板中的成员函数都没有返回值 23 关于关键字 class和 typename,下列表述中正确的是 ( )。 ( A)程序中的 typename都可以替换为 class ( B)程序中的 class都可以替换为 typename ( C)在模板形参表中只能用 t) rpename来声明参数的类型 ( D)在模板形参表中只能用 class或 typename来声明参数的类型 24 下列关于类模板的模板参数的叙述中,错误的是 ( )。 ( A)
13、模板参数可以作为数据成员的类型 ( B)模板参数可以作为成员函数的返回类型 ( C)模板参数可以作为成员函数的参数类型 ( D)模板参数不能作为成员函数的局部变量的类型 25 下列模板声明中,有语法错误的是 ( )。 ( A) template typename T T fun( T x) return x; ( B) template typename T T fun( T x, int n) return x*n; ( C) template class T T fun( T*p) return *p; ( D) template class T T classA T n; ; 26 在定
14、义一个类模板时,模板形参表是用一对括号括起来的,所采用的括号是( )。 ( A)( ) ( B) ( C) ( D) 27 有如下模板声明: template typename T1, typename T2 class A; 下列声明中,与上述声明不等价的是 ( )。 ( A) template class T1, class T2 class A; ( B) template class T1, typename T2 class A; ( C) template typename T1, class T2 class A; ( D) template typename T1, T2 cl
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 机试 模板 模拟 答案 解析 DOC
