专升本C考试A卷Word格式.docx

上传人:b****6 文档编号:19167003 上传时间:2023-01-04 格式:DOCX 页数:11 大小:23.73KB
下载 相关 举报
专升本C考试A卷Word格式.docx_第1页
第1页 / 共11页
专升本C考试A卷Word格式.docx_第2页
第2页 / 共11页
专升本C考试A卷Word格式.docx_第3页
第3页 / 共11页
专升本C考试A卷Word格式.docx_第4页
第4页 / 共11页
专升本C考试A卷Word格式.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

专升本C考试A卷Word格式.docx

《专升本C考试A卷Word格式.docx》由会员分享,可在线阅读,更多相关《专升本C考试A卷Word格式.docx(11页珍藏版)》请在冰豆网上搜索。

专升本C考试A卷Word格式.docx

i++)

if(i>

n/2)break;

A.n/2B.n/2+1C.n/2-1D.n-1

6.switch语句能够改写为()语句。

A.forB.ifC.doD.while

7.假定一个二维数组的定义语句为“inta[3][4]={{3,4},{2,8,6}};

”,则元素a[2][1]的值为()。

A.0B.4C.8D.6

8.函数重载是指()。

A.两个或两个以上的函数取相同的函数名,但形参的个数或类型不同

B.两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不同

C.两个以上的函数名字不同,但形参的个数或类型相同

D.两个以上的函数取相同的函数名,并且函数的返回类型相同

9.若用数组名作为函数调用的实参,传递给形参的是()。

A.数组的首地址B.数组中第一个元素的值

C.数组全部元素的值D.数组元素的个数

10.将两个字符串连接起来组成一个字符串时,选用()函数。

A.strlen()B.strcap()C.strcat()D.strcmp()

11.C++语言的编译系统对宏命令的处理是()。

A.在程序运行时进行

B.在程序连接时进行

C.和C++程序的其它语句同时进行编译

D.在对源程序中其它成分正式编译之前进行

12.在下面存储类中,()的对象不是局部变量。

A.函数形参B.自动类C.外部静态类D.寄存器类

13.定义p并使p指向动态空间中的包含30个整数的数组所使用的定义语句为()。

A.int*p=newint[30];

B.int*p=newint(30);

C.int*p=new[30];

D.*p=newint[30];

14.关于封装,下列说法中不正确的是()。

A.通过封装,对象的全部属性和操作结合在一起,形成一个整体

B.通过封装,一个对象的实现细节被尽可能地隐藏起来(不可见)

C.通过封装,每个对象都成为相对独立的实体

D.通过封装,对象的属性都是不可见的

15.假定AA为一个类,a为该类公有的数据成员,x为该类的一个对象,则访问x对象中数据成员a的格式为()。

A.x(a)B.x[a]C.x->

aD.

16.假定AA是一个类,abc是该类的一个成员函数,则参数表中隐含的第一个参数为()。

A.abcB.*thisC.thisD.this&

17.结构中定义的成员默认为()访问属性。

A.publicB.privateC.protectedD.friend

18.假定AB为一个类,则执行“ABr1=r2;

”语句时将自动调用该类的()。

A.无参构造函数B.带参构造函数

C.赋值重载函数D.复制构造函数

19.一个类的静态数据成员所表示属性()。

A.是类的或对象的属性B.只是对象的属性

C.只是类的属性D.类和友元的属性

20.当将一个类A或函数f()说明为另一个类B的友元后,类A或函数f()能够直接访问类B的()。

A.只能是公有成员B.只能是保护成员

C.只能是除私有成员之外的任何成员D.具有任何权限的成员

21.如果表达式a+b中的“+”是作为成员函数重载的运算符,若采用运算符函数调用格式,则可表示为()。

A.+(b)B.+(a)

C.operator+(a,b)D.operator(a+b)

22.从一个基类派生出的各个类的对象之间()。

A.共享所有数据成员,每个对象还包含基类的所有属性

B.共享部分数据成员,每个对象还包含基类的所有属性

C.不共享任何数据成员,但每个对象还包含基类的所有属性

D.共享部分数据成员和函数成员

23.对于公有继承,基类的公有和保护成员在派生类中将()成员。

A.全部变成公有B.全部变成保护

C.全部变成私有D.仍然相应保持为公有和保护

24.C++中的虚基类机制可以保证:

()。

A.限定基类只通过一条路径派生出派生类

B.当一个类多次间接从基类派生以后,其基类只被一次继承

C.当一个类多次间接从基类派生以后,派生类对象能保留多份间接基类的成员

D.允许基类通过多条路径派生出派生类,派生类也就能多次继承该基类

25.派生类的对象对其基类中()可直接访问。

A.公有继承的私有成员B.公有继承的公有成员

C.公有继承的保护成员D.私有继承的公有成员

二、填空题(25%)

1.用于从键盘上为变量输入值的标准输入流对象是________。

2.程序文件的编译错误分为________和________两类。

3.十进制常数245对应的八进制的C++表示为_0_________。

4.字符串”This\’sabook.\n”的长度为__________。

5.数学算式

的C++表达式为________________。

6.若while循环的“头”为“while(i++<

=10)”,并且i的初值为0,同时在循环体中不会修改i的值,则循环体将被重复执行______次后正常结束。

7.strlen(”apple”)的值为_______,strcmp(”a”,”A”)的值为________。

8.在C++语言中,一个函数由函数头和__________组成。

9.全局变量和静态局部变量具有静态生存期,存放在内存的____________区中。

