C++试题17Word格式文档下载.docx
- 文档编号:21586651
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:17
- 大小:19.94KB
C++试题17Word格式文档下载.docx
《C++试题17Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C++试题17Word格式文档下载.docx(17页珍藏版)》请在冰豆网上搜索。
1).15,55
2).10,55
第3题(1.0分)题号:
1579
若有定义intj=2,s=1;
intb[][3]={{1},{3,2},{4,5,6},{0}};
则表达式b[j+s][j-s]+b[j++][--s]的值是【1】.
1).4
第4题(1.0分)题号:
2404
设有语句“chars[]="
Rep\0Ch"
intm=sizeof(s);
”,则m的值为______【1】_______。
1).7
第5题(1.0分)题号:
90
下列程序中函数invert的功能是将单链表逆置。
若原链表结点上的值依次为2、6、7、1、9,则逆置后链表结点上的值依次为9、1、7、6、2。
请完善程序。
structnode
{intx;
node*next;
};
node*invert(node*first)
{node*p=first,*q;
first=【1】;
while(p)
{q=p->
next;
p->
next=【2】;
first=【3】;
p=【4】;
returnfirst;
voidmain()
{nodea[10]={{1},{2},{3},{4},{5},{6},{7},{8},{9},{10}},*hd=a,*p;
for(inti=0;
9;
i++)a[i].next=&
a[i+1];
a[9].next=NULL;
p=invert(hd);
while(p){cout<
p->
x;
p=p->
}
1).NULL
2).first
3).p
4).q
第6题(1.0分)题号:
2421
同一个类的两个对象,其非静态数据成员是不同的,但__【1】___是共享的。
1).成员函数和静态数据成员
第7题(1.0分)题号:
933
如果类的成员对象不提供成员初始化值,则调用该对象的【1】。
1).构造函数或缺省的构造函数
第8题(1.0分)题号:
1770
以下程序输出的第二行【1】,第三行【2】,第四行【3】.#include<
string.h>
classBase{
charstr[20];
public:
Base(char*s="
Basedefault"
){strcpy(str,s);
str<
}
};
classInh1:
publicvirtualBase{
charstr1[20];
Inh1(char*s1,char*s2):
Base(s1){strcpy(str1,s2);
str1<
classInh2:
charstr2[20];
Inh2(char*s1,char*s2):
Base(s1){strcpy(str2,s2);
str2<
classInh3:
publicInh1,publicInh2{
charstr3[20];
Inh3(char*s1,char*s2,char*s3,char*s4):
Inh1(s1,s2),Inh2(s1,s3)
{strcpy(str3,s4);
str3<
voidmain(void)
{Inh3a("
classBase"
"
classInh1"
classInh2"
classInh3"
);
1).classInh1
2).classInh2
3).classInh3
第9题(1.0分)题号:
1792
假设类A中有一个公有属性的静态数据成员b,在类外不通过对象名访问该成员b的写法是【1】.
1).A:
:
b
第10题(1.0分)题号:
2423
C++中不可重载为友元函数的运算符为___【1】_______运算符。
1).类型转换
第11题(4.0分)题号:
1716
以下程序执行后第一行结果为【1】,第二行结果为【2】.
chararr[]="
ABc"
char*ptr;
for(ptr=arr;
ptr<
arr+2;
ptr++)
*ptr<
\n'
1).A
2).B
第12题(4.0分)题号:
1753
下列程序第一行和第二行输出结果分别为【1】,【2】。
#include<
classSample{
intx,y;
Sample(){x=y=0;
Sample(inta){x=a;
Sample(doublea){x=++(int)a;
voidshow(){cout<
"
x="
x<
{Samples1(5),s2(10/5.0);
s1.show();
s2.show();
1).x=5
2).x=3
第13题(4.0分)题号:
1542
以下程序运行结果是【1】.
voidf1(intn)
{cout<
n%10;
if(n/10)f1(n/10);
voidf2(intn)
{intj=n%10;
if(n/10)f2(n/10);
j;
voidmain(void)
{f1(234);
f2(234);
1).432234或234
第14题(4.0分)题号:
1697
程序输出的第一行是【1】.第二行是【2】.#include<
{inta[6][2]={{1,3},{5,7},{9,11},{13,15},{17,19},{21,23}};
int(*p)[2],i;
p=a+3;
for(i=0;
3;
p=p+1,i++)
*p[0]<
"
\n"
for(p=a;
p<
a+6;
p++)
**p<
*(*(p)+1)<
1).131721
2).13
第15题(4.0分)题号:
1791
下列程序的输出结果第一行是【1】,第二行是【2】。
#include<
classBase{
voiddisplay1(){cout<
Base:
display1()"
virtualvoiddisplay2(){cout<
display2()"
classDerived:
publicBase{
derived:
voiddisplay2(){cout<
voidmain()
{Base*pbase;
Derivedd;
pbase=&
d;
pbase->
display1();
pbase->
display2();
1).Base:
display1()
2).Derived:
display2()
第16题(4.0分)题号:
1592
下列程序输出的第一行、第二行分别是【1】、【2】。
#include<
intFirst(inta[],intn,intm)
n;
if(a[i]==m)
for(intj=i+1;
j<
j++)a[j-1]=a[j];
return1;
return0;
voidprint(inta[],intn)
a[i]<
\t'
inta[]={1,2,3,4,5,6,7};
if(First(a,7,2))print(a,6);
if(First(a,3,6))print(a,5);
if(First(a,5,1))print(a,4);
Endofmain()!
1).134567
2).3456
二、单项选择共20题(共计20分)
2277
一个C++程序总是从____开始执行的。
A:
主过程
B:
主函数
C:
子过程
D:
子函数
B
3931
下列定义变量和常用语句中,语法正确的是____.
floati,j,intk;
constinti;
intconstk=1;
#definePI=3.14159
C
2280
不正确的int类型的常数是____。
32450
0387
0xA1L
2339
设有下列语句:
inti=17;
cin>
>
hex>
i;
cout<
i="
若输入10,则运行结果值为____。
17
10
1
16
D
2364
下列关于while与do…while循环语句的叙述正确的是____.
do...while的循环体至少执行一次
while的循环体至少执行一次
do...while的循环体不能是复合语句
do...while允许从循环体外跳到循环体内
A
2360
若有循环语句for(inta=0,b=1;
a++,b++)a+=b;
则循环结束后a、b、的值分别是____.
a=3b=3
a=5b=5
a=5b=3
a=3b=2
3604
在一个函数中定义的静态变量的作用域为____.
本程序的全部范围
本函数的全部范围
从定义该变量的位置开始到本文件结束
以上说法都不正确
3613
若定义函数:
intf(intx){x++;
returnx;
执行以下语句:
f(a)+f(a);
则a的值是____.
5
6
7
8
3669
若有定义inta[5]={1,3,5};
则数组元素a[3]的值是____.
3
3660
下列程序的运行结果是____.
{chars[]="
Rep\0ch"
intm=sizeof(s);
intn=strlen(s);
m<
n<
73
63
77
67
第11题(1.0分)题号:
3663
执行以下程序时,输入一行字符串为Thankyouverymuch!
程序的输出结果为____.
{charline[100];
cin>
line;
line<
T
Thank
Thankyouverymuch!
Thankyou
第12题(1.0分)题号:
2392
以下程序的输出结果为____.
iomanip.h>
{structcmplx
{intx;
inty;
}cnum[2]={1,3,2,7};
cnum[0].y/cnum[0].x*cnum[1].x<
第13题(1.0分)题号:
3152
设有说明语句:
inti=2,*p=&
chars[20]="
Hello"
*q=s;
以下选项中存在语法错误的是____.
p
q
第14题(1.0分)题号:
若有以下的定义inta[3][4];
(*p)[4]=a;
则与表达式*(a+1)+2不等价的是____.
p[1][2]
*(p+1)+2
p[1]+2
a[1]+2
第15题(1.0分)题号:
2410
若有以下说明和定义
{intdata;
}a,*p;
不能正确表示结构体成员值的是____。
a.data
data
(*p).data
p.data
第16题(1.0分)题号:
4325
在定义类A时,下列______不可以作为类的成员。
指向类A的对象指针
类A的对象
指向另一个不同的类的对象指针
另一个不同类的对象
第17题(1.0分)题号:
3222
系统提供的默认拷贝构造函数中形参表和函数体分别为____.
形参表为空,函数体为空
形参表为空,函数体不为空
形参表不为空,函数体为空
形参表不为空,函数体不为空
第18题(1.0分)题号:
3627
下列程序的运行结果是____.
classA{
voidshow(){cout<
A"
classB:
A{
voidshow(){cout<
B"
{Bb;
A*p=&
b;
show();
A和B
编译时出错
第19题(1.0分)题号:
1614
下列关于虚基类的描述中,错误的是____。
设置虚基类的目的是为了消除二义性
虚基类的构造函数在非虚基类之后调用
若同一层包含多个虚基类,这些基类的构造函数按照它们的次序调用
若虚基类由非基类派生而来,则仍然先调用基类构造函数,再用派生类的构造函数
第20题(1.0分)题号:
4340
若通过类的成员函数和友员函数实现的运算符重载功能是一样的,下列说法正确的是____
两种函数的参数相同,函数体实现过程不同
两种函数在程序中使用时编译器所作的解释相同
两种函数在使用时表达式的形式不同
重载为友元函数比重载为成员函数多一个参数
三、程序填空共2题(共计16分)
第1题(8.0分)题号:
629
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
题目:
阅读并完善下列程序。
-------------------------------------------------------*/
classA{
ints[2];
A(intx=0,inty=0){s[0]=x;
s[1]=y;
/***********SPACE***********/
______【?
】______//定义“=”重载函数
{s[0]=t.s[0];
s[1]=t.s[1];
return*this;
Aoperator++()//定义前置++重载函数
{++s[0];
++s[1];
/***********SPACE***********/
return____【?
】____;
_______【?
】_________//定义后置++重载函数
{At=*this;
++(*this);
/***********SPACE***********/
return【?
】;
voidprint()
{cout<
s[0]<
s[1]<
;
voidmain()
{Aa1,a2,a3(10,20);
a1=a2=a3++;
//连续赋值
a1.print();
a2.print();
a3.print();
1).Aoperator=(At)
2).*this
3).Aoperator++(int)
4).t
第2题(8.0分)题号:
635
下列程序可求数组a中最小的元素在数组中的位置,并返回之。
#include<
fun(inta[],intn)
inti,p;
【?
for(i=1;
if(a[i]<
a[p])【?
return(p);
{
inta[]={41,23,45,7,89,10},k;
k=sizeof(a)/【?
fun(【?
】,k);
1).p=0
2).p=i
3).sizeof(int)
4).a
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 试题 17