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