C++试题13.docx

上传人:b****1 文档编号:2571963 上传时间:2023-05-04 格式:DOCX 页数:21 大小:20.06KB
下载 相关 举报
C++试题13.docx_第1页
第1页 / 共21页
C++试题13.docx_第2页
第2页 / 共21页
C++试题13.docx_第3页
第3页 / 共21页
C++试题13.docx_第4页
第4页 / 共21页
C++试题13.docx_第5页
第5页 / 共21页
C++试题13.docx_第6页
第6页 / 共21页
C++试题13.docx_第7页
第7页 / 共21页
C++试题13.docx_第8页
第8页 / 共21页
C++试题13.docx_第9页
第9页 / 共21页
C++试题13.docx_第10页
第10页 / 共21页
C++试题13.docx_第11页
第11页 / 共21页
C++试题13.docx_第12页
第12页 / 共21页
C++试题13.docx_第13页
第13页 / 共21页
C++试题13.docx_第14页
第14页 / 共21页
C++试题13.docx_第15页
第15页 / 共21页
C++试题13.docx_第16页
第16页 / 共21页
C++试题13.docx_第17页
第17页 / 共21页
C++试题13.docx_第18页
第18页 / 共21页
C++试题13.docx_第19页
第19页 / 共21页
C++试题13.docx_第20页
第20页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C++试题13.docx

《C++试题13.docx》由会员分享,可在线阅读,更多相关《C++试题13.docx(21页珍藏版)》请在冰点文库上搜索。

C++试题13.docx

C++试题13

试卷编号:

8781

所属语言:

C++

试卷方案:

C+_20091213211338

试卷总分:

70分

共有题型:

3种

 

一、填空共16题(共计34分)

第1题(1.0分)题号:

2366

如果VC++的字符能以转义序列表示,则其ASCII值应以___【1】____进制或___【2】_____进制表示。

答案:

1).八

2).十六

 

第2题(1.0分)题号:

2401

设正方形的边长用参数a表示,则求正方形面积的宏的定义为_____【1】____。

答案:

1).#definearea(a)((a)*(a))

 

第3题(1.0分)题号:

2403

在C++中,"Students"的值是______【1】_____。

答案:

1).该字符串的串首地址

 

第4题(1.0分)题号:

2406

当说明一个结构体变量时,系统分配给它的内存大小为____【1】___。

答案:

1).结构体变量中各成员所需内存量的总和

 

第5题(1.0分)题号:

2412

已知a为一个整型数组,指针变量p1指向元素a[1],p2指向a[3],

若一个整型变量在系统中所占的内存字节数为4,则p2-p1的值为___【1】___,(int)p2-(int)p1的值为____【2】____。

答案:

1).2

2).8

 

第6题(1.0分)题号:

1736

下面程序第一行输出结果是【1】,第二行输出结果是【2】.

#include

classLocal

{

intX;

public:

voidinit(){X=0;}

voidinit(intx){X=x;}

voidprint(){cout<

}a;

voidmain()

{Localb;

a.init();b.init(5);

a.print();b.print();

}

答案:

1).0

2).5

 

第7题(1.0分)题号:

1757

若有下列类定义,请对其构造函数进行完善.

#include

classA{

public:

intX;

A(intx){X=x*x;}

};

classS{

intx;Aa;

public:

S(intb,intc):

【1】

{x=b+【2】.X;}

};

答案:

1).a(c)

2).a

 

第8题(1.0分)题号:

1771

下面程序中定义了圆类Circle,长方形类Rect,圆角长方形类RoundRect,其中RectRound继承于Circle和Rect类.试完成该程序.

#include

#include

classCircle{

doubleradius;

public:

Circle(doubler):

【1】{}

doublecomplete_area(){return3.14*radius*radius;}

};

classRect{

doublewidth,heigth;

public:

Rect(doublew,doubleh){width=w,heigth=h;}

doublecomplete_area(){returnheigth*width;}

};

classRoundRect:

publicCircle,publicRect{

charcolor[5];

public:

RoundRect(【2】):

Circle(r),Rect(w,h){strcpy(color,c);}

char*get_color(){returncolor;}

};

voidmain()

{RoundRectrr(0.8,1,0.25,"白色");

cout<

}

答案:

1).radius(r)

2).doublew,doubleh,doubler,charc[]

 

第9题(1.0分)题号:

1792

假设类A中有一个公有属性的静态数据成员b,在类外不通过对象名访问该成员b的写法是【1】.

答案:

1).A:

:

b

 

第10题(1.0分)题号:

1799

下列程序第一行输出的结果为8,第二行输出的结果为10,请完善程序.#include

classB{

inta,b;

public:

B(intaa=0,intbb=0){a=aa;b=bb;}

【1】operator+(Bb,intx);

voidshow(){cout<

};

Boperator+(Bc,intx)

{Br;

r.a=【2】;r.b=【3】;

returnr;

}

voidmain()

{Bx(3,5),y(8,4),z1;

z1=x+5;

z1.show();

}

答案:

1).friendB

