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