15秋北邮C语言程序设计作业.docx
《15秋北邮C语言程序设计作业.docx》由会员分享,可在线阅读,更多相关《15秋北邮C语言程序设计作业.docx(37页珍藏版)》请在冰豆网上搜索。
15秋北邮C语言程序设计作业
北邮C语言程序设计
包括本科的各校各科新学期复习资料,可以联系屏幕右上的“文档贡献者”
一.单项选择题(共20道小题,共100.0分)
1、以下不是C卄关键字的是
new
char
tiy
get
知识点:
单选题
得分:
[习试题分值:
5.0
提示:
2、下列符号中可以用作C卄标识符的是
_radius
foo^bai
else
3room
知识点:
单选题
得分:
[习试题分值:
5.0
提示:
3、下列字符串中,正确的C卄标识符是fbo-1
2b
new
_256
知识点:
单选题
得分:
[习试题分值:
5.0
提示:
4、“面向对象”的缩写是
OO
SP
IO
DB
知识点:
单选题
得分:
[5]试题分值:
5.0
提示:
5、下列语句中,错误的是()。
constmtbuffer=256;
constmttemp;
constdouble*point;
constdouble=newdouble(5.5);知识点:
第二章单选题得分Q]试题分值:
5・0
提示:
6、下列十六进制整型常量的写法中,错误的是()。
Oxaf
0
OXlb
OxAE
知识点:
第二章单选题
得分:
[习试题分值:
5.0
提示:
7、在为类FunType重载运算符+=时,重载函数的最后一个语句是return*tliis;
关于这个重载函数,下列表述中错误的是()。
它的名称是operator*
它的返回值类型是FunType或FunType&
它的形参表只包含一个形参定义
它是类FunType的友元函数
知识点:
第六章单选题
得分:
[5]试题分值:
5.0
提示:
8、以下代码的运行结果是()。
#mclude
usingnamespacestd;
^defineMINUS(x)・x
intmaiiiQ
{
iiita=l,b=2,c=3;
cout«MINUS(a+b)*c«endl;return0;
}
3
5
-7
-9
知识点:
第七章单选题得分:
[5]试题分值50
提示:
9、以下关于外部变量和外部函数的说法,错误的是()。
外部变量的声明可以是引用性的声明
件中
静态变屋和静态函数即使使用extern声明,它们的使用范I韦I仍然被限定在定义文
外部变量可以为多个源文件所共享
外部函数和外部变量在声明时,都不能省略关键词extern
知识点:
第七章单选题
得分:
[习试题分值:
5.0
提示:
10、下面程序实现的功能是(
#mcludevoidmam()
{
inti=],sum(0);
loop:
if(i<=100)
{
sum+=i,i++;gotoloop;
}
cout«sum«endl;
输出100以内的偶数
计算并输出100以内自然数的和知识点:
第三章单选题
得分:
[5]试题分值:
5.0
提示:
11、下面程序运行的结果是()。
存include
usingnamespacestd;
voidmam()
{
inti;
for(i=l;i<=4;i++){
if(i%2)
cout«n*M;
elsecontinue;
cout«H#H;
}
cout«n$M«endl;
}
*s
$
*#♦#$
知识点:
第三章单选题
得分:
[5]试题分值:
5.0
提示:
12、执行卞面语句序列的输出的结果是()。
mt1=0;
while(i<25)i+=3;
cout«i;
24
25
27
28
知识点:
第三章单选题得分:
[5]试题分值:
5.0
提示:
13、在分支语句中,每个else关键字与它前面同层次并且最接近的关键
字相配套。
switch
elseif
if
case
知识点:
第三章单选题
得分:
[习试题分值:
5.0
提示:
14、mt.float,cliai.double四种类型的数据在一起做四则运算结果是类型。
intfloatchardouble
知识点:
第四章单选题
得分:
[5]试题分值:
5.0
提示:
15、下列运算符中,优先级最高的是o
++
[]
%
&&
知识点:
第四章单选题
得分:
[习试题分值:
5.0
提示:
16、结构体和联合体的所有成员变量和成员函数均默认为类型。
public
privateprotectedvoid
知识点:
第五章单选题得分:
[5]试题分值:
5・0
提示:
17、定义结构体的关键字是.publicunion
class
stmct
知识点:
第五章单选题
得分:
[习试题分值:
5.0提示:
18、有如下的程序:
存include
#iiiclude
usingnamespacestd;
classMyStrmg
{
public:
MyStiing(constchai*s);
^MvStriiigO{delete[]data;}
protect:
unsignedlen;
cliai*data;
};
MyStrmg:
:
MvStimg(constchar*s)
{
len=strlen(s);
data=newchar[len+l];
strcpy(data,s);
}
intmaiiiQ
{
MyStrmga(HC++Piogianiming”);
MyStrmgb(a);return0;
}
在运行上面的程序时出错,出错的原因是()。
构造函数的实参不允许是本类的对彖
没有定义实现深层复制(深拷贝)的拷贝构造函数
构造对彖a时实参与形参类型不符
系统不能生成缺省的拷贝构造函数
知识点:
第五章单选题
得分:
[5]试题分值:
5.0
提示:
19、要求通过函数实现一种不太复杂的功能,并且要加快执行速度,则选用()。
内联函数
重载函数
递归函数
嵌套函数
知识点:
第五章单选题
得分:
[习试题分值:
5.0
提示:
20、若有下面的函数调用:
fiin(a+b,3,max(n-l,b))则fbn的实参个数是()。
3
4
5
6
知识点:
第五章单选题
得分:
[习试题分值:
5.0提示:
一.单项选择题(共20道小题,共100.0分)
1、下面是两个类的声明:
classAA
liltx;
public:
AA(intn):
x(n){}};
classBB
staticmta;constintb;
AAc;
public:
mt.iiit);
};
在定义构造函数BB:
:
BB(mt.int,int)时,必须通过初始化列表中加以初始化的数据成员包括()。
a和b
a和c
b和c
a、b和c
知识点:
第八章单选题
得分:
[习试题分值:
5.0
提示:
2、有如下程序:
#mclude
usingnamespacestd;
classBase{
private:
voidfunlQconst{cout«"ftml”;}protected:
voidfun2Qconst{cout«临m2”;}public:
voidfun3Qconst{cout«Hfun3,r;}
};
classDerived:
protectedBase{public:
voidfun4Qconst{cout«Hfun4,r;}
};
intmaiiiQ{
Derivedobj;
obj.fiinlO;//①
obj.fiui2();//②
obj.fiiii3();//③
obj・fim4();//④
return0;
}
)。
其中违反类成员访问控制权限的语句是(①②③④
①②③
②③④
①④
知识点:
第八章单选题得分:
[5]试题分值:
5・0
提示:
3、基类中的某些成员在派生类中的访问属性与派生方式无关,这些成员必然是原
基类中的()。
公有成员
私有成员
保护成员
继承的私有成员
知识点:
第八章单选题
得分:
[习试题分值:
5.0
提示:
4、有如下程序:
#iiiclude
usingnamespacestd;
classBase{
public:
void{cout«',Base:
:
funH«endl;}
};
classDerived:
publicBase{
public:
voidfiinQ
{〃显式调用基类的成员函数fim()
cout«HDerived:
:
funH«endl;
}
};
程序中画线处正确的语句是()o
fimO;
Base.fiinQ;
知识点:
第八章单选题
得分:
[习试题分值:
5.0
提示:
5、对于const关键字修饰对象的说法,下列哪一个说法是正确的()。
不能用一般的成员函数来访问可以用一般的成员函数来访问可以访问const成员函数
不能访问const成员函数
知识点:
第九章单选题
得分:
[习试题分值:
5.0提示:
6、有如卜程序:
#iiiclude
usingnamespacestd;
classMyClass{
public:
MyClassQ{++count;}
〜MyClassQ{-count;}
staticmtgetCount(){returncount;}private:
staticmtcount;
};
intMyClass:
:
count=0;
intmaiiiQ{
MyClassobj;
cout«obj.getCountQ;
MyClass*ptr=newMyClass;
cout«MyClass:
:
getCountQ;deleteptr;
cout«MyClass:
:
getCountQ;return0;
}
程序的输出结果是()。
121
232
221
122
知识点:
第九章单选题
得分:
[5]试题分值:
5.0
提示:
7、有如下程序:
#mcludeusmgnamespacestd;classA{public:
staticmta;
voiduiit(){a=l;}
A(inta=2){initQ;a++;}};
intA:
:
a=0;
Aobj;
mtmaiiiQ
{
cout«obj.a;return0;
}
运行时输出的结果是()。
0
1
2
3
知识点:
第九章单选题得分:
[5]试题分值50
提示:
8、下列哪一个只能访问静态成员变量,静态成员函数和类以外的函数和数据,而不能访问类中非静态成员变量()。
静态函数
虚函数
构造函数
析构函数
知识点:
第九章单选题
得分:
[习试题分值:
5.0
提示:
9、关于静态数据成员的特性,卞列哪一个说法是错误的()o
静态数据成员不是所有对象所共有的
静态数据成员在类体外进行初始化
声明静态数据成员时要在变量名前加关键字static来修饰
引用静态数据成员时,要在静态数据成员名前加类名和作用域运算符知识点:
第九章单选题
得分:
[5]试题分值:
5.0
提示:
10、卞列关于抽象类的表述中正确的是()。
没有函数成员的类称为抽彖类
含有虚函数成员的类称为抽彖类
含有纯虚函数成员的类称为抽彖类
用abstract修饰的类称为抽象类
知识点:
第十章单选题
得分:
[5]试题分值:
5.0
提示:
11、下列关于纯虎函数的表述中正确的是()。
纯虚函数是只有接口没有实现的虚函数
含有纯虚函数的类不能用于定义对彖,因此没有构造函数纯虚函数的声明就是在虚函数声明的尾部加上修饰“=0”派生类必须实现基类中声明的纯虚函数
知识点:
第十章单选题
得分:
[习试题分值:
5.0
提示:
12、虚函数必须是类的()。
成员函数
友元函数
静态函数
析构函数
知识点:
第十章单选题
得分:
[习试题分值:
5.0
提示:
13、有如下程序:
#iiiclude
usingnamespacestd;
classBase
{
public:
voidfirnO{cout«nBase:
:
funH«endl;}
};
classDerived:
publicBase
{
voidfun()
{
〃显式调用基类的函数fim()
cout«,,Deiived:
:
fiin"«endl;
}
};
程序中下画线处缺失的语句是()。
firn。
;
Base.fiinQ;
Ease二hm();
Base->fiin();
知识点:
第十章单选题
得分:
[习试题分值:
5.0
提示:
14、下列关于虚函数的表述中正确的是()。
只有用virtual修饰的成员函数才是虎函数派生类中覆盖虚函数的重定义函数仍然是虎函数对虚函数的调用都是动态绑定的
使用虚函数主要是为了提高运行效率
知识点:
第十章单选题
得分:
[习试题分值:
5.0
提示:
15、执行语句序列
ofstieamoutfile(nDATA.DArn);
if(v条件〉)cout«,,OKM;elsecout«HFAILM;
后,如果文件打开成功,显示“OK”,否则显示“FAIL”。
由此可知,上面if语句的<条件〉应当是()。
outfile.failO^Jcoutfile
outfil匕good()或!
outfile
outfil亡・good()或outfileoutfile.failQ^Jc!
outfile知识点:
第十一章单选题
得分:
[5]试题分值:
5・0
提示:
16、有以下程序:
#iiiclude
#mclude
usingnamespacestd;
intmamQ{
cout«setfillC#*)«setw(4)«nOKn«123«endl;retuni0;
}
执行后的输出结果是()。
##OK123
##OK#123
O如123
O孙#123#
知识点:
第十一章单选题
得分:
[5]试题分值:
5.0
提示:
17、对于语句cout«endl«x:
中的各个组成部分,卞列解释中错误的是()。
“cout”是一个输出流对象
“endl”的作用是回车换
“<<”称做提取运算符
“x”是一个变量
知识点:
第十一章单选题
得分:
[习试题分值:
5.0
提示:
<<为插入运算符。
18、FO流中的预定义流对象包括()。
cin、cout、cen\clogcin、cout、cen\ioscin、cout、ios、clogcin、ios、cerixclog
知识点:
第十一章单选题
得分:
[5]试题分值:
5.0
提示:
19、以下关于异常处理的说法,正确的是()。
异常的抛出和处理,必须在同一个函数中完成C++运行系统町以处理程序没有处理的异常每个uy语句只能和一个catch语句一起使用异常不能被传播
知识点:
第十二章单选题得分:
[5]试题分值:
5.0
提示:
20、以下不属于异常处理可以解决的问题的是()。
坏境条件出现意外
用户操作不当
出现编译错误
除数为零
知识点:
第十二章单选题
得分:
[5]试题分值:
5.0
提示:
一、单项选择题(共20道小题,共100.0分)
以下不是C++关键字的是
newchai*tiyget
知识点:
单选题
得分:
[5]试题分值:
5.0提示:
下列字符串中,正确的C卄标识符是
foo-1
2b
new
_256
知识点:
单选题
得分:
[习试题分值:
5.0
提示:
判断字符型变量ch是否为人写英文字母,应该使用表达式()
ch>=A&ch<=Z
ch<=A||chA=z
A,<=ch<=,A,
ch>=A&&ch<=Z
知识点:
第二章单选题
得分:
[5]试题分值:
5.0
提示:
卜•列语句中,错误的是()O
constmtbuffer=256;
constmttemp;
constdouble*point;
constdouble=newdouble(5.5);
知识点:
第二章单选题得分:
[5]试题分值50
提示:
)字节。
在16位计算机中,一个shortmt型数据所占用的内存长度为(
2
4
6
8
知识点:
第二章单选题
得分:
[5]试题分值:
5.0
提示:
在为类FunType重载运算符+=时,重载函数的最后一个语句是return*tliis;
关于这个重载函数,卞列表述中错误的是()。
它的名称是operator+=
它的返回值类型是FunType或FunType&
它的形参表只包含一个形参定义
它是类FunType的友元函数
知识点:
第六章单选题得分:
[5]试题分值:
5・0
提示:
关于运算符重载,下列表述正确的是()。
可以针对基本类型的数据,重新定义的含义通过运算符重载可以改变运算符的操作数个数只能重载C卄中已有的运算符
C++中所有的运算符都町以重载
知识点:
第六章单选题
得分:
[习试题分值:
5.0
提示:
在重载一个运算符时,其运算符函数的参数表中没有任何参数,这说明该运算符函数是()。
将一个一元运算符重载为全局函数
将一个一元运算符重载为成员函数
将一个二元运算符重载为全局函数
将一个二元运算符重载为成员函数
知识点:
第六章单选题
得分:
[5]试题分值:
5.0
提示:
如果表达式-j*k中的“-”和“*”都是作为友元重载的运算符,采用运算符函数调用格式,该表达式还可表示为()。
operator*(j.operator-Q,k)
operator*(operator—(j),k)
j.operatoi-().operatoi*(k)
k.operator*(operator--©))
知识点:
第六章单选题
得分:
[习试题分值:
5.0
提示:
假设名字空间A中有函数voidf(),且名字空间A被嵌套在名字空间B中,则以卞哪一项实现了对函数f()的访问()。
A.B.fQ;
++
[]
%
&&
知识点:
第四章单选题
得分:
[5]试题分值:
5.0
提示:
有如下的枚举类型声明语句,声明后伍的值是.enumweekday{sun=7jnon=l,tue5wedjhu.fiLsat};
5
6
7
8
知识点:
第四章单选题
得分:
[习试题分值:
5.0
提示:
在mtb[][3]={{l},{2,3},{4,5,6},{2}}中b[2][2]的值是.
0
3
6
2
知识点:
第四章单选题
得分:
[5]试题分值:
5.0
提示:
结构体和联合体的所有成员变量和成员函数均默认为类型。
publicprivateprotectedvoid
知识点:
第五章单选题
得分:
[习试题分值:
5.0
提示:
定义联合体的关键字是O
public
union
class
stmct
知识点:
第五章单选题
得分:
[5]试题分值:
5.0
提示:
有如下程序:
存include
usingnamespacestd;
classDemo
{
public:
Demo(){cout«HdefaultconstruetoiAnH;}
Demo(constDemo&x){cout«"copyconstmctor\iiM;}
};
DemouseiCode(Demob){Democ(b);returnc;}
intmaiiiQ
{
Demoa.d;
cout«"callinguserCodeO'n^;
d=userCode(a);
return0;
}
执行上面程序的过程中,构造函数Demo()和Demo(constDemo&x)被调用的次数
分别是()。
1和1
1和2
2和3
2和4
知识点:
第五章单选题
得分:
[5]试题分值:
5.0
提示:
有如下的程序:
存include
#mclude
usingnamespacestd;
classMyStrmg
{
public:
MvStiing(constchai*s);
^MvStriiigO{delete[]data;}
protect:
unsignedlen;
cliar*data;
};
MyStriiig:
:
MyStriiig(constchar*s)
{
len=strlen(s);
data=newchar[len+l];
strcpy(data,s);
}
intmaiiiQ
{
MyStrmga(HC++Piogiamming”);
MyStrmgb(a);retuni0;
}
在运行上面的程序时出错,出错的原因是()。
构造函数的实参不允许是本类的对彖
没有定义实现深层复制(深拷贝)的拷贝构造函数
构造对彖a时实参与形参类型不符
系统不能生成缺省的拷贝构造函数
知识点:
第五章单选题得分:
[5]试题分值:
5.0
提示:
要求通过函数实现一种不太复杂的功能,并且要加快执行速度,则选用()。
内联函数
重载函数
递归函数
嵌套函数
知识点:
第五章单选题得分:
[5]试题分值:
5.0
提示:
一、单项选择题(共20道小题,共100.0分)
有如下类声明:
classAA{
voidflQ;
protected:
voidf2Q;
public
voidf3Q;
};
classBB:
publicAA{
public:
voidf4Q;
};
在fl()、£20、fBO这3个函数中,f4()可以调用的包扌舌()。
fl()和I£20
£20和B0
fl()和f3(j
fl()、£2()和!
£30
知识点:
第八章单选题
1、
得分:
[5]试题分值:
5.0
提示:
多继承是指()。
一个派生类同时继承多个基类
多个派生类同时继承一个基类
基类本身又是一个更高一级基类的派生类派生类本身又是更低一级派生类的基类知识点:
第八章单选题
2、
得分:
[5]试题分值:
5.0
提示:
有如下程序:
#iiiclude
usingnamespacestd;