C++模拟题二十Word文档下载推荐.docx
- 文档编号:21771724
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:15
- 大小:21.51KB
C++模拟题二十Word文档下载推荐.docx
《C++模拟题二十Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《C++模拟题二十Word文档下载推荐.docx(15页珍藏版)》请在冰豆网上搜索。
n为true或mn&
&
m<
N<
p>
B.switch语句结构中必须有default语句
C.if语句结构中必须有else语句
D.如果至少有一个操作数为true,则包含“||”运算符的表达式为true
13.下面关于break语句的描述中,不正确的是()
A.break可以用于循环体内
B.break语句可以在for循环语句中出现多次
C.break语句可以在switch语句中出现多次
D.break语句可用于if条件判断语句内
14.下面程序错误的是()
①#include
②voidmain()
③{
④int*p=newint[1];
⑤p=9;
⑥cout<
<
*p<
ENDL;
⑦delete[]p;
⑧}
A.④B.⑤C.⑥D.⑦
15.不能作为重载函数的调用的依据是()
A.参数个数B.参数类型C.函数类型D.函数名称
16.在C++语言中,数据封装要解决的问题是()
A.数据的规范化B.便于数据转换
C.避免数据丢失D.防止不同模块之间数据的非法访问
17.对类的构造和析构函数描述正确的是()
A.构造函数可以重载,析构函数不能重载
B.构造函数不能重载,析构函数可以重载
C.构造函数可以重载,析构函数也可以重载
D.构造函数不能重载,析构函数也不能重载
18.下列对静态数据成员的描述,正确的是()
A.静态数据成员是类的所有对象共享的数据
B.类的每个对象都有自己的静态数据成员
C.类的不同对象有不同的静态数据成员值
D.静态数据成员不能通过类的对象调用
19.可以用p.a的形式访问派生类对象p的基类成员a,其中a是()
A.私有继承的公有成员B.公有继承的私有成员
C.公有继承的保护成员D.公有继承的公有成员
20.下面关于虚函数的描述,错误的是()
A.在成员函数声明的前面加上virtual修饰,就可把该函数声明为虚函数
B.基类中说明了虚函数后,派生类中对应的函数也必须说明为虚函数
C.虚函数可以是另一个类的友元函数,但不能是静态成员函数
D.基类中说明的纯虚函数在其任何派生类中都必须实现
21.语句ofstreamf(″SALARY.DAT″,ios:
:
app|ios:
binary);
的功能是建立流对象f,试图打开文件SALARY.DAT并与之连接,并且()
A.若文件存在,将文件写指针定位于文件尾;
若文件不存在,建立一个新文件
B.若文件存在,将其置为空文件;
若文件不存在,找开失败
C.若文件存在,将文件写指针定位于文件首;
D.若文件存在,找开失败;
22.下面程序的运行结果是()
#include
voidfun(int*a,int*b)
{intx=*a;
*a=*b;
*b=x;
cout<
*a<
*b<
″″;
}
voidmain()
{intx=1,y=2;
fun(&
x,&
y);
cout<
X<
Y<
>
A.1212B.1221C.2112D.2121
23.以下哪个特征不是面向对象思想中的主要特征?
()
A.多态B.继承C.封装D.垃圾回收
24.C++中运算符优先级由高到低排列正确的是()
A.:
+++||B.<
*||,C.sizeof%+:
D.,&
newsizeof
25.以下for语句中不是死循环的是()
A.for(inti=0;
i<
1;
++i);
B.for(inti=0;
;
C.for(inti=1;
i>
0;
D.for(;
);
26.以下定义数组中错误的是()
A.inta[10];
B.inta[2][20];
C.inta[20][];
D.inta[];
27.下面程序错误的语句是()
#include″iostrteam.h″
①voidmain()
②{
③intA=0;
④int&
B;
⑤B=A;
B;
⑦cout<
A;
A.②B.③C.④D.⑥
28.函数inttest(inta,intb=1,intc=0),下列调用不合法的个数是()
test(0);
test(0,0);
test();
test(0,0,0);
A.0B.1C.2D.3
29.C++语言中关于构造函数的说法正确的是()
A.构造函数的函数名不必和类名相同B.构造函数只能每一个
C.每个类必定有构造函数D.构造函数必有返回值
30.下面程序的执行结果为()
#include″iostream″
usingnamespacestd;
classA
{inta;
public:
voidSeta(intx){a=x;
}
voidDisplay_a(){cout<
A<
classB
{intb;
voidSetb(intx){b=x;
voidDispaly_b(){cout<
B<
classC:
publicA,privateB
{private:
intc;
voidSetc(intx,inty,intz)
{c=z;
Seta(x);
Setb(y);
voidDisplay_c(){cout<
C<
30.下面程序的执行结果为()
32.只能作为成员函数重载的是()
A.=B.++C.*D.new
33.语句cout<
SETPRECISION
(2)<
A.1024.4567 B.1024
C.1024.45 D.1e+003
34.下列程序的结果是()
#include″iostream.h″
{char*str;
str=″test!
″;
A.程序错误B.!
C.′\0′D.为空字符
35.C++函数中不能由系统自动生成的是()
A.析构函数 B.构造函数
C.内联函数 D.拷贝构造函数
二、填空题
1.数据结构分为逻辑结构与存储结构,线性链表属于【1】。
【参考答案】
【1】存储结构
2.耦合和内聚是评价模块独立性的两个主要标准,其中【2】反映了模块内各成分之间的联系。
【2】内聚
3.数据库设计分为以下6个设计阶段:
需求分析阶段、【3】、逻辑设计阶段、物理设计阶段、实施阶段、运行和维护阶段。
【3】数据库概念设计阶段
4.面向对象模型最基本概念是对象和【4】。
【4】类
5.数据模型按不同应用层次分成3种类型,它们是概念数据模型、【5】和物理数据模型。
【5】逻辑数据模型
6.开发一个C++语言程序的步骤通常包括编辑、【6】、链接、运行和调试。
【6】编译
7.下面程序的输出结果为【7】。
{intnum=0,i=8;
do{
i--;
num++;
}while(--i);
NUM<
【7】-4
8.下面程序的运行结果为【8】。
voidfun(intx=0,inty=0)
{cout<
{fun(5);
【8】50
9.C++语言支持的两种多态性分别是编译时的多态性和【9】的多态性。
【9】运行时
10.cout.put(′A′);
,还可以表示为【10】。
【10】cout<
′A′;
11.将以下程序写成三目运算表达式是【11】。
if(a>
b)max=a;
elsemax=b;
【11】max=(a>
b)?
a:
b;
12.下面程序的功能是将字符数组a中下标值为偶数的元素从小到大排列,其他元素不变,请填空。
{chara[]=″clanguage″,t;
inti,j,k;
k=strlen(a);
for(i=0;
=k-2;
i+=2)
for(j=i+2;
j<
=k;
【12】)
if(【13】)
{t=a[i];
a[i]=a[j];
a[j]=t;
}<
【12】j+=2
【13】a[i]>
=a[j]或a[i]>
a[j]
13.请定义一个函数名为A,返回值为int,没有参数的纯虚函数的定义是【14】。
【14】virtualintA()=0;
14.假设fin是一个文件流对象,则关闭文件的语句是【15】。
【15】fin
上机部分
一、改错题
使用VC6打开考生文件夹下的工程kt20_1,此工程包含一个源程序文件kt20_1.cpp,但该程序运行有问题,请改正函数中的错误,使该程序的输出结果为:
Thefirstresultis5
Thesecondresultis2
Thethirdresultis2
Thefourthresultis6
源程序文件kt20_1.cpp清单如下:
intsubtraction(inta,intb)
{intr;
r=a-b;
/*****************found*****************/
return&
r;
intmain()
{intx=5,y=3,z;
z=subtraction(7,2);
"
Thefirstresultis"
Z<
'
\N'
Thesecondresultis"
SUBTRACTION(7,SUBTRACTION(7,2))<
Thethirdresultis"
SUBTRACTION(&
X,&
Y)<
z=4+*subtraction(x,y);
Thefourthresultis"
return0;
(1)将return&
改为:
returnr;
(2)将cout<
"
Thethirdresultis"
<
subtraction(&
y)<
'
\n'
改为:
cout<
subtraction(x,y)<
(3)将z=4+*subtraction(x,y);
z=4+subtraction(x,y);
【试题解析】
(1)主要考查对于函数的返回值类型的理解,题目中函数的定义是int型的,所以应该返回一个该类型的参数,这里的错误就在于它返回了一个int型参数的地址,如果把函数返回值定义成int型的指针,那么这种返回方式就正确了;
(2)主要考查对已经定义好参数类型和个数的函数,题目中的函数subtraction()已经定义好了,是两个int型的参数,但是这里错误的调用了两个参数的地址,使得本来是传值调用变成了传址调用,所以会报错,传值调用是把参数的数值复制后传入函数中,不改变原函数中参数的值,而传址调用是把参数在内存中的地址传进函数中,函数对参数的任何作用都会改变原函数中参数的值;
(3)主要考查对函数调用的掌握,函数subtraction()是一个普通函数,调用的时候直接写函数名和适当的参数就可以了。
二、简单应用题
请编写一个函数printdate(intyear,intmonth,intday),该函数实现将输入的3个数字转换成英语数字纪年输出的功能,如输入March9,1978,则输出197839。
注意:
使用switch结构实现该函数的基本功能并应该能够判断错误的输入。
部分源程序已存在文件kt20_2.cpp中。
请勿修改主函数main和其他函数中的任何内容,仅在函数printdate的花括号中填写若干语句。
源程序文件kt20_2.cpp清单如下:
voidprintdate(intyear,intmonth,intday)
{
}
voidmain()
{printdate(1978,3,9);
voidprintdate(intyear,intmonth,intday)
{if(year<
0||month<
1||month>
12||day<
1||day>
31)
ERROR"
return;
switch(month)
{case1:
cout<
January"
break;
case2:
February"
case3:
March"
case4:
April"
case5:
May"
case6:
June"
case7:
July"
case8:
Auguest"
case9:
September"
case10:
October"
case11:
November"
case12:
December"
DAY<
"
YEAR<
本题考查对switch结构的应用。
switch分支结构也是常用的选择结构,对于每个case结构,只有遇到break才会中止并且跳出switch结构,否则会一直执行到下一个break或者switch的结尾,而对于参数的预处理应该是程序健壮性的基本要求。
三、综合应用题
使用VC6打开考生文件夹下的工程kt20_3。
此工程包含一个kt20_3.cpp,其中定义了类CVector,,但该类的定义并不完整。
请按要求完成下列操作,将程序补充完整。
(1)完成类CVector构造函数的定义,把传入的int型参数a和b分别赋值给类的成员变量x和y。
请在注释“//**1**”之后添加适当的语句。
(2)完成类CVector的"
+"
运算符重载函数的定义,使Cvector类的两个对象相加时可以直接使用符号"
,并且结果仍然为类Cvector的对象,请在注释“//**2**”之后添加适当的语句。
(3)在主函数中添加适当的语句,把类Cvector的对象a和b相加,并且把结果保存在对象c中,最后以"
x,y"
的形式输出在屏幕上,请在注释“//**3**”之后添加适当的语句。
源程序文件kt20_3.cpp清单如下:
classCVector
{public:
intx,y;
CVector(){};
CVector(int,int);
CVectoroperator+(CVector);
};
CVector:
CVector(inta,intb)
{//**1**}
CVectorCVector:
operator+(CVectorparam)
{//**2**
temp.y=y+param.y;
return(temp);
{CVectora(3,1);
CVectorb(1,2);
CVectorc;
//**3**
(1)x=a;
y=b;
(2)CVectortemp;
temp.x=x+param.x;
(3)c=a+b;
cout<
c.x<
c.y;
主要考查对类的数据成员赋值与定义重载为成员函数的运算符函数的掌握,其中
(2)就是运算符函数的实现,实际上就是通过已有的函数和符号实现复杂的运算功能,并最终返回该类的对象,注意最后的返回值必须是对象才能满足要求,(4)中使用对象调用类的数据成员用符号“.”。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 模拟 题二十