1 、【
单选题
】
在深度为5的满二叉树中,叶子结点的个数为
[2分]
答案:
2 、【
单选题
】
若某二叉树的前序遍历访问顺序是abdgcefh,中序遍历访问顺序是dgbaechf,则其后序遍历的结点访问顺序是
[2分]
、
bdgcefha
、
gdbecfha
、
bdgaechf
、
gdbehfca
答案:
3 、【
单选题
】
一些重要的程序语言(如C语言和Pascal语言)允许过程的递归调用。而实现递归调用中的存储分配通常用
[2分]
答案:
4 、【
单选题
】
开发软件时对提高开发人员工作效率至关重要的是
[2分]
、
操作系统的资源管理功能
、
先进的软件开发工具和环境
、
程序人员的数量
、
计算机的并行处理能力
答案:
5 、【
单选题
】
在软件测试设计中,软件测试的主要目的是
[2分]
、
实验性运行软件
、
证明软件正确
、
找出软件中全部错误
、
发现软件错误而执行程序
答案:
6 、【
单选题
】
数据处理的最小单位是
[2分]
答案:
8 、【
单选题
】
数据库系统的核心是
[2分]
、
数据库
、
数据库管理系统
、
模拟模型
、
软件工程
答案:
9 、【
单选题
】
C++语言中,表示一条语句结束的标号是
[2分]
答案:
10 、【
单选题
】
以下叙述中正确的是
[2分]
、
构成C++语言程序的基本单位是类
、
可以在一个函数中定义另一个函数
、
main()函数必须放在其他函数之前
、
所有被调用的函数一定要在调用之前进行定义
答案:
11 、【
单选题
】
以下程序的输出结果是
#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; }
[2分]
答案:
12 、【
单选题
】
下面程序的功能是把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;>
[2分]
、
k/11
、
k%11
、
k/11==0
、
k%11==0
答案:
13 、【
单选题
】
设有数组定义: char array[]="China";,则数组 array所占的空间为
[2分]
、
4个字节
、
5个字节
、
6个字节
、
7个字节
答案:
14 、【
单选题
】
若已定义:
int a[]={0,1,2,3,4,5,6,7,8,9}, *p=a,i;
其中 0≤i≤9, 则对a数组元素不正确的引用是
[2分]
、
a[p-a]
、
*(&a[i])
、
p[i]
、
a[10]
答案:
15 、【
单选题
】
以下程序的输出结果是
#include
void main()
{ int x=1,y=3;
cout << x++ << ",";
{ int x=0;x+=y*2;
cout << x <<"," << y << ","; }
cout << x <<"," << y; }
[2分]
、
1,6,3,1,3
、
1,6,3,6,3
、
1,6,3,2,3
、
1,7,3,2,3
答案:
16 、【
单选题
】
函数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; }
[2分]
、
字符串a的长度
、
字符串b的长度
、
字符串a和b的长度之差
、
字符串a 和b的长度之和
答案:
17 、【
单选题
】
下面程序输出的结果是
#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]<<""; }
[2分]
、
1 5 9
、
7 5 3
、
3 5 7
、
5 9 1
答案:
18 、【
单选题
】
下面程序的结果为
#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();
}
[2分]
、
1 2 1
、
1 2 2
、
1 1 2
、
2 2 2
答案:
19 、【
单选题
】
下列描述中哪个是正确的?
[2分]
、
私有派生的子类无法访问父类的成员
、
类A的私有派生子类的派生类C无法初始化其祖先类A对象的属性,因为类A的成员对类C是不可访问的
、
私有派生类不能作为基类派生子类
、
私有派生类的所有子孙类将无法继续继承该类的成员
答案:
20 、【
单选题
】
下列关于构造函数说法不正确的是
[2分]
、
构造函数必须与类同名
、
构造函数可以省略不写
、
构造函数必须有返回值
、
在构造函数中可以对类中的成员进行初始化
答案:
21 、【
单选题
】
如果友元函数重载一个运算符时,其参数表中没有任何参数则说明该运算符是
[2分]
、
一元运算符
、
二元运算符
、
选项A)和选项B)都有可能
、
重载错误
答案:
22 、【
单选题
】
在重载一个运算符时,如果其参数表中有一个参数,则说明该运算符是
[2分]
、
一元成员运算符
、
二元成员运算符
、
一元友元运算符
、
选项B)和选项C)都可能
答案:
23 、【
单选题
】
表示在输出时显示小数位,和在文件输入时判断文件尾的函数分别是
[2分]
、
showbase()和eof()
、
showpoint()和eof()
、
showpoint()和bad()
、
showpoint()和good()
答案:
24 、【
单选题
】
下面程序段的运行结果是
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; }
[2分]
、
1,2,0
、
2,1,0
、
1,2,1
、
2,1,1
答案:
25 、【
单选题
】
下列程序中画线处应填入的语句是
class Base
{ public:
void fun(){cout<<"Base of fun"<<>
class Derived:public Base
{ void fun()
{ //显示基类的成员函数fun
cout<<"Derived of fun"<< }>
[2分]
、
fun();
、
Base.fun();
、
Base::fun();
、
Base->fun();
答案:
26 、【
单选题
】
若定义int k=7,x=12;,则能使值为3的表达式是
[2分]
、
x%=(k%=5)
、
x%=(k-k%5)
、
x%=k-k%5
、
(x%=k)-(k%=5)
答案:
27 、【
单选题
】
在位运算中,操作数每右移一位,其结果相当于
[2分]
、
操作数乘以2
、
操作数除以2
、
操作数乘以4
、
操作数除以4
答案:
28 、【
单选题
】
有以下结构体说明和变量的定义,且指针p指向变量a,指针q指向变量b。则不能把结点b连接到结点a之后的语句是
struct node
{ char data;
struct node *next;
} a,b,*p=&a,*q=&b;
[2分]
、
a.next=q;
、
p.next=&b;
、
p->next=&b;
、
(*p).next=q;
答案:
29 、【
单选题
】
下面程序的输出结果是
#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; }
[2分]
、
xyzabcABC
、
zabcABC
、
xyabcABC
、
yzabcABC
答案:
30 、【
填空题
】
在树形结构中,树根结点没有
。
[每空2分]
答案:
["前件"]
31 、【
填空题
】
Jackson结构化程序设计方法是英国的M.Jackson提出的,它是一种面向
的设计方法。
[每空2分]
答案:
["数据结构"]
32 、【
填空题
】
面向对象的模型中,最基本的概念是对象和
。
[每空2分]
答案:
["类"]
33 、【
填空题
】
软件设计模块化的目的是
。
[每空2分]
答案:
["降低复杂性"]
34 、【
填空题
】
数据模型按不同应用层次分成3种类型,它们是概念数据模型、
和物理数据模型。
[每空2分]
答案:
["逻辑数据模型"]
35 、【
填空题
】
派生类的成员一般分为两部分,一部分是
,另一部分是自己定义的新成员。
[每空2分]
答案:
["从基类继承的成员"]
36 、【
填空题
】
以下程序输出的结果是
。
#include
void main()
{ int a=5,b=4,c=3,d;
d=(a>b>c);
cout << d; }
[每空2分]
答案:
["0"]
37 、【
填空题
】
设i,j,k均为int型变量,则执行完for(i=0, j=10; i<=j; i++, j--)k=i+j;语句后,k的值为
。
[每空2分]
答案:
["10"]
38 、【
填空题
】
如果要把返回值为void的函数A声明为类B的友元函数,则应在类B的定义中加入的语句是
。
[每空2分]
答案:
["friend void A( );"]
39 、【
填空题
】
如果类B继承了类A,则称类A为类B的基类,类B称为类A的
。
[每空2分]
答案:
["派生类"]
40 、【
填空题
】
将x+y中的+运算符用友元函数重载应写为
。
[每空2分]
答案:
["operator+(x,y)"]