2).c.a+x

3).c.b+x

 

第11题(4.0分)题号:

1702

程序输出的第一行是【1】.第二行是【2】.#include

structs

{intx,*y;

}*p;

voidmain()

{

inta[6]={1,2,3,4,5,6};

sb[4]={100,&a[1],200,&a[3],10,&a[2],20,&a[5]};

p=b+2;

cout<<*(p++->y)<

cout<<++(p->x);

}

答案:

1).3

2).21

 

第12题(4.0分)题号:

1753

下列程序第一行和第二行输出结果分别为【1】,【2】。

#include

classSample{

public:

intx,y;

Sample(){x=y=0;}

Sample(inta){x=a;}

Sample(doublea){x=++(int)a;}

voidshow(){cout<<"x="<

};

voidmain()

{Samples1(5),s2(10/5.0);s1.show();s2.show();}

答案:

1).x=5

2).x=3

 

第13题(4.0分)题号:

1559

下列程序第一行的结果是【1】,第二行的结果是【2】.

#include

intx=10;

voidf()

{intx=30;

:

:

x+=x;

}

voidmain(void)

{intx=20;

x+=:

:

x;

:

:

x+=x;

cout<

:

x;

}

答案:

1).30

2).40

 

第14题(4.0分)题号:

1697

程序输出的第一行是【1】.第二行是【2】.#include

voidmain()

{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;i<3;p=p+1,i++)

cout<<*p[0]<<"";

cout<<"\n";

for(p=a;p

cout<<**p<<""<<*(*(p)+1)<

}

答案:

1).131721

2).13

 

第15题(4.0分)题号:

1788

下列程序的输出结果是第一行是【1】,第三行是【2】。

#include

classA{

public:

virtualvoidfunc1(){cout<<"A.func1"<<'\n';}

voidfunc2(){cout<<"A.func2"<<'\n';}

};

classB:

publicA{

public:

voidfunc1(){cout<<"B.func1"<<'\n';}

virtualvoidfunc2(){cout<<"B.func2"<<'\n';}

};

classC:

publicB{

public:

voidfunc1(){cout<<"C.func1"<<'\n';}

voidfunc2(){cout<<"C.func2"<<'\n';}

};

voidmain()

{A*a;Bb;Cc;

a=&b;a->func1();a->func2();

a=&c;a->func1();a->func2();

}

答案:

1).B.func1

2).C.func1

 

第16题(4.0分)题号:

2405

以下程序输出的第一行是____【1】____,第二行是___【2】____。

#include

floatf(floatsum,floatx[],intn)

{

for(inti=0;i

returnsum/n;

}

voidmain(void)

{

floatx[]={2,4,6,8},sum=0,y;

y=f(sum,x,4);

cout<<"sum="<

cout<<"y="<

}

答案:

1).sum=0

2).y=5

 

二、单项选择共20题(共计20分)

第1题(1.0分)题号:

2274

在以下叙述中,不正确的是____。

A:

C++语言中,仅在处理字符与字符串时才区分字母的大小写

B:

C++语言没有输入/输出语句,输入/输出是通过输入/输出库函数实现的

C:

C++语言是C语言的一个超集

D:

一个C++程序总是从main()函数开始执行,而不管该函数在整个程序中的具体位置

答案:

A

第2题(1.0分)题号:

2312

以下各标识符中,不合法的用户标识符是____。

A:

inclode

B:

For

C:

Edei

D:

t

答案:

C

第3题(1.0分)题号:

1610

设有定义intx;floaty;,则10+x+y值的数据类型是____。

A:

int

B:

double

C:

float

D:

不确定

答案:

C

第4题(1.0分)题号:

2338

设有inti,b;则下列语句正确的是____。

A:

cin.get(i);

B:

cin>>oct>>b;

C:

cin>>(i+b);

D:

cin>>i+b;

答案:

B

第5题(1.0分)题号:

2371

设i和k都是int类型,则以下语句____.

for(i=0,k=-1;k=1;i++,k++)cout<<"****\n";

A:

判断循环体结束的条件不合法

B:

是无限循环

C:

循环体一次也不执行

D:

循环体只执行一次

答案:

B

第6题(1.0分)题号:

2376

下列程序的输出结果为____.

#include

voidmain(void)

{

inta=7;

switch(a%5)

{

case0:

cout<

case1:

cout<<++a;

case2:

cout<

case3:

cout<<--a;

default:

cout<<"其他值";

}

 

}

A:

75其他值

B:

7

C:

5

D:

75

答案:

A

第7题(1.0分)题号:

3616

下列编译预处理命令正确的是____.

A:

#defineMUL(inta,intb)a*b

B:

#include"iostream.h"

C:

#defineMUL(inta)a*b

D:

#include"iostream.h","math.h"

答案:

B

第8题(1.0分)题号:

4288

下列程序运行后输出为___________。

#include

intfun(inta)

{staticintx=5;

x+=a;

returnx;

}

voidmain()

