[计算机类试卷]国家二级C++机试(选择题)模拟试卷66及答案与解析.doc
《[计算机类试卷]国家二级C++机试(选择题)模拟试卷66及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级C++机试(选择题)模拟试卷66及答案与解析.doc(23页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级 C+机试(选择题)模拟试卷 66及答案与解析 一、选择题 1 若有函数调用 “fun(x*y, 3, max(a, b, c)”,则 fun的实参个数为 ( )。 ( A) 3 ( B) 4 ( C) 5 ( D) 6 2 下列关于内联函数的叙述中,错误的是 ( )。 ( A)内联函数的定义必须出现在内联函数第一次被调用之前 ( B)内联函数主要解决程序的运行效率问题 ( C)类体中定义的函数都是内联函数 ( D)内联函数不能有参数 3 求 n阶勒让德多项式的递归函数定义如下: double P(double x, int n) if(n=0)return 1; if(n=1)ret
2、um x; if(n1)retum(2*n1)*xP(x, n一 1)一 (n一 1)*P(x, n一 2) n; 若执行函数调用表达式 P(1 3, 2),函数 P被调用的次数是 ( )。 ( A) 1 ( B) 2 ( C) 3 ( D) 4 4 有如下类定义: class MyClass public: MyClass(double d=0 0): val(d) _ 类型转换运算符 double的定义 private: double val; ; 若要使语句序列 MyClass x(2 1); cout using namespace std; elass Shape图形类 public
3、: 图形绘制函数 (用显示字母模拟 ) virtual void draw()eonsteoutdraw(); t draw(); plot(t); delete ps; retum 0; 运行这个程序的输出是 ( )。 ( A) SCC ( B) SCS ( C) CSS ( D) CCC 12 有如下类及函数的定义: class Wow int k; public: Wow(int n=0): k(n) int incre()retum+k; int deere(); void show()eonst; ; int Wow: deere()retum-k; inline void disp
4、lay(Wow w)w show(); void Wow: show()eonsteout using namespaee std; class CC int k; public: CC(int n): k(n) int get()constreturn k; ; int main() CC c3=CC(1), cc(2); retum 0; 此程序编译时未能通过,原因是 ( )。 ( A)数组只能定义为基本数据类型 ( B)类 CC缺少复制构造函数 ( C)对象数组只能作为类的数据成员 ( D)类 CC缺少默认的构造函数 15 有如下类声明和函数声明 class Base int m; pu
5、blic: int n; protected: int P; ; class Derived: public Base public: int k; ; void f(Derived d); 则在函数 f中通过 d可访问的数据成员包括 ( )。 ( A) n ( B) n和 k ( C) n、 k和 P ( D) n、 k、 P和 m 16 下列关于模板的表述中,错误的是 ( )。 ( A)模板形参表的两边使用尖括号括起来 ( B)模板以关键字 template开始 ( C)模板声明中的关键字 class都可以用关键字 typename替代 ( D)模板的形参表中可以有多个参数 17 要利用
6、C+流实现输入输出的各种格式控制,必须在程序中包含的头文件是( )。 ( A) fstream ( B) istream ( C) cstdlib ( D) iomanip 18 在下列标识符中,不属于文件流类的标识符是 ( )。 ( A) ifstream ( B) ofstream ( C) fstream ( D) operator 19 关于函数声明格式中的 ,下列叙述错误的是 ( A) 有可能包含关键字 true ( B) 有可能包含自定义标识符 ( C) 有可能包含字符 * ( D) 有可能包含关键字 float 20 下列关于运算符重载的叙述中,错误的是 ( A)不能通过运算符重
7、载在 C+ 中创建新的运算符 ( B)赋值运算符只能重载为成员函数 ( C)运算符函数重载为类的成员函数时,第一操作数是该类对象 ( D)重载类型转换运算符时,应声明返回类型为 void 21 下列运算符中,不能被重载的是 ( A) | ( B) += ( C) . ( D) - 22 下列叙述中正确的足 ( )。 ( A)循环队列是顺序存储结构 ( B)循环队列是链式存储结构 ( C)循环队列是非线性结构 ( D)循环队列的插入运算不会发生溢出现象 23 下列叙述中正确的是 ( )。 ( A)所有数据结构必须有根结点 ( B)所有数据结构必须有终端结点 (即叶子结点 ) ( C)只有一个根结
8、点,且只有一个叶子结点的数据结构一定是线性结构 ( D)没有根结点或没有叶子结点的数据结构一定是非线性结构 24 下列关于算法的描述中错误的是 ( ) ( A)算法强调动态的执行过程,不同于静态的计算公式 ( B)算法必须能在有限个步骤之后终止 ( C)算法设计必须考虑算法的复杂度 ( D)算法的优劣取决于运行算法程序的环境 25 在线性表的顺序存储结构中,其存储空间连续,各个元素所占的字节数 ( )。 ( A)相同,元素的存 储顺序与逻辑顺序一致 ( B)相同,但其元素的存储顺序可以与逻辑顺序不一致 ( C)不同,但元素的存储顺序与逻辑顺序一致 ( D)不同,且其元素的存储顺序可以与逻辑顺序
9、不一致 26 设二叉树如下: 则中序序列为 ( )。 ( A) ABDEGCFH ( B) DBGEAFHC ( C) DGEBHFCA ( D) ABCDEFGH 27 下面不属于软件需求分析阶段工作的是 ( )。 ( A)需求获取 ( B)需求计划 ( C)需求分析 ( D)需求评审 28 下面不属于黑盒测试方法的是 ( )。 ( A)边界值分析法 ( B)基本路径测试 ( C)等价类划分法 ( D)错误推测法 29 在数据库系统中,数据模型包括概念模型、逻辑模型和 ( )。 ( A)物理模型 ( B)空间模型 ( C)时间模型 ( D)数据模型 30 若实体 A和 B是一对一的联系,实体
10、 B和 c是多对一的联系,财实体 A和 c的联系是 ( )。 ( A)多对一 ( B)一对多 ( C)一对一 ( D)多对多 31 某二叉树中共有 935个结点,其中叶子结点有 435个,则该二叉树中度为 2的结点个数为 ( )。 ( A) 64 ( B) 66 ( C) 436 ( D) 434 32 下列描述中,属于面向对象思想主要特征的是 ( )。 ( A)继承性 ( B)灵活性 ( C)可重用性 ( D)健壮性 33 有如下程序段: int i=10; while(1) i+: if(i=30)13reak; if(i 2=0)cout*; 执行这个程序段输出字符木的个数是 ( )。
11、( A) 20 ( B) 8 ( C) 9 ( D) 10 34 下列字 符中,可以出现在合法的 C+标识符中的是 ( )。 ( A): ( B) ( C) & ( D) 1 35 下列叙述中,错误的是 ( )。 ( A) false是一个逻辑型常量 ( B) n是一个字符型常量 ( C) 1481是一个 int常量 ( D) 1 414是一个 double常量 36 若 x和 y是程序中的两个整型变量,则下列 if语句中合法的是 ( )。 ( A) if(x)y=1; else y: 2; ( B) if(O)y=1 else y=2; ( C) if(x!=0)then y=1 else
12、y=2; ( D) if x!=0 y=1; else y=2; 37 若有定义语句 “double a=2 3; ”,则输出 a的结果是 ( )。 ( A) 0 66666667 ( B) 0 666667 ( C) 0 7 ( D) 0 38 下列关于函数原型声明的叙述中,正确的是 ( )。 ( A)在函数原型中不必声明形参列表 ( B)在函数原型中不必声明形参个数 ( C)在函数原型中不必声明形参类型 ( D)在函数原型中不必声明形参名称 39 若已经声明了函数 “int fun(int x, int y=0); ”,则下列重载函数声明中,正确的是 ( )。 ( A) double fu
13、n(const int x, int y); ( B) int fun(int x); ( C) int fun(int a, int b); ( D) jnt fun(int x, int y, int z); 40 下列运算符中,不能作为成员函数重载的是 ( )。 ( A) + ( B) = ( C) (流运算符 ) ( D) | 国家二级 C+机试(选择题)模拟试卷 66答案与解析 一、选择题 1 【正确答案】 A 【试题解析】 函数 fun的实参分别是: x水 y的结果、 3、 max函数的返回值,实参个数为 3。答案为 A。 2 【正确答案】 D 【试题解析】 内联函数的函数定义必须
14、出现在内联函数第一次被调用之前;内联函数可以避免函数频繁调用时的开销,提高程序运行效率;在类定义体内部定义的成员函数,编译器都将其视为内联函数; A、 B、 C正确;内联函数也可以有参数, D错误,答案为 D。 3 【正确答案】 C 【试题解析】 首先执行调用 P(1 3, 2);由于 n=2,大于 1,所以需要递归调用P(1 3, 1)和 P(1 3, 0),此时 n的值或者是 0,或者是 1,函数 P返回。所以函数 P被调用 3次,答案为 C。 4 【正确答案】 A 【试题解析】 题目需要定义类型转换运算符 double,类型转换运算符是一种特殊的类成员函数,它定义将类类型的值转变为其他类
15、型值,由于转换函数必须是成员函数,选项 B、 D错误;另外转换函数不能指定返回类型,并且形参列表必须为空,选项 C错误;所以 double类型转换运算符的定义为: operator double()constreturn val; 答案为 A。 5 【正确答案】 A 【试题解析】 常对象是指对象的数据成员的值在对象被调用时不能被改变,常对象必须进行初始化,且不能被更新,不能通过常对象调用普通成员函数,常对象只能调用常成员函数,选项 B、 D错误;常对象是可以包含普通成员的,选项 C错误;答案为 A。 6 【正确答案】 B 【试题解析】 C+中,关键字 public、 protected、 pr
16、ivate用来声明类的访问权限,另外 friend关键字可以用来声明友元,同样可以控制类的访问权限; const用来修饰常量性,与类的访问权限无关,答案为 B。 7 【正确答 案】 B 【试题解析】 定义一个 ClassA类型的对象 c1,生成新对象 c1,调用默认构造函数;定义一个 ClassA类型的指针 c2,指针未赋初值,没有新对象生成,没有调用构造函数;定义一个 ClassA类型的指针 c3,使用动态分配方式为 c3分配内存,生成新的对象,将 c3初始化为新对象的地址,调用默认构造函数;定义一个ClassA类型的引用 c4,引用 c1对象,没有新对象生成,未调用构造函数;答案为B。 8
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 机试 选择题 模拟 66 答案 解析 DOC