10.假定p所指对象的值为25,p+1所指对象的值为42,则*p++的值为________。

11.执行int*p=newint操作得到的一个动态分配的整型对象为__*p______。

12.以面向对象方法构造的系统,其基本单位是__________。

13.C++支持两种多态性:

_________时的多态性和__________时的多态性。

14.为了使类中的成员不能被类外的函数通过成员操作符访问,则应把该成员的访问权限定义为________。

15.若采用(y)表达式调用一个成员函数,在成员函数中使用的__*this______就代表了类外的x对象。

16.假定AB为一个类,则类定义体中的“AB(AB&

x);

”语句为该类______________的原型语句。

17.在重载一个单目运算符时,参数表中没有参数,说明该运算符函数只能是类的_____________。

18.派生类的成员函数可以直接访问基类的成员,不能直接访问基类的______成员。

19.引进虚基类的根本目的是为了消除____________。

20.设有如下定义:

#include<

>

classA1

{inta1;

protected:

intb1;

public:

voidshow1(){cout<

<

”classA1”<

endl;

}

};

classA2:

publicA1

{inta2;

intb2;

voidshow2(){cout<

”classA2”<

voidmain()

{A1obj1;

A2obj2;

}

派生类A2的成员函数show2()中可以访问的成员包括a1、b2、、。

1.阅读下面的程序,写出输出结果

#include<

inta[8]={6,11,13,4,12,7,16,15};

voidmain()

{ints0,s1,s2;

s0=s1=s2=0;

8;

i++){

switch(a[i]%3){

case0:

s0+=a[i];

break;

case1:

s1+=a[i];

case2:

s2+=a[i];

}

cout<

s0<

'

\t'

s1<

s2<

2.阅读下面的程序,写出输出结果

voidfun(int*&

a,int&

m)

{a=newint[m];

int*p=a;

i<

m;

i++)

*p++=i*i+1;

voidmain()

{int*b,n=5;

fun(b,n);

cout<

b[i]<

’‘;

delete[]b;

3.阅读下面的程序,写出输出结果

#include<

intfun(intn)

{inta=1;

staticintb=1;

a=a+1;

b=b*n;

returna*b;

voidmain()

{inti;

for(i=1;

5;

fun(i)<

4.阅读下面的程序,写出输出结果

classAA

{intn;

AA(inti){n=i;

"

调用类AA构造函数n:

"

n<

~AA(){cout<

删除类AA"

classBB

public:

BB(intj){n=j;

调用类BB构造函数n:

j<

~BB(){cout<

删除类BB"

classCC:

publicBB,publicAA

{

CC(inta,intb,intc):

AA(a),BB(b),n(c)

{cout<

调用类CC构造函数n:

~CC(){cout<

删除类CC"

}

private:

下列程序是输出设1-100之间素数,并且每行只输出5个数。

{inti,j,t,k=0;

inta[101];

for(i=1;

=100;

a[i]=1;

a[1]=0;

i=2;

while(i<

=100)

{for(j=i*i;

=100;

j=j+i)

a[j]=0;

i++;

cout<

\n"

;

for(i=2;

if(a[i]==1)

{cout<

k++;

if(k%5==0)cout<

2.定义计数器类Counter。

要求具有以下成员:

计数器值;

可进行增值和减值记数;

可提供记数值。

classCounter

Counter(inti=0)

{n=i;

voidinit_Counter(intm){n=m;

voidin_Counter(){n++;

voidde_Counter(){n--;

intget_Counter(){returnn;

friendvoidshow(Countert){cout<

{Countera(0);

();

(10);

用函数重载运算符,使对整形的运算符+、-适用于整数运算。

classFranction{

intnume;

序填空(每空分,共12分)

1.求组合数

值,如

n!

/(n-m)!

*m!

intfun(intn);

{intc,n,m;

cin>

n>

if(m>

n)cout<

输入数据错误。

else{c=fun(n)/(fun(n-m)*fun(m));

cout<

c("

m<

"

)="

c<

intfun(intn)

{intp=1;

inti;

for(i=2;

=n;

p*=i;

returnp;

2.从建立的数据文件中读入10个整数放在数组中,找出并输出10个数中的最大者和它在数组中的序号。

fstream>

iostream>

usingnamespacestd;

intmain()

{inta[10],max,i,order;

fstreaminfile("

ios:

:

in);

if(!

infile)

{cerr<

openerror!

exit

(1);

}

for(i=0;

10;

{infile>

a[i];

a[i]<

max=a[0];

order=0;

if(a[i]>

max)

{max=a[i];

order=i;

max="

max<

endl<

order="

order<

();

return0;

六、编程题(17%)

1.在二维数组a(3行4列)中选出各行最大的元素组成一个一维数组b。

(7%)

若数组a中的数据为(316876543211108101251227),则数组b中的数据为(8710827)。

2.已知类定义如下,其中Shape为基类,园Circle和矩形Rectangle分别Shape的直接派生类,正文形Square为Rectangle的直接派生类和Shape的间接派生类。

并计算园半径为10,矩形花边宽为10,20及正方形连长为10时它们的周长和面积。

用抽象类指针输出所有值。

(10%)

constfloatPI=;

classShape//几何图形抽象类

{public:

virtualfloatGetPerimeter()=0;

//纯虚函数,计算周长

virtualfloatGetArea()=0;

//纯虚函数,计算面积

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

当前位置:首页 > 高中教育 > 其它课程

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

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