{inti=3,j=4,k;

k=fun(i);

k=fun(j);

cout<

}

A:

9

B:

11

C:

12

D:

13

答案:

C

第9题(1.0分)题号:

3667

下列不正确的初始化语句是____.

A:

charA[101]={'a','b'};

B:

charA[]={'a','b'};

C:

charA[10]="abc";

D:

charA[3]={"abc"};

答案:

D

第10题(1.0分)题号:

3917

设定义了宏:

#defineN2

以下定义数组的选项中,存在语法错误的是.

A:

intn;cin>>n;inta[n];

B:

intconstn=5;inta[n];

C:

inta[2*N+1];

D:

inta[]={1,2,3,4,5};doubleb[sizeof(a)];

答案:

A

第11题(1.0分)题号:

3661

若有定义chars1[10]="abcd";则下列语句正确的是____.

A:

strcpy(s1,'a');

B:

strcpy("world",s1);

C:

strcpy(s1,"bigbigworld");

D:

strcpy(s1,"world");

答案:

D

第12题(1.0分)题号:

2390

若有定义

structstudent

{intnum;

charname[20];

}stu;

则下列语句正确的是____.

A:

student.num=1;

B:

stu.num=2;

C:

cout<

D:

cint>>stu;

答案:

B

第13题(1.0分)题号:

2423

若有以下说明和语句,则____是对数组元素的错误引用.

inta[]={1,2,3,4,5,6,7,8,9,0},*p=a,i=2;

A:

*(a+i)

B:

a[p-a]

C:

p+i

D:

*(&a[i])

答案:

C

第14题(1.0分)题号:

3140

语句float(*p)(int,int)的作用是____.

A:

函数原型说明

B:

定义变量

C:

函数定义

D:

函数调用

答案:

B

第15题(1.0分)题号:

3905

下面有关类的构造函数与析构函数的叙述中,正确的是____.

A:

同一个类的析构函数只能有一个

B:

同一个类的构造函数只能有一个

C:

同一类的析构函数可定义多个

D:

类的构造函数名可任意定义

答案:

A

第16题(1.0分)题号:

4326

对于类A的对象的说明中,肯定不正确的是______

A:

Aa1;

B:

Aa2(15);

C:

A*p=newA;

D:

Aa3();

答案:

D

第17题(1.0分)题号:

3213

在类说明时可以用于修饰其成员的关键字是____.

A:

extern

B:

auto

C:

static

D:

register

答案:

C

第18题(1.0分)题号:

3628

设有基类定义:

classCbase{

private:

inta;

protected:

intb;

public:

intc;

};派生类采用何种继承方式可以使成员变量b成为自己的私有成员____.

A:

私有继承

B:

保护继承

C:

公有继承

D:

私有、保护、公有继承均可

答案:

A

第19题(1.0分)题号:

3643

下列叙述正确的是____.

A:

虚函数必须是类的成员函数

B:

只要是类的成员函数就可声明为虚函数

C:

含有纯虚函数的类是不可以用来创建对象的,因为它是虚基类

D:

静态数据成员可以通过构造函数来初始化

答案:

A

第20题(1.0分)题号:

4339

下列运算符的重载函数至少有一个参数________。

A:

=

B:

类型转换运算符

C:

++

D:

答案:

A

三、程序填空共2题(共计16分)

第1题(8.0分)题号:

633

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

题目:

下列程序将类String的对象转换为一个整数。

如将类String的对象st的成员数据字符串“0123”转换成整数123。

请填空完善。

-------------------------------------------------------*/

#include

#include

classString{

char*s;

public:

String(char*str=0)

{s=newchar[strlen(str)+1];strcpy(s,str);}

~String(){if(s)delete[]s;}

voidshow(){cout<

/***********SPACE***********/

【?

】;//转换函数原型说明

};

/***********SPACE***********/

【?

】//定义转换函数

{intn=strlen(s),m=0;

for(inti=n-1,j=0;i>=0;i--)

{intt=s[j++]-'0';m=m*10+t;}

/***********SPACE***********/

【?

】;

}

voidmain()

{Stringst("0123");

st.show();

intx;

/***********SPACE***********/

【?

】;//将转换来的整数存入x

cout<

}

答案:

1).operatorint()

2).String:

:

operatorint()

3).returnm

4).x=st.operatorint()

 

第2题(8.0分)题号:

337

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

功能:

将N(N<100)个元素的一维数组循环向左移位

(即将每一个元素向前移动一位,第一位移到最后一位。

-------------------------------------------------------*/

#include

voidmain()

{

inta[100],n,b,i;

cin>>n;

/***********SPACE***********/

for(i=0;i<【?

】;i++)

cin>>a[i];

/***********SPACE***********/

b=【?

】;

/***********SPACE***********/

for(【?

】)

a[i-1]=a[i];

/***********SPACE***********/

【?

】;

for(i=0;i

cout<

}

 

答案:

1).n

2).a[0]

3).i=1;i

4).a[n-1]=b或a[i-1]=b

 

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

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2