[计算机类试卷]国家二级(C++)机试模拟试卷178及答案与解析.doc
《[计算机类试卷]国家二级(C++)机试模拟试卷178及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C++)机试模拟试卷178及答案与解析.doc(27页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C+)机试模拟试卷 178及答案与解析 一、选择题 1 下列关于栈叙述正确的是 ( )。 ( A)栈顶元素最先能被删除 ( B)栈顶元素最后才能被删除 ( C)栈底元素永远不能被删除 ( D)栈底元素最先被删除 2 下列叙述中正确的是 ( )。 ( A)在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化 ( B)在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化 ( C)在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化 ( D)以上说法都不正确 3 某二叉树共 有 7个结点,其中叶子结点只有 1个,则该二 -X树的深度为 (假设根结点在第 1层 )( ) ( A)
2、3 ( B) 4 ( C) 6 ( D) 7 4 软件按功能可以分为应用软件、系统软件和支撑软件 (或工具软件 )。下面属于应用软件的是 ( )。 ( A)学生成绩管理系统 ( B) C语言编译程序 ( C) UNIX操作系统 ( D)数据库管理系统 5 结构化程序所要求的基本结构不包括 ( )。 ( A)顺序结构 ( B) GOTO跳转 ( C)选择 (分支 )结构 ( D)重复 (循环 )结构 6 下面描述中错 误的是 ( )。 ( A)系统总体结构图支持软件系统的详细设计 ( B)软件设计是将软件需求转换为软件表示的过程 ( C)数据结构与数据库设计是软件设计的任务之一 ( D) PAD
3、图是软件详细设计的表示工具 7 负责数据库中查询操作的数据库语言是 ( )。 ( A)数据定义语言 ( B)数据管理语言 ( C)数据操纵语言 ( D)数据控制语言 8 一个教师可讲授多门课程,一门课程可由多个教师讲授。则实体教师和课程间的联系是 ( )。 ( A) 1: 1联系 ( B) 1: m联系 ( C) m: 1联 系 ( D) m: n联系 9 有三个关系 R、 S和 T如下:则由关系 R和 S得到关系 T的操作是 ( )。 ( A)自然连接 ( B)并 ( C)交 ( D)差 10 定义无符号整数类为 UInt,下面可以作为类 UInt实例化值的是 ( )。 ( A) 369 (
4、 B) 369 ( C) 0 369 ( D)整数集合 1, 2, 3, 4, 5 11 C语言对 C语言做了很多改进, C语言相对于 C语言的最根本的变化是 ( )。 ( A)增加了一些新的运算符 ( B)允许函数重载,并允许设置默认参数 ( C)规定函数说明符必须用原型 ( D)引进了类和对象的概念 12 下列 ( )是 C语言的有效标识符。 ( A) _Nol ( B) No 1 ( C) 12345 ( D) int 13 设有定义 int x; float y;,则 10 x y值的数据类型是 ( )。 ( A) int ( B) double ( C) float ( D)不确定
5、14 下列程序的执行结果为 ( )。 #include iostream h void main( ) int a 3, b 0; int * p a; b a: cout *p “, “ b end1; ( A) 3, 4 ( B) 4, 3 ( C) 3, 4 ( D) 4, 4 15 下面程序的运行结果为 ( )。 #include iostream h void main( ) for(int a 0, x 0; !x&a 10; a ) a: cout a end1; ( A) 10 ( B) 11 ( C) 12 ( D) 0 16 下面有关 for循环的正确描述是 ( )。 (
6、A) for循环只能用于循环次数已经确定的情况 ( B) for循环是先执行循环体语句,后判断表达式 ( C)在 for循环中,不能用 break语句跳出循环体 ( D)在 for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来 17 以下程序中调用 cin函数给变量 a输入数值的方法是错误的,其错误原因是( )。 #include iostream h void main( ) int * p, *q, a, b; p &a; cout “input a: “: cin p; ( A) *p表示的是指针变量 p的地址 ( B) p表示的是变量 a的地址,而不是变量 a的值 ( C)
7、 *P表示的是指针变量 P的值 ( D) *P只能用来说明 P是一个指针变量 18 假定 int类型变量占用两个字节,其有定义 int x10 0, 2, 4;则数组 x在内存中所占字节数是 ( )。 ( A) 13 ( B) 6 ( C) 10 ( D) 20 19 下列选 项,不正确的是 ( )。 ( A) for(int a 1; a 10; a ); ( B) int a 1; do a; while(a 10); ( C) int a 1; while(a 10) a: ( D) for(int a 1; a 10; a )a; 20 下面关于数组的初始化正确的是 ( )。 ( A)
8、 char str a, b, c ( B) char str2 a, b, c ( C) char str23 a, b, c, d, e, f ( D) char str( ) a, b, c 21 下列程序的输出结果为 ( )。 #include iostream h void main( ) char*a “hello“, “the“, “world“; char * * pa a: pa; cout * pa end1: ( A) hello ( B) the ( C) world ( D) hellotheworld 22 决定 C语言中函数的返回值类型的是 ( )。 ( A) r
9、eturn语句中的表达式类型 ( B)调用该函数时系统随机产生的类型 ( C)调用该函数时的主调用函数类型 ( D)在定义该函数时所指定的数据类型 23 有以下程序: 椭 nclude iostream h void fun(int a, int b, int c) a 456, b 567, c 678; void main() int x 10, y 20, z 30; fun(x, y, z); cout x , y , z end1; 输出结果是 ( )。 ( A) 30, 20, 10 ( B) 10, 20, 30 ( C) 456, 567, 678 ( D) 678, 567,
10、 456 24 以下叙述正确的是 ( )。 ( A)函数可以嵌套定义但不能嵌套调用 ( B)函数既可以嵌套调用也可以嵌套定义 ( C)函 数既不可以嵌套定义也不可以嵌套调用 ( D)函数可以嵌套调用但不可以嵌套定义 25 下列程序的输出结果是 ( )。 #include iostream h int min(int a, int b) if(a b) return a; else return b; return 0; void main( ) coutmin(1, min(2, 3) end1; ( A) 0 ( B) 1 ( C) 2 ( D) 3 26 下列程序的运行结果为 ( )。 衔
11、 nclude iostream h void print(double a) cout a: void print(int a, int b) cout b a: void main( ) print(1 2); cout “ “: print(3, 4); ( A) 1 2 34 ( B) 2 2 34 ( C) 1 2 43 ( D) 2 2 43 27 对类成员访问权限的控制,是通过设置成员的访问控制属性实现的,下列不是访问控制属性的是 ( )。 ( A)公有类型 ( B)私有类型 ( C)保护类型 ( D)友元类型 28 在类的定义中,用于为对象分配内存空间,对类的数据成员进行初始化
12、并执行其他内部管理操作的函数是 ( )。 ( A)友元函数 ( B)虚函数 ( C)构造函数 ( D)析构函数 29 类的析构函数的作用是 ( )。 ( A)一般成员函数的初始化 ( B)类的初始化 ( C)对象的初始化 ( D)删除类创建的对象 30 下列说法正确的是 ( )。 ( A)内联函数在运行时是将该函数的目标代码插入每个调用该函数的地方 ( B)内联函数在编译时是将该函数的目标代码插入每个调用该函数的地方 ( C)类的内联函数必须在类体内定义 ( D)类的内联函数必须在类体外通过加关键字 inline定义 31 下面对静态数据成员的描述中,正确的是 ( )。 ( A)静态数据成员可
13、以在类体内进行初始化 ( B)静态数据成员不可以被类的对象调用 ( C)静态数据 成员不能受 private控制符的作用 ( D)静态数据成员可以直接用类名调用 32 下面对于友元函数描述正确的是 ( )。 ( A)友元函数的实现必须在类的内部定义 ( B)友元函数是类的成员函数 ( C)友元函数破坏了类的封装性和隐藏性 ( D)友元函数不能访问类的私有成员 33 在公有派生情况下,有关派生类对象和基类对象的关系,下列叙述不正确的是( )。 ( A)派生类的对象可以赋给基类的对象 ( B)派生类的对象可以初始化基类的引用 ( C)派生类的对象可以直接访问基类中的成员 ( D)派生类的对象的地址
14、可以赋给指向基类的指针 34 下面程序的运行结果为 ( )。 #include lostream h class A public: A( ) cout “1“; A( )cout “2“; ; class B: public A public: B( )tout “3“; B( )cout “4“; ; void main( ) B b: ( A) 1234 ( B) 1324 ( C) 1342 ( D) 3142 35 下列关于虚基类的描述,错误的是 ( )。 ( A)设置虚基类的目的是为了消除二义性 ( B)虚基类的构造函数在非虚基类之后调用 ( C)若同一层中包含多个虚基类,这些虚基
15、类的构造函数按它们说明的次序调用 ( D)若虚基类由非虚基类派生而来,则仍然先调用基类构造函数,再调用派生类的构造函数 36 下列关于多态性的描述,错误的是 ( )。 ( A) C语言中的多态性分为编 译时的多态性和运行时的多态性 ( B)编译时的多态性可通过函数重载实现 ( C)运行时的多态性可通过模板和虚函数实现 ( D)实现运行时多态性的机制称为动态绑定 37 下列运算符中,在 C语言中不能重载的是 ( )。 ( A) * ( B) ( C) ( D) 38 当使用 fstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为 ( )。 ( A) ios in ( B) i
16、os out ( C) ios in ios out ( D)以上都不对 39 下列程序的运行 结果是 ( )。 #include iostream h class A int a: public: A( )a 0; A(int aa) a aa; cout a: ; void main( ) A x, y(2), z(3); cout end1: ( A) 00 ( B) 23 ( C) 34 ( D) 25 40 下面程序的输出结果 是 ( )。 #include iostream h class example int a: public: example(int b)a b; void
17、 print( )a a 1; cout a “ “; void print( )constcout a “ “; ; void main( ) example x(3); const example y(2); x print( ); y print( ); ( A) 2 2 ( B) 4 3 ( C) 4 2 ( D) 3 2 二、基本操作题 41 请使用 VC6或使用【答题】菜单打开考生文件夹 proj1下的工程 proj1,该工程含有一个源程序文件 proj1 cpp。其中位于每个注释 “ ERROR *found*”之后的一行语句存在错误。请改正这些错误,使程序的输出结果为: The
18、 value is 10 注意:只修改注释 “ ERROR *found*”的下一行语句,不要改动程序中的其他内容。 proj1 cpp #include iostream using namespace std; class MyClass int value; public: ERROR *found* void MyClass(int val): value(val) int GetValue()eonstreturn value; void SetValue(int val); ; ERROR*found* inline void SetValue(int val)value val;
19、 int main() MyClass obj(0); obj SetValue(10); ERROR*found*下列语句功能是输出 obj的成员 value的值 cout “The value is“ obj value end1: return 0: 三、简单应用题 42 请使用 VC6或使用【答题】菜单打开考生文件夹 proj2下的工程 proj2,其中定义了 vehicle类,并派生出 motorcar类和 bicycle类。然后以 motorcar和 bicycle作为基类,再派生出 motorcycle类。要求将 vehicle作为虚基类,避免二义性问题。请在程序中的横线处填写适
20、当的代码并删除横线,以实现上述类定义。此程序的正确输出结果应为: 80 150 100 1 注意:只能在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动 “ *found*”。 #include iostream h class vehicle private: int MaxSpeed; int Weight; public: *found* vehicle(int maxspeed, int weight): _ vehicle( ) ; int getMaxSpeed( ) return MaxSpeed; int getWeight( ) return Weight;
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 模拟 178 答案 解析 DOC
