笔试部分
一、选择题
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)
A.2 B.0 C.-2 D.1
【参考答案】 B
13.下列语句中不是死循环的是( )
A.int i=10; B.for(int i=1;i<10;i++)
while(1) {
{ i--; i--;
if(i==1)break; } }
C.int i=0; D.int i=1;
do{ for(;;)i=i+1;
i++;
}while(i>=0);
【参考答案】 A
14.下面关于数组的描述错误的是( )
A.在C++语言中数组的名字就是指向该数组第一个元素的指针
B.长度为n的数组,下标的范围是0~n-1
C.数组的大小必须在编译时确定
D.数组只能通过值参数和引用参数两种方式传递给函数
【参考答案】 D
15.下面的哪个选项不能作为函数的返回类型?( )
A.void B.int C.new D.long
【参考答案】 C
16.下列程序的输出结果为( )
#include
int func(int n)
{ if(n<1) return 1;
else return n+func(n-1);
return 0; }
void main()
{ cout<
A.0 B.10 C.15 D.16
【参考答案】 D
17.以下程序中,错误的行为( )
1.#include
2.class A
3.{
4.public:
5.int n=2;
6.A(int val) {cout<
7.~A(){ }
8.{;
9.void main()
10{
11.A a(0);
12.}
A.5 B.6 C.7 D. 11
【参考答案】 A
18.下面程序的运行结果为( )
#include
class A
{ int num;
public:
A(int i){num=i;}
A(A &a){num=a.num++;}
void print(){cout<
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
void main()
{ int num=1;
int &ref=num;
ref=ref+2;
cout<
num=num+3;
cout<
A.13 B.16 C.36 D.33
【参考答案】 C
23.下列程序的运行结果为( )
#include
int i=0;
class A{
public:
A(){i++;} };
void main()
{ A a,b[3],*c;
c=b;
cout<
A.2 B.3 C.4 D.5
【参考答案】 C
[NextPage]
24.下列字符串中可以用C++语言标识符的是( )
A._1234 B.foo~~bar C.virtual D.34var
【参考答案】 A
25.下列语句的输出结果( )
cout<
A.5 B.14 C.8 D.输出项不合法,无正常输出
【参考答案】 A
26.若有如下语句( )
#include
void main()
{ int x=3;
do{
x=x-2;
cout<
}while(!(--x)); }
则上面程序段
A.输出的是1 B.输出的是1和-2 C.输出的是3和0 D.是死循环
【参考答案】 B
27.以下程序中调用cin函数给变量a输入数值的方法是错误的,其错误原因是( )
#include
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
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<
输出结果是( )
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
class A
{ int a;
public:
A():a(1){ }
void showa(){cout<
class B
{ int a;
public:
B():a(2){ }
void showa(){cout<
class C:public A,public B
{ int a;
public:
C():a(3){ }
void showa(){cout<
void main()
{ C c;
c.showa(); }
A.1 B.2 C.3 D.程序有错误
【参考答案】 C
31.如果表达式x*y+z中,“*”是作为友元函数重载的,“+”是作为友元函数重载的,则该表达式还可为( )
A.operator+(operator*(x,y),z)
B.x.operator+(operator*(x,y),z)
C.y.operator*(operator+(x,y),z)
D.x.operator+(operator*(x,y))
【参考答案】 A
32.对于语句cout<
A.*********1*2 B.********12 C.*******1*2 D.12********
【参考答案】 A
33.有如下程序
#include
int func(int a,int b)
{ return(a+b);}
void main()
{ int x=2,y=5,z=8,r;
r=func(func(x,y),z);
cout<
该程序的输出的结果是( )
A.12 B.13 C.14 D.15
【参考答案】 D
34.下列描述中,抽象类的特性是( )
A.可以说明虚函数
B.可以定义友元函数
C.可以进行构造函数重载
D.不能说明其对象
【参考答案】 D
35.下列程序的运行结果是( )
#include
void fun(int *a,int *b)
{ int *k;
k=a;a=b;b=k; }
void main()
{ int a=3,b=6,*x=&a,*y=&b;
fun(x,y);
cout<
A.6 3 B.3 6 C.编译出错 D.0 0
【参考答案】 B
二、填空题
1.在面向对象方法中,类之间共享属性和操作的机制称为【1】。
【参考答案】
【1】继承
2.一个项目具有一个项目主管,一个项目主管可管理多个项目,则实体“项目主管”与实体“项目”的联系属于【2】的联系。
【参考答案】
【2】一对多(或1:N)
3.Jackson结构化程序设计方法是英国的M.Jackson提出的,它是一种面向【3】的设计方法。
【参考答案】
【3】数据结构
4.软件设计模块化的目的是【4】。
【参考答案】
【4】降低复杂性
5.在树结构中,树根结点没有【5】。
【参考答案】
【5】前件
6.C++中封装性、继承性和【6】是面向对象思想的主要特征。
【参考答案】
【6】 多态性
7.下列for语句的循环次数为【7】。
for(int a=0,b=1;b&&a<5;a++);
【参考答案】
【7】5
8.C++程序是从【8】函数开始执行的。
【参考答案】
【8】main
9.派生类构造函数的执行顺序是先执行【9】的构造函数,然后执行成员对象的构造函数,最后执行【10】的构造函数。
【参考答案】
【9】基类 【10】派生类
10.C++语言程序的注释可以出现在程序中的任何地方,一个注释以【11】作为开始和结束的标记。
【参考答案】
【11】/**/
11.用以下语句调用库函数malloc,使字符指针st指向具有11个字节的动态存储空间,请填空。
st=(char*)【12】;
【参考答案】
【12】malloc(11)或malloc(sizeof(char)*11)
12.下列程序在构造函数和析构函数中申请和释放类的数据成员int *a,申请时使用形参b初始化a,请填空。
class A
{ public:
A(int b);
~A();
private:
int *a; };
A::(int b)
{ 【13】; }
A::~A()
{ 【14】; }
【参考答案】
【13】a=new int(b) 【14】delete a
13.将x+y*z中的“+”用成员函数重载,“*”用友元函数重载应写为【15】。
【参考答案】
【15】x.operator+(operator *(y,z))
上机部分
一、改错题
使用VC6打开考生文件夹下的工程kt15_1,此工程包含一个源程序文件kt15_1.cpp,但该程序运行有问题,请改正程序中的错误,使该程序的输出结果为:
Previous=9,Next=11
源程序文件kt15_1.cpp清单如下:
#include
/*****************found*****************/
intmain()
{ intx=10,y,z;
prevnext(x,y,z);
cout<<"Previous="<
| 广告合作:400-664-0084 全国热线:400-664-0084 Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号 珠峰网 版权所有 All Rights Reserved
|