计算机类二级C++

2010年全国计算机等级考试二级C++模拟试题(14)&笔试部分

48 题含答案C++
共 48 题返回本类
1单选题1 / 48
在深度为5的满二叉树中,叶子结点的个数为
查看答案
B. 31
2单选题2 / 48
若某二叉树的前序遍历访问顺序是abdgcefh,中序遍历访问顺序是dgbaechf,则其后序遍历的结点访问顺序是
查看答案
D. gdbehfca
3单选题3 / 48
一些重要的程序语言(如C语言和Pascal语言)允许过程的递归调用。而实现递归调用中的存储分配通常用
查看答案
A. 栈
4单选题4 / 48
软件工程的理论和技术性研究的内容主要包括软件开发技术和
查看答案
B. 软件工程管理
5单选题5 / 48
开发软件时对提高开发人员工作效率至关重要的是
查看答案
B. 先进的软件开发工具和环境
6单选题6 / 48
在软件测试设计中,软件测试的主要目的是
查看答案
D. 发现软件错误而执行程序
9单选题9 / 48
下述关于数据库系统的叙述中正确的是
查看答案
B. 数据库系统避免了一切冗余
11单选题11 / 48
下列关于C++语言类的描述中错误的是
查看答案
C. 类与类之间必须是平等的关系,而不能组成层次结构
13单选题13 / 48
以下叙述中正确的是
查看答案
A. 构成C++语言程序的基本单位是类
14单选题14 / 48
已知有定义
const int D=5;
int i=1;
double f=0.32;
char c=15;
则下列选项错误的是
查看答案
B. D--;
15单选题15 / 48
以下程序的输出结果是
#include
void reverse(int a[],int n)
{ int i,t;
for(i=0;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
16单选题16 / 48
下面程序的功能是把316表示为两个加数的和,使两个加数分别能被13和11整除,在划线处应填入的选项是
#include
void main()
{ int i=0,j,k;
do{ i++;k=316-13*i;} while( );
j=k/11;
cout << "316=13*"<<I<<"+11*"<< p }< j;>
查看答案
B. k%11
17单选题17 / 48
设有数组定义: char array[]="China";,则数组 array所占的空间为
查看答案
C. 6个字节
18单选题18 / 48
若已定义:
int a[]={0,1,2,3,4,5,6,7,8,9}, *p=a,i;
其中 0≤i≤9, 则对a数组元素不正确的引用是
查看答案
D. a[10]
19单选题19 / 48
以下程序的输出结果是
#include
void main()
{ int x=1,y=3;
cout << x++ << ",";
{ int x=0;x+=y*2;
cout << x <<"," << y << ","; }
cout << x <<"," << y; }
查看答案
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; }
查看答案
D. 字符串a 和b的长度之和
21单选题21 / 48
下面程序输出的结果是
#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[2-i][i]<<""; }
查看答案
B. 7 5 3
22单选题22 / 48
下面程序的结果为
#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 << 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();
}
查看答案
B. 1 2 2
23单选题23 / 48
下列描述中哪个是正确的?
查看答案
B. 类A的私有派生子类的派生类C无法初始化其祖先类A对象的属性,因为类A的成员对类C是不可访问的
24单选题24 / 48
下列关于构造函数说法不正确的是
查看答案
C. 构造函数必须有返回值
25单选题25 / 48
如果友元函数重载一个运算符时,其参数表中没有任何参数则说明该运算符是
查看答案
D. 重载错误
26单选题26 / 48
在重载一个运算符时,如果其参数表中有一个参数,则说明该运算符是
查看答案
D. 选项B)和选项C)都可能
27单选题27 / 48
下列关于模板的说法正确的是
查看答案
D. 类模板中的成员函数全部都是模板函数
28单选题28 / 48
表示在输出时显示小数位,和在文件输入时判断文件尾的函数分别是
查看答案
B. showpoint()和eof()
29单选题29 / 48
下面程序段的运行结果是
void main()
{ int t, a, b, c;
a=1;b=2;c=2;
while(a<B<C)< p>
{ t=a;a=b;b=t;c--;}
cout << a << "," << b << "," << c; }
查看答案
A. 1,2,0
30单选题30 / 48
下列程序中画线处应填入的语句是
class Base
{ public:
void fun(){cout<<"Base of fun"<<>
class Derived:public Base
{ void fun()
{ //显示基类的成员函数fun
cout<<"Derived of fun"<< }>
查看答案
C. Base::fun();
31单选题31 / 48
若定义int k=7,x=12;,则能使值为3的表达式是
查看答案
D. (x%=k)-(k%=5)
32单选题32 / 48
在位运算中,操作数每右移一位,其结果相当于
查看答案
B. 操作数除以2
33单选题33 / 48
有以下结构体说明和变量的定义,且指针p指向变量a,指针q指向变量b。则不能把结点b连接到结点a之后的语句是
struct node
{ char data;
struct node *next;
} a,b,*p=&a,*q=&b;
查看答案
B. p.next=&b;
34单选题34 / 48
一个类的友元函数能够访问该类的
查看答案
D. 所有成员
35单选题35 / 48
下面程序的输出结果是
#include
#include
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; }
查看答案
C. xyabcABC
37填空题37 / 48
Jackson结构化程序设计方法是英国的M.Jackson提出的,它是一种面向 __ 的设计方法。
查看答案
数据结构
40填空题40 / 48
数据模型按不同应用层次分成3种类型,它们是概念数据模型、 __ 和物理数据模型。
查看答案
逻辑数据模型
41填空题41 / 48
派生类的成员一般分为两部分,一部分是 __ ,另一部分是自己定义的新成员。
查看答案
从基类继承的成员
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( );
47填空题47 / 48
已知程序的结果为1 2 3,请填空。
#include
template
class A
{ public:
T x,y,z;
void display(){cout << x << " " << y << " " << z;} };
void main()
{ Aa1;
__
__
__
a1.display(); }
查看答案
  1. a1.x=1
  2. a1.y=2
  3. a1.z=3
48填空题48 / 48
下列程序段的输出结果是 __ 。
cout << fixed << 509.123456789 << endl;
查看答案
509.123457
← 上一卷下一卷 →