1[单选题] 已知函数FA调用函数FB,若要把这两个函数定义在同一个文件中,则( )。
A.FA必须定义在FB之前
B.FB必须定义在FA之前
C.若FA定义在FB之后,则FA的原型必须出现在FB的定义之前
D.若FB定义在FA之后,则FB的原型必须出现在FA的定义之前
参考答案:D
参考解析:如果使用用户自己定义的函数,而该函数与调用它的函数(即主调用函数)在同一程序单元中,且位置在主调用函数之后,则必须在调用此函数之前对被凋用的函数作声明。
2[单选题]单个用户使用的数据视图的描述称为
A.外模式 B.概念模式 C.内模式 D.存储模式
参考答案:A
3[单选题] 生成派生类对象时,派生类构造函数调用基类构造函数的条件是( )。
A.无需任何条件
B.基类中显式定义了构造函数
C.派生类中显式定义了构造函数
D.派生类构造函数明确调用了基类构造函数
参考答案:D
参考解析:派生类的构造函数必须通过调用基类的构造函数来初始化基类子对象。所以,在定义派生类的构造函数时除了对自己的数据成员进行初始化外,还必须负责调用基类构造函数使基类的数据成员得以初始化。
4[单选题] 下列叙述中正确的是( )。
A.在面向对象的程序设计中,各个对象之间具有密切的关系
B.在面向对象的程序设计中,各个对象都是公用的
C.在面向对象的程序设计中,各个对象之间相对独立,相互依赖性小
D.上述三种说法都不对
参考答案:C
参考解析:面向对象的程序设计是用对象模拟问题领域中的实体,各对象之间相对独立,相互依赖性小,通过消息来实现对象之间的相互联系。
5[单选题]
A.变量a的值,即3
B.变量a的地址值
C.变量p的地址值
D.无意义
参考答案:A
参考解析:
6[单选题]阅读以下程序:
下列错误的是( )。
A.对象infile只能用于文件入操作
B.对象outfile只能用于文件输出操作
C.对象iofile在文件关闭后,不能再打开另一个文件
D.对象iofile可以打开一个文件同时进行输入和输出
参考答案:C
参考解析:本题看似复杂。其实掌握技巧的话可以很容易的得出正确答案为C。按照常识,一个 文件关闭后,应该可以再打开另外一个文件。
7[填空题]软件设计模块化的目的是 。
答案解析:降低复杂性
8[单选题]程序中若有如下的说明和定义语句
char fun(char *);
main()
{
char *s= "one",a[5]={0},(*f1)()=fun,ch;
……
}
以下选项中对函数fun的正确调用语句是( )
A.(*f1)(a); B.*f1(*s); C.fun( &a); D.ch=*f1(s)
参考答案:A
9[填空题]诊断和改正程序中错误的工作通常称为( )。
参考答案:程序调序
10[填空题]以下程序中,fun函数的功能是求3行4列二维数组每行元素中的值,请填空( )
void fun(int, int, int (*)[4],int *)
main()
{
int a[3][4]={{12,41,36,28},{19,33,15,27},{3,27,19,1}},b[3],i;
fun(3,4,a,b);
for(i=0;i<3;i++)
printf("M",b[i]);
printf("\n");
}
void fun(int m,int n,int ar[][4],int *br)
{
int i,j,x;
for(i=0;i
{ x=ar[i][0];
for(j=0;j
if(x (12) =x;
}
参考解析:br[i]
11[填空题]C++源程序的扩展名是( ) 。
参考解析:cpp
12[单选题] 有如下程序:
#include
usingnamespacestd;
classC1{
public:
~C1( ){cout<<1;)
};
classC2:publicC1{
public:
~C2( ){cout<<2;)
};
intmain( ){
C2cb2;
C1*cb1:
return0;
}
运行时的输出结果是( )。
A.121B.21C.211D.12
参考答案:B
参考解析:在基类与派生类中,析构函数在派生类先调用,而本题有两个不同类对象,对于cb2需先调c2的析构函数,再调c1的析构函数。而对于*cb1由于没有指针性析构函数,它将不参加传递数据。
13[单选题]若有定义语句“intm[]={5,4,3,2,1),i=4;”则下列对m数组元素的引用中错误的是( )。
A.m[--i]B.m[2*2]C.m[m[o]]D.m[m[i]]
参考答案:C
参考解析:数组的下标是从零开始的。一维数组的一般定义方式为数型说明符数组名[常置表达式],其中“[]”中的内容可以是整型数量,也可以是整型表达式。选项C中,m[0]=5,m[m[o]]=m[5],数组下标越界。
14[单选题]
A.
B.
C.
D.
参考答案:C
参考解析:在函数f的形参表达式中第一个形参为整型指针变量,第二个为整型引用变量,所以用实参v1的指针初始化第一个形参,用实参v2初始化第二形参。
15[单选题] 有以下程序:
classDate
{public:
Date(inty,intm,intd);
{year=Y;
month=m;
day=d;}
Date(inty=2000)
{year=y;
month=10;
day=1;}
Date(Date&d)
{year=d.year;
month=d.month;
day=d.day;}
voidprint()
{cout<
day<
private:
intyear,month,day;};
Datefun(Dated)
{Datetemp;
temp=d;
returntemp;}
intmain()
{Datedatel(2000,1,1),date2(0,0,O);
Datedate3(date1);
date2=fun(date3);
return0;}
程序执行时,Date类的复制构造函数被调用的次数是( )。
A.2B.3C.4D.5
参考答案:B
参考解析:本题复制构造函数一共被调用了三次:第一次是在执行语句Datedate3(datel);时,用已经建立的对象datel对正在建立的对象date3进行初始化;第二次是在调用fun函数时,由于是传值调用,因此实参对象date3要对形参对象d进行初始化;第三次是在执行fun函数中的返回语句returntemp;时,系统初始化一个匿名对象时使用了复制构造函数。
16[单选题] 对于语句“cout<
A.*********1*2B.********12C.*******1*2D.12********
参考答案:A
参考解析:C++语言中,setfill的意思是在空格的地方填上setfill函数中的参数字符,setw的意思是设置整个输出字符串的字符个数,本题中用*来代替空格。
17[单选题]如果一个模板声明列出了多个参数,则每个参数之间必须使用逗号隔开,每个参数都必须使用( )关键字来修饰。
A.constB.staticC.voidD.class
参考答案:D
参考解析:如果一个模板声明列出了多个参数,则每个参数之间必须使用逗号隔开,每个参数都必须使用class关键字来修饰。
18[单选题] 已知类MyClass的定义如下:
ClassMyClass{
public:
MyClass(intd){data=d;}
~MyClass(){}
private:
intdata;
};
下列对MyClass类对象数组的定义和初始化语句中,正确的是( )。
A.MyClassarray[2];
B.MyClassarray[2]={MyClass(5)};
C.MyClassarray[2]={MyClass(5),Myclass(6)};
D.MyClass*array=newMyClass[2];
参考答案:C
参考解析:A只是声明,没有初始化;B的初始化错误,另一个数组对象没有指明地址;D同样做的不是初始化的事情。
19[单选题]下列函数的功能是判断字符串str是否对称,对称则返回true,否则返回false,则横线处应填上( )。
A.
B.
C.
D.
参考答案:A
参考解析:
正在阅读:
2023年12月新疆日本语能力测试成绩查询入口及成绩报告单领取时间08-10
幼儿园园长暖心寄语范本3篇03-10
海南2020年12月ACCA考试成绩查询时间为2021年1月18日10-15
2019年河南许昌中考历史试卷(已公布)03-30
2018陕西省延安中考语文真题及答案(Word版)07-12
2017年海南三亚市天涯区城市建设投资有限公司招聘公告01-29
高一写人作文范文600字05-13
在家因顶撞父母检讨书范文12-14
2023学前班安全工作计划02-24