C++试题17Word格式文档下载.docx

上传人:b****6 文档编号:21586651 上传时间:2023-01-31 格式:DOCX 页数:17 大小:19.94KB
下载 相关 举报
C++试题17Word格式文档下载.docx_第1页
第1页 / 共17页
C++试题17Word格式文档下载.docx_第2页
第2页 / 共17页
C++试题17Word格式文档下载.docx_第3页
第3页 / 共17页
C++试题17Word格式文档下载.docx_第4页
第4页 / 共17页
C++试题17Word格式文档下载.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

C++试题17Word格式文档下载.docx

《C++试题17Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C++试题17Word格式文档下载.docx(17页珍藏版)》请在冰豆网上搜索。

C++试题17Word格式文档下载.docx

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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 政史地

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1