计算机类 二级 C++
07年计算机等级考试二级C++笔试模拟试题(2) 49 题 含答案 C++
1 单选题 1 / 49
已知一棵二叉树前序遍历和中序遍历分别为ABDEGCFH和DBGEACHF,则该二叉树的后序遍历为
A GEDHFBCA B DGEBHFCA C ABCDEFGH D ACBFEDHG
查看答案 B. DGEBHFCA
2 单选题 2 / 49
树是节点的集合,它的根节点数目是
A 有且只有1 B 1或多于1 C 0或1 D 至少2
查看答案 A. 有且只有1
3 单选题 3 / 49
如果进栈序列为el,e2,e3,e4,则可能的出栈序列是
A e3,el,e4,e2 B e2,e4,e3,el C e3,e4,e1,e2 D 任意顺序
查看答案 B. e2,e4,e3,el
4 单选题 4 / 49
在设计程序时,应采纳的原则之一是
A 不限制goto语句的使用 B 减少或取消注解行 C 程序越短越好 D 程字结构应有助于读者理解
查看答案 D. 程字结构应有助于读者理解
5 单选题 5 / 49
程序设计语言的基本成分是数据成分、运算成分、控制成分和
A 对象成分 B 变量成分 C 语句成份 D 传输成分
查看答案 D. 传输成分
6 单选题 6 / 49
下列叙述中,不属于软件需求规格说明书的作用的是
A 便于用户、开发人员进行理解和交流 B 反映出用户问题的结构,可以作为软件开发工作的基础和依据 C 作为确认测试和验收的依据 D 便于开发人员进行需求分析
查看答案 D. 便于开发人员进行需求分析
7 单选题 7 / 49
下列不属于软件工程的3个要素的是
A 工具 B 过程 C 方法 D 环境
查看答案 D. 环境
8 单选题 8 / 49
单个用户使用的数据视图的描述称为
A 外模式 B 概念模式 C 内模式 D 存储模式
查看答案 A. 外模式
9 单选题 9 / 49
将E-R图转换到关系模式时,实体与联系都可以表示成
A 属性 B 关系 C 键 D 域
查看答案 B. 关系
10 单选题 10 / 49
SQL语言又称为
A 结构化定义语言 B 结构化控制语言 C 结构化查询语言 D 结构化操纵语言
查看答案 C. 结构化查询语言
11 单选题 11 / 49
下面关于类和对象的描述中,错误的是
A 类就是C语言中的结构体类型,对象就是C语言中的结构体变量 B 类和对象之间的关系是抽象和具体的关系 C 对象是类的实例,一个对象必须属于一个已知的类 D 类是具有共同行为的若干对象的统一描述体
查看答案 A. 类就是C语言中的结构体类型,对象就是C语言中的结构体变量
12 单选题 12 / 49
以下各选项组中,均是C++语言关键字的组是
A public operator this B shod string static C it while>= D private cout printf
查看答案 A. public operator this
13 单选题 13 / 49
设int a=10,b=11,c=12;,表达式(a+b)
A 2 B 0 C -2 D 1
查看答案 B. 0
14 单选题 14 / 49
下列描述正确的是
A 表示m>n为true或mn&&m B switch语句结构中必须有default语句 C if语句结构中必须有else语句 D 如果至少有一个操作数为true,则包含“‖”运算符的表达式为true
查看答案 D. 如果至少有一个操作数为true,则包含“‖”运算符的表达式为true
15 单选题 15 / 49
下列语句中不是死循环的是
A int i=10; B for( int i=1:i<10;i++) while(1) { } i--; i--; } if(i==1)break; } C int i=0; D int i=1; do{ for(;;)i=i+1; i++; }while(i>=0):
查看答案 A. int i=10;
16 单选题 16 / 49
下面关于break语句的描述中,不正确的是
A break可以用于循环体内 B break语句可以在for循环语句中出现多次 C break语句可以在switch语句中出现多次 D break语句可用于if条件判断语句内
查看答案 D. break语句可用于if条件判断语句内
17 单选题 17 / 49
下面关于数组的描述错误的是
A 在C++语言中数组的名字就是指向该数组第一个元素的指针 B 长度为n的数组,下标的范围是0-n-1 C 数组的大小必须在编译时确定 D 数组只能通过值参数和引用参数两种方式传递给函数
查看答案 D. 数组只能通过值参数和引用参数两种方式传递给函数
18 单选题 18 / 49
下面程序错误的语句是 ①#include ②void main() ③{ ④int*p=new int[1]; ⑤p=9; ⑥cout <<*p< ⑦delete[]p ⑧}
A ④ B ⑤ C ⑥ D ⑦
查看答案 B. ⑤
19 单选题 19 / 49
下面的哪个选项不能作为函数的返回类型?
A void B int C new D long
查看答案 C. new
20 单选题 20 / 49
不能作为重载函数的调用的依据是
A 参数个数 B 参数类型 C 函数类型 D 函数名称
查看答案 C. 函数类型
21 单选题 21 / 49
下列程序的输出结果为 #include< iostream. h> int func(int n) { if〔n<1)return 1; else return n+tune(n-1): return 0; } void main() { cout<
A 0 B 10 C 15 D 16
查看答案 D. 16
22 单选题 22 / 49
在C++语言中,数据封装要解决的问题是
A 数据的规范化 B 便于数据转换 C 避免数据丢失 D 防止不同模块之间数据的非法访问
查看答案 D. 防止不同模块之间数据的非法访问
23 单选题 23 / 49
以下程序中,错误的行是 ①#include ②class A ③{ ④ public: ⑤ int n=2: ⑥ A( int val){cout< ⑦ ~A(){}; ⑧}; ⑨void main() ⑩{ ⑩ A a(0); ⑩}
A ⑤ B ⑥ C ⑦ D ⑩
查看答案 A. ⑤
24 单选题 24 / 49
对类的构造函数和析构函数描述正确的是
A 构造函数可以重载,析构函数不能重载 B 构造函数不能重载,析构函数可以重载 C 构造函数可以重载,析构函数也可以重载 D 构造函数不能重载,析构函数也不能重载
查看答案 A. 构造函数可以重载,析构函数不能重载
25 单选题 25 / 49
下面程序的运行结果为 #include(iostream. h> class A { int num; public: A(int i){num=i;} A(A &a){num=a. num++;} void print(){cout< }; void main() { A a(1),b(a); a. print(); b.print();
A 11 B 12 C 21 D 22
查看答案 C. 21
26 单选题 26 / 49
下面对静态数据成员的描述中,正确的是
A 静态数据成员是类的所有对象共享的数据 B 类的每个对象都有自己的静态数据成员 C 类的不同对象有不同的静态数据成员值 D 静态数据成员不能通过类的对象调用
查看答案 A. 静态数据成员是类的所有对象共享的数据
27 单选题 27 / 49
如果类A被说明成类B的友元,则
A 类A的成员即类B的成员 B 类B的成员即类A的成员 C 类A的成员函数不得访问类B的成员 D 类B不一定是类A的友元
查看答案 D. 类B不一定是类A的友元
28 单选题 28 / 49
可以用p.a的形式访问派生类对象P的基类成员a,其中a是
A 私有继承的公有成员 B 公有继承的私有成员 C 公有继承的保护成员 D 公有继承的公有成员
查看答案 D. 公有继承的公有成员
29 单选题 29 / 49
建立派生类对象时,3种构造函数分别是a(基类的构造函数)、b(成员对象的构造函数)、c(派生类的构造函数)这3种构造函数的调用顺序为
A abc B acb C cab D cba
查看答案 A. abc
30 单选题 30 / 49
下面关于虚函数的描述,错误的是
A 在成员函数声明的前面加上virtual修饰,就可把该函数声明为虚函数 B 基类中说明了虚函数后,派生类中对应的函数也必须说明为虚函数 C 虚函数可以是另一个类的友元函数,但不能是静态成员函数 D 基类中说明的纯虚函数在其任何派生类中都必须实现
查看答案 B. 基类中说明了虚函数后,派生类中对应的函数也必须说明为虚函数
31 单选题 31 / 49
下面关于模板的描述,错误的是
A 函数模板和类模板的参数可以是任意的数据类型 B 类模板不能直接使用,必须先实例化为相应的模板类.然后定义了模板类的对象后才能使用 C 函数模板不能直接使用,需要实例化为模板函数后才能使用 D 类模板的成员函数都是模板函数
查看答案 A. 函数模板和类模板的参数可以是任意的数据类型
32 单选题 32 / 49
语句ofstream f(”SALARY. DAT",ios::app iios::binary);的功能是建立流对象f,试图打开文件SAL:aRY. D AT并与之连接,并且
A 若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件 B 若文件存在,将其置为空文件;若文件不存在,打开失败 C 若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件 D 若文件存在,打开失败;若文件不存在,建立一个新文件
查看答案 A. 若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件
33 单选题 33 / 49
下面程序的运行结果是 #include void main() { int num=1; int &ref=num: ref=ref+2; cout<(num; num=num+3; cout< }
A 13 B 16 C 36 D 33
查看答案 C. 36
34 单选题 34 / 49
下面程序的运行结果是 #include void fun(int*a,int*b) { int x=*a *a=,b;*b=x; cout<<*a<<*b<<” ”; } void main() { int x=1,y=2; fun(&x,&y); cout< }
A 12 12 B 12 21 C 21 12 D 21 21
查看答案 D. 21 21
35 单选题 35 / 49
下列程序的运行结果为 #include int i=0; class A{ public: A()}i++;} }; void main() { Aa,b[3],*c; c=b: cout< }
A 2 B 3 C 4 D 5
查看答案 C. 4
36 填空题 36 / 49
数据结构分为逻辑结构与存储结构,线性链表属于__ 。
查看答案 存储结构
37 填空题 37 / 49
在面向对象方法中,类之间共享属性和操作的机制称为__ 。
查看答案 继承
38 填空题 38 / 49
耦合和内聚是评价模块独立性的两个主要标准.其中__ 反映了模块内各成份之间的联系。
查看答案 一对多(或1:N)
39 填空题 39 / 49
一个项目具有一个项目主管一个项目主管可管理多个项目,则实体“项目主管”与实体“项目”的联系属于__ 的联系。
查看答案 计算机管理
40 填空题 40 / 49
数据库设计分为以下6个设计阶段:需求分析阶段、__ 、逻辑设计阶段、物理设设计阶段、实施阶段、运行和维护阶段。
查看答案 数据库概念设计阶段
41 填空题 41 / 49
开发一个C++语言程序的步骤通常包括编辑、 __ 、链接、运行和调试。
查看答案 编译
42 填空题 42 / 49
假设int a=1,b=2;则表达式a+++--b的值为 __ 。
查看答案 2
43 填空题 43 / 49
下面程序的输出结果为__ 。 #include void main() { int num=0,i=8; do{ i--; num++; }while(--i): cout< }
查看答案 4
44 填空题 44 / 49
通过使用new和delete两个运算符进行的分配为 __ 存储分配。
查看答案 动态
45 填空题 45 / 49
下面程序的运行结果为 __ 。 #include(iostream. h> void fun(int x=0,int y=0) { cout< } void main() { fun(5); }
查看答案 50
46 填空题 46 / 49
在C++语言中,访问一个对象的成员所用的运算符是 __ ,访问一个指针所指向的对象的成员所用的运算符是__ 。
查看答案 成员选择运算符(或”.”) 成员访问运算符(或”->”) 47 填空题 47 / 49
C++语言支持的两种多态性分别是编译时的多态性和 __ 的多态性。
查看答案 运行时
48 填空题 48 / 49
重载的运算符保持其原有的__ 、优先级和结合性不变。
查看答案 操作符个数
49 填空题 49 / 49
cout. put( 'A');,还可以表示为 __ 。
查看答案 cout<<‘A’;