计算机类 二级 C++
全国计算机等级考试 二级C++ 笔试模拟试题(九) 48 题 含答案 C++
1 单选题 1 / 48
在深度为5的满二叉树中,叶子结点的个数为
A 32 B 31 C 16 D 15
查看答案 B. 31
2 单选题 2 / 48
若某二叉树的前序遍历访问顺序是abdgcefh,中序遍历访问顺序是dgbaechf,则其后序遍历的结点访问顺序是
A bdgcefha B gdbecfha C bdgaechf D gdbehfca
查看答案 D. gdbehfca
3 单选题 3 / 48
一些重要的程序语言(如C语言和Pascal语言)允许过程的递归调用。而实现递归调用中的存储分配通常用
A 栈 B 堆 C 数组 D 链表
查看答案 A. 栈
4 单选题 4 / 48
软件工程的理论和技术性研究的内容主要包括软件开发技术和
A 消除软件危机 B 软件工程管理 C 程序设计自动化 D 实现软件可重用
查看答案 B. 软件工程管理
5 单选题 5 / 48
开发软件时对提高开发人员工作效率至关重要的是
A 操作系统的资源管理功能 B 先进的软件开发工具和环境 C 程序人员的数量 D 计算机的并行处理能力
查看答案 B. 先进的软件开发工具和环境
6 单选题 6 / 48
在软件测试设计中,软件测试的主要目的是
A 实验性运行软件 B 证明软件正确 C 找出软件中全部错误 D 发现软件错误而执行程序
查看答案 D. 发现软件错误而执行程序
7 单选题 7 / 48
数据处理的最小单位是
A 数据 B 数据元素 C 数据项 D 数据结构
查看答案 C. 数据项
8 单选题 8 / 48
索引属于
A 模式 B 内模式 C 外模式 D 概念模式
查看答案 B. 内模式
9 单选题 9 / 48
下述关于数据库系统的叙述中正确的是
A 数据库系统减少了数据冗余 B 数据库系统避免了一切冗余 C 数据库系统中数据的一致性是指数据类型一致 D 数据库系统比文件系统能管理更多的数据
查看答案 B. 数据库系统避免了一切冗余
10 单选题 10 / 48
数据库系统的核心是
A 数据库 B 数据库管理系统 C 模拟模型 D 软件工程
查看答案 B. 数据库管理系统
11 单选题 11 / 48
下列关于C++语言类的描述中错误的是
A 类用于描述事物的属性和对事物的操作 B 类与类之间通过封装而具有明确的独立性 C 类与类之间必须是平等的关系,而不能组成层次结构 D 类与类之间可以通过一些方法进行通信和联络
查看答案 C. 类与类之间必须是平等的关系,而不能组成层次结构
12 单选题 12 / 48
C++语言中,表示一条语句结束的标号是
A # B ; C // D }
查看答案 B. ;
13 单选题 13 / 48
以下叙述中正确的是
A 构成C++语言程序的基本单位是类 B 可以在一个函数中定义另一个函数 C main()函数必须放在其他函数之前 D 所有被调用的函数一定要在调用之前进行定义
查看答案 A. 构成C++语言程序的基本单位是类
14 单选题 14 / 48
已知有定义 const int D=5; int i=1; double f=0.32; char c=15; 则下列选项错误的是
A ++i; B D--; C c++; D --f;
查看答案 B. D--;
15 单选题 15 / 48
以下程序的输出结果是 #include<iostream.h> void reverse(int a[],int n) { int i,t; for(i=0;i<n/2;i++) { t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;} } void main() { int b[10]={1,2,3,4,5,6,7,8,9,10}; int i,s=0; reverse(b,8); for(i=6;i<10;i++)s+=b[i]; cout << s; }
A 22 B 10 C 34 D 30
查看答案 A. 22
16 单选题 16 / 48
下面程序的功能是把316表示为两个加数的和,使两个加数分别能被13和11整除,在划线处应填入的选项是 #include <iostream.h> void main() { int i=0,j,k; do{ i++;k=316-13*i;} while( ); j=k/11; cout << "316=13*"<<i<<"+11*"<< j; }
A k/11 B k%11 C k/11==0 D k%11==0
查看答案 B. k%11
17 单选题 17 / 48
设有数组定义: char array[]="China";,则数组 array所占的空间为
A 4个字节 B 5个字节 C 6个字节 D 7个字节
查看答案 C. 6个字节
18 单选题 18 / 48
若已定义: int a[]={0,1,2,3,4,5,6,7,8,9}, *p=a,i; 其中 0≤i≤9, 则对a数组元素不正确的引用是
A a[p-a] B *(&a[i]) C p[i] D a[10]
查看答案 D. a[10]
19 单选题 19 / 48
以下程序的输出结果是 #include<iostream.h> void main() { int x=1,y=3; cout << x++ << ","; { int x=0;x+=y*2; cout << x <<"," << y << ","; } cout << x <<"," << y; }
A 1,6,3,1,3 B 1,6,3,6,3 C 1,6,3,2,3 D 1,7,3,2,3
查看答案 C. 1,6,3,2,3
20 单选题 20 / 48
函数fun的返回值是 fun(char *a,char *b) { int num=0,n=0; while(*(a+num)!=′\0′)num++; while(b[n]){*(a+num)=b[n];num++;n++;} return num; }
A 字符串a的长度 B 字符串b的长度 C 字符串a和b的长度之差 D 字符串a 和b的长度之和
查看答案 D. 字符串a 和b的长度之和
21 单选题 21 / 48
下面程序输出的结果是 #include<iostream.h> void main() { int i; int a[3][3]={1,2,3,4,5,6,7,8,9}; for(i=0;i<3;i++) cout << a[2-i][i]<<""; }
A 1 5 9 B 7 5 3 C 3 5 7 D 5 9 1
查看答案 B. 7 5 3
22 单选题 22 / 48
下面程序的结果为 #include<iostream.h> int c; class A { private: int a; static int b; public: A(){a=0; c=0;} void seta(){a++;} void setb(){b++;} void setc(){c++;} void display(){cout << a << " " << b << " " << c;} }; int A::b = 0; void main() { A a1,a2; a1.seta(); a1.setb(); a1.setc(); a2.seta(); a2.setb(); a2.setc(); a2.display(); }
A 1 2 1 B 1 2 2 C 1 1 2 D 2 2 2
查看答案 B. 1 2 2
23 单选题 23 / 48
下列描述中哪个是正确的?
A 私有派生的子类无法访问父类的成员 B 类A的私有派生子类的派生类C无法初始化其祖先类A对象的属性,因为类A的成员对类C是不可访问的 C 私有派生类不能作为基类派生子类 D 私有派生类的所有子孙类将无法继续继承该类的成员
查看答案 B. 类A的私有派生子类的派生类C无法初始化其祖先类A对象的属性,因为类A的成员对类C是不可访问的
24 单选题 24 / 48
下列关于构造函数说法不正确的是
A 构造函数必须与类同名 B 构造函数可以省略不写 C 构造函数必须有返回值 D 在构造函数中可以对类中的成员进行初始化
查看答案 C. 构造函数必须有返回值
25 单选题 25 / 48
如果友元函数重载一个运算符时,其参数表中没有任何参数则说明该运算符是
A 一元运算符 B 二元运算符 C 选项A)和选项B)都可能 D 重载错误
查看答案 D. 重载错误
26 单选题 26 / 48
在重载一个运算符时,如果其参数表中有一个参数,则说明该运算符是
A 一元成员运算符 B 二元成员运算符 C 一元友元运算符 D 选项B)和选项C)都可能
查看答案 D. 选项B)和选项C)都可能
27 单选题 27 / 48
下列关于模板的说法正确的是
A 模板的实参在任何时候都可以省略 B 类模板与模板类所指的是同一概念 C 类模板的参数必须是虚拟类型的 D 类模板中的成员函数全部都是模板函数
查看答案 D. 类模板中的成员函数全部都是模板函数
28 单选题 28 / 48
表示在输出时显示小数位,和在文件输入时判断文件尾的函数分别是
A showbase()和eof() B showpoint()和eof() C showpoint()和bad() D showpoint()和good()
查看答案 B. showpoint()和eof()
29 单选题 29 / 48
下面程序段的运行结果是 void main() { int t, a, b, c; a=1;b=2;c=2; while(a<b<c) { t=a;a=b;b=t;c--;} cout << a << "," << b << "," << c; }
A 1,2,0 B 2,1,0 C 1,2,1 D 2,1,1
查看答案 A. 1,2,0
30 单选题 30 / 48
下列程序中画线处应填入的语句是 class Base { public: void fun(){cout<<"Base of fun"<<endl;} }; class Derived:public Base { void fun() { //显示基类的成员函数fun cout<<"Derived of fun"<<endl; } };
A fun(); B Base.fun(); C Base::fun(); D Base->fun();
查看答案 C. Base::fun();
31 单选题 31 / 48
若定义int k=7,x=12;,则能使值为3的表达式是
A x%=(k%=5) B x%=(k-k%5) C x%=k-k%5 D (x%=k)-(k%=5)
查看答案 D. (x%=k)-(k%=5)
32 单选题 32 / 48
在位运算中,操作数每右移一位,其结果相当于
A 操作数乘以2 B 操作数除以2 C 操作数乘以4 D 操作数除以4
查看答案 B. 操作数除以2
33 单选题 33 / 48
有以下结构体说明和变量的定义,且指针p指向变量a,指针q指向变量b。则不能把结点b连接到结点a之后的语句是 struct node { char data; struct node *next; } a,b,*p=&a,*q=&b;
A a.next=q; B p.next=&b; C p->next=&b; D (*p).next=q;
查看答案 B. p.next=&b;
34 单选题 34 / 48
一个类的友元函数能够访问该类的
A 私有成员 B 保护成员 C 公有成员 D 所有成员
查看答案 D. 所有成员
35 单选题 35 / 48
下面程序的输出结果是 #include<iostream.h> #include<string.h> void main() { char p1[10],p2[10]; strcpy(p1,"abc"); strcpy(p2,"ABC"); char str[50]= "xyz"; strcpy(str+2,strcat(p1,p2)); cout << str; }
A xyzabcABC B zabcABC C xyabcABC D yzabcABC
查看答案 C. xyabcABC
36 填空题 36 / 48
在树形结构中,树根结点没有__ 。
查看答案 前件
37 填空题 37 / 48
Jackson结构化程序设计方法是英国的M.Jackson提出的,它是一种面向__ 的设计方法。
查看答案 数据结构
38 填空题 38 / 48
面向对象的模型中,最基本的概念是对象和__ 。
查看答案 类
39 填空题 39 / 48
软件设计模块化的目的是__ 。
查看答案 降低复杂性
40 填空题 40 / 48
数据模型按不同应用层次分成3种类型,它们是概念数据模型、__ 和物理数据模型。
查看答案 逻辑数据模型
41 填空题 41 / 48
派生类的成员一般分为两部分,一部分是__ ,另一部分是自己定义的新成员。
查看答案 从基类继承的成员
42 填空题 42 / 48
以下程序输出的结果是__ 。 #include<iostream.h> void main() { int a=5,b=4,c=3,d; d=(a>b>c); cout << d; }
查看答案 0
43 填空题 43 / 48
设i,j,k均为int型变量,则执行完for(i=0, j=10; i<=j; i++, j--)k=i+j;语句后,k的值为__ 。
查看答案 10
44 填空题 44 / 48
如果要把返回值为void的函数A声明为类B的友元函数,则应在类B的定义中加入的语句是__ 。
查看答案 friend void A();
45 填空题 45 / 48
如果类B继承了类A,则称类A为类B的基类,类B称为类A的__ 。
查看答案 派生类
46 填空题 46 / 48
将x+y中的+运算符用友元函数重载应写为__ 。
查看答案 operator+(x,y)
47 填空题 47 / 48
已知程序的结果为1 2 3,请填空。 #include<iostream.h> template<class T> class A { public: T x,y,z; void display(){cout << x << " " << y << " " << z;} }; void main() { A<int>a1;__ __ __ a1.display(); }
查看答案 48 填空题 48 / 48
下列程序段的输出结果是__ 。 cout << fixed << 509.123456789 << endl;
查看答案 509.123457