第 1 页:选择题 |
第 5 页:基本操作题 |
一、选择题
1有如下程序:
#inClude using namespaCe std; Class B{
publiC:
virtual void show(){Cout<<”B”;} };
Class D:publiC B{ . publiC:
void show(){Cout<<”D”;} };
void funl(B * ptr){ptr一>show();} void fUN2(B&ref){ref.show();}
voidfhIl3(B B.{b.show();} int main()
{
B b,* P=new D; D d;
funl(P); fun2(B.; fun3(D);
delete P; return 0; }
执行这个程序的输出结果是( )。
A.BBBB.BBDC.DBBD.DBD
参考答案:C
参考解析:在某基类中声明为virtua1并在一个或多个派生类中被重新定义的成员函数,本题中定义类B的对象b、对象指针*P=new D以及类D的对象d:执行fun1会凋用派生类的show函数,因为show函数为虚函数,而调用fun2、fun3仍然为基类的show函数,所以本题答案为C。
2下面描述中错误的是( )。
A.系统总体结构图支持软件系统的详细设计
B.软件设计是将软件需求转换为软件表示的过程
C.数据结构与数据库设计是软件设计的任务之一
D.PAD图是软件详细设计的表示工具
参考答案:A
参考解析:详细设计的任务是为软件结构图中而非总体结构图中的每一个模块确定实现算法和局部数据结构,用某种选定的表达工具表示算法和数据结构的细节,所以A错误。
3已知函数FA调用函数FB,若要把这两个函数定义在同一个文件中,则( )。
A.FA必须定义在FB之前
B.FB必须定义在FA之前
C.若FA定义在FB之后,则FA的原型必须出现在FB的定义之前
D.若FB定义在FA之后,则FB的原型必须出现在FA的定义之前
参考答案:D
参考解析:如果使用用户自己定义的函数,而该函数与调用它的函数(即主调用函数)在同一程序单元中,且位置在主调用函数之后,则必须在调用此函数之前对被凋用的函数作声明。
4有如下函数定义:
void funC(int a,int&B. {a++;b++;}
若执行代码段:
int x=0,Y = 1; funC(X,Y);
则变量x和y的值分别是( )。
A.0和1B.1和1C.0和2D.1和2
参考答案:C
参考解析:函数参数的3种传递方式:①将变量名作为形参和实参,即传值方式;②传递变量指针;③引用形参 本题中实参x为传值方式,所以x的值不会改变;Y为引用形参,所以会改变。故本题答案为c。
5下面程序的输出结果是( )。
#include
class example
{
int a;
public:
example(int B.{a=b++;}
void print(){a=a+1;eout<
void print()const{cout<
};
void main()
{
example x(3);
const example Y(2);
A print();
B print();
}
A.2 2B.4 3C.4 2D.3 2
参考答案:C
参考解析:“++”是右结合的,所以先赋值为3,最后输出3+1;常成员函数只有常对象才能调用,所以输出2。第5题 笔记记录我的笔记(0) | 精选笔记(1)选择笔记标签:试题内容(1)答案解析(0)
6下列有关类继承的叙述中,错误的是( )。
A.继承可以实现软件复用
B.虚基类可以解决由多继承产生的二义性问题
C.派生类构造函数要负责调用基类的构造函数
D.派生类没有继承基类的私有成员
参考答案:D
参考解析:3种继承方式中,派生类继承了基类的私有成员,但不能被直接访问,可以通过派生类的友元函数去访问基类的私有成员。
7下面程序的运行结果是( )。
#include
int fun(int a[],int n) {
int resuh=1;
for(inl i=1;i<11;1‘++)
result=result * a[i];
retum result;
} void main()
int a[3]={3,4,5}:
cout<
}
A.12B.15C.20D.60
参考答案:C
参考解析:for循环执行2次,所以第一次for循环为result=1*a[1]=4,第二次for循环为result=4*a[2]=20。
8下列叙述中正确的是( )。
A.在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化
B.在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化
C.在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化
D.以上说法都不正确
参考答案:C
参考解析:栈是先进后出的数据结构,在整个过程中,栈底指针不变,入栈与出栈操作均由栈顶指针的变化来操作,所以选择c。
9在满足实体完整性约束的条件下( )。
A.一个关系中应该有一个或多个候选关键字
B.一个关系中只能有一个候选关键字
C.一个关系中必须有多个候选关键字
D.一个关系中可以没有候选关键字
参考答案:A
参考解析:实体完整性约束要求关系的主键中属性值不能为空值,所以选择A。
10下面关于c+十语言变量的叙述错误的是( )。
A.c++语言中变量分为aut0、static、extem和register4种存储类型
B.自动变量和外部变量的作用域为整个程序
C.内部静态变量的作用域是定义它的函数
D.外部静态变量的作用域是定义它的文件
参考答案:B
参考解析:自动变量是函数体或分程序内定义的变量,它的作用域在所定义的函数体内或分程序体内。
相关推荐:
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |