1 、【
单选题
】
程序流程图中带有箭头的线段表示的是( )。
[2分]
、
图元关系
、
数据流
、
控制流
、
调用关系
答案:
2 、【
单选题
】
结构化程序设计的基本原则不包括( )。
[2分]
、
多元性
、
自顶向下
、
模块化
、
逐步求精
答案:
3 、【
单选题
】
软件设计中模块划分应遵循的准则是( )。
[2分]
、
低内聚低耦合
、
高内聚低耦合
、
低内聚高耦合
、
高内聚高耦合
答案:
4 、【
单选题
】
在软件开发中,需求分析阶段产生的主要文档是( )。
[2分]
、
可行性分析报告
、
软件需求规格说明书
、
概要设计说明书
、
集成测试计划
答案:
5 、【
单选题
】
算法的有穷性是指( )。
[2分]
、
算法程序的运行时间是有限的
、
算法程序所处理的数据量是有限的
、
算法程序的长度是有限的
、
算法只能被有限的用户使用
答案:
6 、【
单选题
】
对长度为n 的线性表排序,在最坏情况下,比较次数不是n(n-1)/2 的排序方法是( )。
[2分]
、
快速排序
、
冒泡排序
、
直接插入排序
、
堆排序
答案:
7 、【
单选题
】
下列关于栈的叙述正确的是( )。
[2分]
、
栈按“先进先出”组织数据
、
栈按“先进后出”组织数据
、
只能在栈底插入数据
、
不能删除数据
答案:
8 、【
单选题
】
在数据库设计中,将E-R 图转换成关系数据模型的过程属于( )。
[2分]
、
需求分析阶段
、
概念设计阶段
、
逻辑设计阶段
、
物理设计阶段
答案:
9 、【
单选题
】
有三个关系R、S 和T 如下:
R S T
B C D
a 0 k1
b 1 n1
由关系 R 和S 通过运算得到关系T,则所使用的运算为( )。
[2分]
答案:
10 、【
单选题
】
设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC
(学号,课号,成绩),则表SC 的关键字(键或码)为( )。
[2分]
、
课号,成绩
、
学号,成绩
、
学号,课号
、
学号,姓名,成绩
答案:
11 、【
单选题
】
下列有关函数重载的叙述中,错误的是( )。
[2分]
、
函数重载就是用相同的函数名定义多个函数
、
重载函数的参数列表必须不同
、
重载函数的返回值类型必须不同
、
重载函数的参数可以带有默认值
答案:
12 、【
单选题
】
下列有关类成员的叙述中,正确的是( )。
[2分]
、
友元函数是类的成员函数
、
类成员的默认访问权限是私有的
、
类成员函数必须声明为公有的
、
类的静态数据成员不能是常成员
答案:
13 、【
单选题
】
下列有关类继承的叙述中,错误的是( )。
[2分]
、
继承可以实现软件复用
、
虚基类可以解决由多继承产生的二义性问题
、
派生类构造函数要负责调用基类的构造函数
、
派生类没有继承基类的私有成员
答案:
14 、【
单选题
】
下列有关运算符重载的叙述中,正确的是( )。
[2分]
、
运算符重载是多态性的一种表现
、
C++中可以通过运算符重载创造新的运算符
、
C++中所有运算符都可以作为非成员函数重载
、
重载运算符时可以改变基结合性
答案:
15 、【
单选题
】
下列有关模板的叙述中,正确的是( )。
[2分]
、
函数模板不能含有常规形参
、
函数模板的一个实例就是一个函数定义
、
类模板的成员函数不能是模板函数
、
用类模板定义对象时,绝对不能省略模板实参
答案:
16 、【
单选题
】
下列有关C++流的叙述中,错误的是( )。
[2分]
、
C++操作符setw 设置的输出宽度永久有效
、
C++操作符endl 可以实现输出的回车换行
、
处理文件I/O 时,要包含头文件fstream
B C D
a 0 k1
B C D
f 3 h2
a 0 k1
n 2 x1
、
进行输入操作时,eof()函数用于检测是否到达文件尾
答案:
17 、【
单选题
】
下列符号中能够作为C++标识符的是( )。
[2分]
、
const
、
2a
、
_shape
、
-count
答案:
18 、【
单选题
】
已知枚举类型声明语句为:
enum COLOR{ WHITE,YELLOW,GREEN=5,RED,BLACK=10 };
则下列说法中错误的是( )。
[2分]
、
枚举常量YELLOW 的值为1
、
枚举常量RED 的值为6
、
枚举常量BLACK 的值为10
、
枚举常量WHITE 的值为1
答案:
19 、【
单选题
】
执行下列语句段后,输出字符“*”的个数是( )。
for (int i=50; i>1; I-=2)cout<<'*';
[2分]
答案:
20 、【
单选题
】
有如下定义:
int a[5]={1,3,5,7,9},*p=a;
下列表达式中不能得到数值5 的是( )。
[2分]
、
a[2]
、
a[3]
、
*(p+2)
、
*p+4
答案:
21 、【
单选题
】
已知函数f 的原型是void f(int *a, long & b);,变量v1、v2 的定义是:
int v1; loong v2;
下列调用语句中正确的是( )。
[2分]
、
f(v1, &v2);
、
f(v1, v2);
、
f(&v1, &v2);
、
f(&v1, v2);
答案:
22 、【
单选题
】
有如下类定义:
class Point{
private;
static int how_many;
};
______ how_many=0;
要初始化Point 类的静态成员how_many,下划线处应填入的内容是( )。
[2分]
、
ing
、
static int
、
int Point::
、
static int Point::
答案:
23 、【
单选题
】
在下列关键字中,不能用来表示继承方式的是( )。
[2分]
、
private
、
static
、
public
、
protected
答案:
24 、【
单选题
】
已知Value 是一个类,Value 是Value 的一个对象。下列以非成员函数形式重载的运算符函数原形中,正确的是( )。
[2分]
、
Value operator+(Value v, int i);
、
Value operator+(Value v=value, int i);
、
Value operator+(Value vint i=0);
、
Value operator+(Value v=value, int i=0);
答案:
25 、【
单选题
】
下面是一个模板声明的开始部分:
templute<typename T> double __
由此可知( )。
[2分]
、
这可能是一个函数模板的声明
、
这可能是一个类模板的声明
、
这既可能是一个函数模板的声明,也可能是一个类模板的声明
、
这肯定是一个错误的模板声明
答案:
26 、【
单选题
】
有如下4 个语句:
① cout<<'A'<<setfill('*')<<left<<setw(7)<<'B'<<endl;
② cout<<setfill('*')<<left<<setw(7)<<'A'<<'B'<<endl;
③ cout<<'A'<<serfill('*')<<right<<setw(7)<<'B'<<endl;
④ cout<<setfill('*')<<right<<setw(7)<<'A'<<'B'<<endl;
其中能显示A******B 的是( )。
[2分]
答案:
27 、【
单选题
】
有如下类定义:
class MyClass{
Int value;
public;
MyClass(int n): value (n) {}
int gerValue()const{ return value;}
};
则类MyClass 的构造函数的个数是( )。
[2分]
答案:
28 、【
单选题
】
有如下类和对象的定义:
class Constants{
public;
static double getPI(){return 3.1416;}
};
Constants constants;
下列各组语句中,能输出3.1416 的是( )。
[2分]
、
cout<<constants->getPI();和cout<<Constants::gerPI();
、
cout<<constants.getPI();和cout<<Constants.getPI();
、
cout<<constants->getPI();和cout<<Constants->getPI();
、
cout<<constants.getPI();和cout<<Constants::getPI();
答案:
29 、【
单选题
】
有如下程序:
#include<iostream>
using namespace std;
class VAC{
public;
int f() const { return 3; }
int f() {return 5;}
};
Int main(){
VAC v1;
const VAC v2;
cout<<v1.f()<<v2.f();
feturn 0;
}
运行时的输出结果是( )。
[2分]
答案:
30 、【
单选题
】
有如下类声明:
class Base{
protected;
int amount;
public;
Base(int n=0): amount(n){}
int getAmount()const { retum amount; }
};
class Derived: public Base {
protected;
int value;
public;
Derived(int m, int n): value(m). Base(n){}
Int getData()const{ return value+amount; }
};
已知x 是一个Derived 对象,则下列表达式中正确的是( )。
[2分]
、
x.value+ x.getAmount()
、
x.getData()-x.gctAmount()
、
x.getData()-x.amount
、
x.value+x.amount
答案:
31 、【
单选题
】
有如下程序:
#include<iostream>
using namespace std;
class Base {
int x;
public;
Base{int n=0}; x(n){cout<<n;}
Int getX()const{return x;}
};
class Derived public Base{
int y;
public;
Derived(int m, int n): y(m), Base(n){cout<<m;}
Derived(int m): y(m){cout<<m;}
};
int main(){
Derived dl(3), d2(5,7);
Return 0;
}
运行时的输出结果是( )。
[2分]
、
375
、
357
、
0375
、
0357
答案:
32 、【
单选题
】
下列有关抽象类和纯虚函数的叙述中,错误的是( )。
[2分]
、
拥有纯虚函数的类是抽象类,不能用来定义对象
、
抽象类的派生类若不实现纯虚函数,它也是抽象类
、
纯虚函数的声明以“=0;”结束
、
纯虚函数都不能有函数体
答案:
33 、【
单选题
】
有如下程序:
#include<iostream>
Using namespace std;
Class Amount{
int amount;
public;
Amount(int n=0): amount(n){}
Int getAmount()const{return amount;}
Amount &operator +=(Amount a){
amount+=a.amount;
return ;
}
};
int main(){
Amount x(3),y(7);
x+=y;
cout<<x.getAmount()<<endl;
return 0;
}
已知程序的运行结果是10,则下划线处缺失的表达式是( )。
[2分]
、
*this
、
this
、
&amount
、
amount
答案:
34 、【
单选题
】
下列语句分别是不同程序中的第一个输入输出语句,若去掉其中的“<<left”,输出效果将发生变化的是( )。
[2分]
、
cout<<left<<setfill('*')<<357;
、
cout<<left<<setw(5)<<357;
、
cout<<left<<setw(5)<<"ABCDE";
、
cout<<left<<"ABCDE";
答案:
35 、【
单选题
】
有如下程序:
#include<iostream>
using namespace std;
class GA{
public;
virtual int f(){retum l;}
};
class GB: public GA{
public;
virtual int f(){return 2;}
};
void show(GA g){cout<<g.f();}
void display(GA &g){cout<<g.f();}
int main(){
GA a: show(a); display(a);
GB b: show(b); display(b);
retum 0;
}
运行时的输出结果是( )。
[2分]
、
1111
、
1211
、
1112
、
1212
答案:
36 、【
填空题
】
测试用例包括输入值集和
值集。
[每空2分]
答案:
["输出"]
37 、【
填空题
】
深度为5 的满二叉树有
个叶子结点。
[每空2分]
答案:
["16"]
38 、【
填空题
】
设某循环队列的容量为50,头指针front=5(指向队头元素的前一位置),尾指针rear=29(指向队尾元素),则该循环队列中共有
个元素。
[每空2分]
答案:
["24"]
39 、【
填空题
】
在关系数据库中,用来表示实体之间联系的是
。
[每空2分]
答案:
["关系"]
40 、【
填空题
】
在数据库管理系统提供的数据定义语言、数据操纵语言和数据控制语言中,
负责数据的模式定义与数据的物理存取构建。
[每空2分]
答案:
["数据定义语言"]