欢迎来到麦多课文档分享! | 帮助中心 海量文档,免费浏览,给你所需,享你所想!
麦多课文档分享
全部分类
  • 标准规范>
  • 教学课件>
  • 考试资料>
  • 办公文档>
  • 学术论文>
  • 行业资料>
  • 易语言源码>
  • ImageVerifierCode 换一换
    首页 麦多课文档分享 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    [计算机类试卷]国家二级C++机试(模板)模拟试卷4及答案与解析.doc

    • 资源ID:497703       资源大小:49.50KB        全文页数:17页
    • 资源格式: DOC        下载积分:2000积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    二维码
    微信扫一扫登录
    下载资源需要2000积分(如需开发票,请勿充值!)
    邮箱/手机:
    温馨提示:
    如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如需开发票,请勿充值!如填写123,账号就是123,密码也是123。
    支付方式: 支付宝扫码支付    微信扫码支付   
    验证码:   换一换

    加入VIP,交流精品资源
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    [计算机类试卷]国家二级C++机试(模板)模拟试卷4及答案与解析.doc

    1、国家二级 C+机试(模板)模拟试卷 4及答案与解析 一、选择题 1 下列关于模板的叙述中,错误的是 ( )。 ( A)模板声明中的第一个符号总是关键字 template ( B)在模板声明中用 括起来的部分是模板的形参表 ( C)类模板不能有数据成员 ( D)在一定条件下函数模板的实参可以省略 2 有如下函数模板定义: template T func(T x,T y)return x*x+y*y; 在下列对 func的调用中,错误的是 ( )。 ( A) func(3, 5); ( B) func(3 0, 5 5); ( C) func(3, 5 5); ( D) func(3, 5 5);

    2、 3 有如下函数模板: template T cast(U u)return u; 其功能是将 U类型数据转换为 T类型数据。已知 i为 int型变量,下列对模板函数cast的调用中正确的是 ( )。 ( A) cast(i); ( B) cast ( D) 27 有如下模板声明: templateclass A; 下列声明中,与上述声明不等价的是 ( )。 ( A) templateclass A; ( B) templateclass A; ( C) templateclass A; ( D) templateclass A; 28 若 MyTemp是一个只有一个虚拟类型参数的类模板,且有

    3、如下语句序列 MyTempp2; MyTempp32; 编译系统在处理上面的语句序列时,所生成的模板 MyTemp的实例的个数是 ( )。 ( A) 1 ( B) 2 ( C) 3 ( D) 0 29 下列关于模板的叙述中,错误的是 ( )。 ( A)调用模板函数时,有时可以省略模板实参 ( B)函数模板的每个实例就是一个函数定义 ( C)类模板的每个实例就是一个类定义 ( D)类模板的实例是一个类对象 30 下列类模板的定义中语法格式错误的是 ( )。 ( A) templateclass Buffer * ; ( B) templateclass Buffer * ; ( C) templ

    4、ateclass Buffer * ; ( D) templateclass Buffer * ; 国家二级 C+机试(模板)模拟试卷 4答案与解析 一、选择题 1 【正确答案】 C 【试题解析】 此题考查模板的概念。模板的一般说明形式如下: template类型形参表函数返回值类型函数名 (形参表 )函数体 ,所以选项 A、 B正确。函数模板的实参在一定条件下是可以省略的,所以选项 C错误。 【知识模块】 模板 2 【正 确答案】 C 【试题解析】 此题考查的是函数模板的使用。引用模板函数和引用一般函数在语法形式上基本相同。需要注意的是说明一个函数模板后,当编译系统发现有一个对应的函数调用时

    5、,将根据实参中的类型来确认是否匹配函数模板中的对应形参。本题 C选项中,编译系统从第一个参数 “3”获得信息 “int”和从第二个参数获得信息 “double”两者矛盾,错误; A、 B选项正确; D选项中,函数名后的 是模板实参表,编译系统会将 double型的形参 “5 5”自动转化成 int类型。 【知识模块】 模板 3 【正确 答案】 D 【试题解析】 此题考查的是模板函数的调用。本题中 cast()函数的实参 i只能确定模板参数 U的类型为 int,而不能确定另外一个模板参数 T,故选项 A、 B错误; C+语言不允许隐式地将 int转化为 char*,故选项 C错误。 【知识模块】

    6、 模板 4 【正确答案】 D 【试题解析】 此题考查的是模板实参的省略。模板实参在以下集中情况中不能省略:从模板函数实参表获得的信息有矛盾;需要获得特定类型的返回值,而不管参数的类型如何;虚拟类型参数没有出现在模板函数的形参表中:函数模板含有常规形 参。 【知识模块】 模板 5 【正确答案】 C 【试题解析】 此题考查的是函数模板。声明一个函数模板的格式是: template函数声明, 函数体 其中的 是由一个或多个“模板形参 ”组成的,每个 “模板形参 ”可具有以下几种形式: typename参数名;class参数名;类型修饰参数名。 【知识模块】 模板 6 【正确答案】 A 【试题解析】

    7、此题考查的是函数模板。声明一个函数模板的格式是: template函数声明,其中的 是由一个或多个 “模板形参 ”组成的,每个 “模板形参 ”可具有以下几种形式: typename参数名; class参数名:类型修饰参数名。 【知识模块】 模板 7 【正确答案】 C 【试题解析】 此题考查的是模板。在 c+语言中,模板有两类:函数模板和类模板。 【知识模块】 模板 8 【正确答案】 B 【试题解析】 此题考查的是模板的概念。函数模板可以含有常规形参;函数模板的一个实例就是一个函数定义;类模板中的成员函数都是模板函数;在用类模板定义对象时,由于没有像函数实参表这 样的额外信息渠道,因此无法按函数

    8、模板的方式省略模板形参,但是可以为类模板的参数设置默认值。 【知识模块】 模板 9 【正确答案】 A 【试题解析】 此题考查的是函数模板的声明。声明一个函数模板的格式是:template函数声明:定义类模板的格式是: templateclass;。 【知识模块】 模板 10 【正确答案】 C 【试题解析】 在声明模板参数是,关键字 typename和 class是可以互换的,两者是等价的。但选项 C中说的 是模版声明,在类模板声明中,替换可能会引起麻烦。 【知识模块】 模板 11 【正确答案】 D 【试题解析】 在调用一个模板函数时,如果编译系统能够从模板实参表判断其中或全部虚拟类型参数对应的

    9、实际参数,而且它们正好是参数表中最后的若干参数,则模板实参表中的那几个参数可以省略。 【知识模块】 模板 12 【正确答案】 B 【试题解析】 声明一个函数模板的格式是: template,其中的 是由一个或多个 组成 (如果是多个 ,需要用逗号隔开 )。每个 具有下面的几种形式: typename class 由此可知,模板形参表必须用括弧 , 是由一个或多个模板形参组成。在定义类模板时,可以为模板形参表声明的最后若干个参数设置默认值。 【知识模块】 模板 14 【正确答案】 C 【试题解析】 对于函数模板,数据类型本身成了它的参数,是一种参数化类型的函数。对于类模板,数据类型本身成了它的参

    10、数,因而是一种参数化类型的类,是类的生成器。 【知识模块】 模板 15 【正确答案】 D 【试题解析】 虚拟类型参数 T1没有出现在模板函数的形参表中,因此在调用时不可能从模板函数的实参表中获得相应的信息, 因此 T1无法省略。而在选项 D中省略了。 【知识模块】 模板 16 【正确答案】 D 【试题解析】 函数模板是一系列相关函数的模型或样板,这些函数的源代码相同,只是所针对的数据类型不同。数据类型成了函数模板的参数,所以函数模板是一种参数化类型的函数。 【知识模块】 模板 17 【正确答案】 C 【试题解析】 根据函数模板的定义,在选项 C的调用中,把 double类型传递给T1, int

    11、型传递给 T2。 【知识模块】 模板 18 【正确答案】 D 【试题解析】 同一模板 的声明和定义中,模板形参的名字不必相同。每个模板类型形参前面必须带上关键字 typename class,每个非类型形参前面必须带上类型名字。 【知识模块】 模板 19 【正确答案】 B 【试题解析】 由题目中函数 swap(a,b, 10)调用语句可知,在对函数模板 swap的声明语句中,应将第一、二个参数设为数组变量,第三个参数为整型变量。 【知识模块】 模板 20 【正确答案】 B 【试题解析】 定义函数模板或类模板时,开头的保留字是 template。 【知识模块】 模板 21 【正确答案】 C 【试

    12、题解析】 按照函数模板 mySwap的定义,变量 x和 y应该是同一类型,而在选项 C的定义中变量 i1和 d1属于不同的数据类型。 【知识模块】 模板 22 【正确答案】 B 【试题解析】 此题考查了类模板的概念。在定义对象的过程中,系统会自动地根据需要生成相应的类定义,这种依据类模板生成具体类的过程称为类模板的实例化。 【知识模块】 模板 23 【正确答案】 A 【试题解析】 此题考查的是 class和 typename两个关键字。关键字 class除了能用来定义类以外还能用来声明模板的虚拟类型参数。在用作声明虚拟类型参数时typename与 class可以互换,但不能使用 typenam

    13、e来定义类;在模板形参表中除了可以用 typename和 class声明虚拟类型参数外,还可以使用普通类型声明常规函数,故选项 C错误。 【知识模块】 模板 24 【正确答案】 D 【试题解析】 此题考查的是模板参数。模板参数是一种参数化的数据。模型,在模板类或模板函数中,只要使用数据类型的地方都能使用模板参数来代表一种未知的数据类型。所以,模板参数可以作为成员 函数的局部变量类型。 【知识模块】 模板 25 【正确答案】 D 【试题解析】 第四个选项是定义类模板的,但是 class前面的 T是多余的。对于第二个选项,同一个类的对象相乘还是同一个类的对象,但是可能要考虑溢出的问题。 【知识模块

    14、】 模板 26 【正确答案】 C 【试题解析】 声明一个类模板的格式是: template。 【知识模块】 模板 27 【正确答案】 D 【试题解析】 在类模板中,数据类型本身成了它的参数,因而是一种参数化 类型的类,是类的生成器。声明一个类模板的格式是: template, 是由一个或多个模板形参组成。对于本题来说,模板形参表中包括类型 T1和 T2两个类型参数,而在选项 D中 T1说明其类型,而 T2没有说明其类型,与题干中的模板说明不一致。 【知识模块】 模板 28 【正确答案】 C 【试题解析】 p2是一个 double型的 MyTemp, p32是一个 long型 MyTemp数组,其中包括两个元素。所以共有 3个 MyTemp的实例。 【知识模块】 模 板 29 【正确答案】 D 【试题解析】 在定义对象的过程中,编译系统会自动地根据需要生成相应的类定义,这种依据类模板生成类定义的过程称为类模板的实例化。类模板实例化所生成的每一个类定义就是相应类模板的一个实例。 【知识模块】 模板 30 【正确答案】 D 【试题解析】 定义类模板的一般形式是: template class类名 类声明体 : 模板的类型参数由关键字 class或关键字 typename及其后的标识符构成。在模板参数表中关 键字 class和 typename的意义相同。 【知识模块】 模板


    注意事项

    本文([计算机类试卷]国家二级C++机试(模板)模拟试卷4及答案与解析.doc)为本站会员(ideacase155)主动上传,麦多课文档分享仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文档分享(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
    备案/许可证编号:苏ICP备17064731号-1 

    收起
    展开