.
笔试部分
一、选择题
1.树是结点的集合,它的根结点数目是( )
A. 有且只有1 B.1或多于1
C. 0或1 D.至少2
【参考答案】A
2.在设计程序时,应采纳的原则之一( )
A. 不限制goto语句的使用 B.减少或取消注解行
C. 程序越短越好 D.程序结构应有助于读者理
【参考答案】D
3.下列叙述中,不属于软件需求规格说明书的作用的是( )
A. 便于用户、开发人员进行理解和交流
B. 反映出用户问题的结构,可以作为软件开发工作的基础和依据
C. 作为确认测试和验收的依据
D.便于开发人员进行需求分析
【参考答案】D
4.单个用户使用的数据视图的描述称为( )
A. 外模式 B.概念模式 C. 内模式 D.存储模式
【参考答案】A
5.SQL语言又称为( )
A. 结构化定义语言 B.结构化控制语言
C. 结构化查询语言 D.结构化操纵语言
【参考答案】C
.6.若某二叉树的前序遍历访问顺序是abdgcefh,中序遍历访问顺序是dgbaechf,则其后序遍历的结点访问顺序是( )
A. bdgcefha B.gdbecfha C. bdgaechf D.gdbehfca
【参考答案】D
7.软件工程的理论和技术性研究的内容主要包括软件开发技术和( )
A. 消除软件危机 B.软件工程管理 C. 程序设计自动化 D.实现软件可重用
【参考答案】B
8.在软件测试设计中,软件测试的主要目的是( )
A. 实验性运行软件 B.证明软件正确
C. 找出软件中全部错误 D.发现软件错误而执行程序
【参考答案】D
9.索引属于( )
A. 模式 B.内模式 C. 外模式 D.概念模式
【参考答案】B
10.数据库系统的核心是( )
A. 数据库 B.数据库管理系统
C. 模拟模型 D.软件工程
【参考答案】B
.11.下面关于类和对象的描述中,错误的是( )
A.类就是C语言中的结构体类型,对象就是C语言中的结构体变量
B.类和对象之间的关系是抽象和具体的关系
C.对象是类的实例,一个对象必须属于一个已知的类
D.类是具有共同行为工的若干对象的统一描述体
【参考答案】A
12.设int a=10,b=11,c=12;,表达式(a+b)<c&&b==c的值是( )
A.2 B.0 C.-2 D.1
【参考答案】B
13.下列语句中不是死循环的是( )
A.int i=10; B.for(int i=1;i<10;i++) C.int i=0; D.int i=1;
while(1) { do{ for(;;)
{ i--; i++; i=i+1;
i--; } }while(i>=0);
if(i==1)break;
}
【参考答案】A
14.下面关于数组的描述错误的是( )
A.在C++语言中数组的名字就是指向该数组第一个元素的指针
B.长度为n的数组,下标的范围是0~n-1
C.数组的大小必须在编译时确定
D.数组只能通过值参数和引用参数两种方式传递给函数
【参考答案】D
15.下面的哪个选项不能作为函数的返回类型?( )
A.void B.int C.new D.long
【参考答案】C
.16.下列程序的输出结果为( )
#include<iostream.h>
int func(int n)
{if(n<1) return 1;
else return n+func(n-1);
return 0;}
void main()
{cout<<func(5)<<endl;}
A.0 B.10 C.15 D.16
【参考答案】D
17.以下程序中,错误的行为( )
1.#include<iostream.h>
2.class A
3.{
4.public:
5.int n=2;
6.A(int val) {cout<<val<<endl;}
7.~A(){ }
8.{;
9.void main()
10{
11.A a(0);
12.}
A.5 B.6 C.7 D.11
【参考答案】A
.18.下面程序的运行结果为( )
#include<iostream.h>
class A
{
int num;
public:
A(int i){num=i;}
A(A &a){num=a.num++;}
void print(){cout<<num;}
};
void main()
{
A a(1),b(a);
a.print();
b.print();
}
A.11 B.12 C.21 D.22
【参考答案】C
.19.如果类A被说明成类B的友元,则( )
A.类A的成员即类B的成员 B.类B的成员即类A的成员
C.类A的成员函数不得访问类B的成员 D.类B不一定是类A的友元
【参考答案】D
20.建立派生类对象时,3种构造函数分别是a(基类的构造函数)、b(成员对象的构造函数)、c(派生类的构造函数)这3种构造函数的调用顺序为( )
A.abc B.acb C.cab D.cba
【参考答案】A
21.下面关于模板的描述,错误的是( )
A.函数模板和类模板的参数可以是任意的数据类型
B.类模板不能直接使用,必须先实例化为相应的模板类,然后定义了模板类的对象后才能使用
C.函数模板不能直接使用,需要实例化为模板函数后才使用
D.类模板的成员函数都是模板函数
【参考答案】A
22.下面程序的运行结果是( )
#include<iostream.h>
void main()
{
int num=1;
int &ref=num;
ref=ref+2;
cout<<num;
num=num+3;
cout<<ref<<endl;
}
A.13 B.16 C.36 D.33
【参考答案】C
.23.下列程序的运行结果为( )
#include<iostream.h>
int i=0;
class A{
public:
A(){i++;}
};
void main()
{A a,b[3],*c;
c=b;
cout<<i<<endl;}
A.2 B.3 C.4 D.5
【参考答案】C
24.下列字符串中可以用C++语言标识符的是()
A._1234 B.foo~~bar
C.virtua D.34var
【参考答案】A
.25.下列语句的输出结果( )
cout<<strlen(″\t\″\065\xff\n″);
A.5 B.14 C.8 D.输出项不合法,无正常输出
【参考答案】A
26.若有如下语句( )
#include<iostream.h>
void main()
{int x=3;
do{
x=x-2;
cout<<x;
}while(!(--x));
}
则上面程序段
A.输出的是1 B.输出的是1和-2 C.输出的是3和0 D.是死循环
【参考答案】B
.27.以下程序中调用cin函数给变量a输入数值的方法是错误的,其错误原因是( )
#include<iostream.h>
void main()
{ int *p,*q,a,b;
p=&a;
cout<<″input a:″;
cin>>p;}
A.*p表示的是指针变量P的地址
B.p表示的是变量a的地址,而不是变量a的值
C.*p表示的是指针变量p的值
D.*p只能用来说明p是一个指针变量
【参考答案】B
28.有以下程序
#include<iostream.h>
void fun(int a,int b,int c)
{a=456,b=567,c=678;}
void main()
{int x=10,y=20,z=30;
fun(x,y,z);
cout<<x<<′,′<<y<<′,′<<z<<endl;}
输出结果是( )
A.30,20,10 B.10,20,30
C.456,567,678 D.678,567,456
【参考答案】B
.29.下列定义中p指向的地址可更改,但*p不能够更改的是( )
A.const int *P B.int * const p; C.const int *const p; D.int *p;
【参考答案】A
30.下面程序的结果是( )
#include<iostream.h>
class A
{
int a;
public:
A():a(1){ }
void showa(){cout<<a;}
};
class B
{
int a;
public:
B():a(2){ }
void showa(){cout<<a;}
};
class C:public A,public B
{int a;
public:
C():a(3){ }
void showa(){cout<<a;}
};
void main()
{C c;
c.showa();}
A.1 B.2 C.3 D.程序有错误
【参考答案】C
.