C语言程序设计A期末模拟试题14docx.docx

上传人:b****6 文档编号:13665221 上传时间:2023-06-16 格式:DOCX 页数:43 大小:67.15KB
下载 相关 举报
C语言程序设计A期末模拟试题14docx.docx_第1页
第1页 / 共43页
C语言程序设计A期末模拟试题14docx.docx_第2页
第2页 / 共43页
C语言程序设计A期末模拟试题14docx.docx_第3页
第3页 / 共43页
C语言程序设计A期末模拟试题14docx.docx_第4页
第4页 / 共43页
C语言程序设计A期末模拟试题14docx.docx_第5页
第5页 / 共43页
C语言程序设计A期末模拟试题14docx.docx_第6页
第6页 / 共43页
C语言程序设计A期末模拟试题14docx.docx_第7页
第7页 / 共43页
C语言程序设计A期末模拟试题14docx.docx_第8页
第8页 / 共43页
C语言程序设计A期末模拟试题14docx.docx_第9页
第9页 / 共43页
C语言程序设计A期末模拟试题14docx.docx_第10页
第10页 / 共43页
C语言程序设计A期末模拟试题14docx.docx_第11页
第11页 / 共43页
C语言程序设计A期末模拟试题14docx.docx_第12页
第12页 / 共43页
C语言程序设计A期末模拟试题14docx.docx_第13页
第13页 / 共43页
C语言程序设计A期末模拟试题14docx.docx_第14页
第14页 / 共43页
C语言程序设计A期末模拟试题14docx.docx_第15页
第15页 / 共43页
C语言程序设计A期末模拟试题14docx.docx_第16页
第16页 / 共43页
C语言程序设计A期末模拟试题14docx.docx_第17页
第17页 / 共43页
C语言程序设计A期末模拟试题14docx.docx_第18页
第18页 / 共43页
C语言程序设计A期末模拟试题14docx.docx_第19页
第19页 / 共43页
C语言程序设计A期末模拟试题14docx.docx_第20页
第20页 / 共43页
亲,该文档总共43页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C语言程序设计A期末模拟试题14docx.docx

《C语言程序设计A期末模拟试题14docx.docx》由会员分享,可在线阅读,更多相关《C语言程序设计A期末模拟试题14docx.docx(43页珍藏版)》请在冰点文库上搜索。

C语言程序设计A期末模拟试题14docx.docx

C语言程序设计A期末模拟试题14docx

C语言程序设计A期末模拟试题一

一、单项选择题(每小题2分,共20分)

1.由C++目标文件连接而成的可执行文件的缺省扩展名为()。

A.CPPB.exeC.ObjD.

Iik

2.x>0&&x<=10的相反表达式为()。

A.x<=0Ilx>10B.x<=0&&x>10

C.x<=0||x<=10D.x>0&&x>10

3.在下面的一维数组定义中,哪一个有语法错误。

(C)

A.inta[]={1,2,3};B.inta[10]={0};

C.inta[];D.inta[5];

4.假定P是具有double类型的指针变量,则表达式++P使P的值(以字节为单位)增加(C)。

A.1B.4C.SiZeOf(double)

D.SiZeOf(P)

5.当#“Clude后面的文件名用双引号括起来时,寻找

被包含文件的方式是(B)。

A.直接按系统设定的标准方式搜索目录

B.先在源程序所在目录搜索,再按系统设

定的标准方式搜索目录

C.仅仅搜索源程序所在目录

D.搜索当前逻辑盘上的所有目录

6.假定指针变量P定义为“int*p=newint(100);”,

要释放P所指向的动态内存,应使用语句(A)。

A.deletep;B.delete*p;C.

delete&p;D.delete[]p;

7.假定AA为一个类,a为该类公有的数据成员,PX

为指向该类对象的一个指针,则访问PX所指对象中数

据成员a的格式为()。

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

D.px.a

8.栈具有()的操作特性。

A.先进先出B.先进后出C.

进出无序D.进出任意

9.对于任一个类,用户所能定义的构造函数的个数至多为()。

A.0B.1C.2D.任意

10.下列对派生类的描述中错误的说法是:

()。

A.

派生类至少有一个基类

B.

派生类可作为另一个派生类的基类

C.

派生类除了包含它直接定义的成员外,还

包含其基类的成员

D.

派生类所继承的基类成员的访问权限保

持不变

二、填空题(每题2分,共20分)

1.C++语言是在语言的基础上发展起来

的。

2.当执行Cin语句时,从键盘上输入每个数据后

必须接着输入一个符,然后才能继续输入下一

个数据。

3.假定X是一个逻辑量,则X&&false的值为

4.元素类型为Char的二维数组a[10][30]共占用

字节的存储空间。

5.局部变量具有局部生存期,存放在内存的

栈区中。

6.已知语句"cout<

”,则

语句"cout<<*p;”输出的是。

7.对类中常量成员的初始化是通过在构造函数中

给出的来实现的。

8.在重载一个单目运算符时,参数表中没有参数,

说明该运算符函数只能是类的。

9.假定用户为类AB定义了一个构造函数“AB(int

aa):

a(aa){}”,则定义该类的对象时,有种定

义格式。

10.在每个成员函数中,隐含的第一个参数的参数

名为。

三、程序填充题(对程序、函数或类中划有横线的位置,根据题意按标号把合适的内容填写到程序下面相应标号的后面。

每小题6分,共24分)

1.斐波那契数列的第1和第2个数分别为0和1,从第三个数开始,每个数等于其前两个数之和。

求斐波那契数列中的前20个数,要求每行输出5个数。

#inClUdeVioStream.h>

voidmain(){

intf,f1,f2,i;

Cout<<”斐波那契数列:

\n”;

f1=0;f2=1;

cout<

for(i=3;i<=20;i++){

f=

(1);

cout<

if(

(2))cout<

f1=f2;

f2=(3);

}

cout<

}

(1)

(2)(3)

2.对数组a[n]按升序进行的选择排序算法

voidSeIeCtSort(inta[],

(1))

{

inti,j,k;

for(i=1;i

和交换

k=i-1;

for(j=i;j

if(a[j]

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

—(3)—;

}

}

(1)

3.已知一个类的定义如下:

#inClUdeVioStream.h>

classAA{

inta[10];

intn;

public:

voidSetA(intaa[],intnn);//

化数据成员a,

用数组aa初始

用nn初始化数

进行从小到大排序

voidInSertA();//采用插入排序的方法对数组a

中前n个元素进行从小到大排序

voidPrintA();//依次输出数组a中的前n个元素

};

该类中MaxA()函数的实现如下,请在标号位置补充适当的内容。

int

(1)

{

intx=a[0];

for(inti=1;i

if(a[i]>x)—

(2)—;

—(3)—;

}

(1)

4.classA{

inta;

public:

A(){a=0;}

(1)—{}//定义构造函数,用参数aa初

始化数据成员a

};

main(){

—⑵—;//定义类A的指针对象P

—(3)__;//用P指向动态对象并初始化为

整数5

}

(1)

(2)⑶

四、理解问答题(写出前两小题的程序运行结果和指

出后两小题的程序(或函数)所实现的功能。

每小题6

分,共24分)

1.#include

#include

voidmain()

{

inta[8]={25,48,32,85,64,18,48,29};

intmax,min;max=min=a[0];for(inti=0;i<8;i++){if(x>a[i])max=a[i];

if(x

}

cout<<"max:

"<

"<

}

2.#include

voidmain()

{

for(inti=1,s=0;i<20;i++){

if(i%2==0Ili%3==0)continue;cout<

s+=i;

}

cout<

}

3.voidtrans(intx)

{

Chara[10];

inti=0,rem;

do{

2.

1.求出从键盘上输入的10个整数中的最大值,要求

max:

85

输入变量用X表示,存储最大值的变量用

max表示。

min:

18

根据下面类中ReVerSe函数成员的原型和注释写

出它的类外定义。

classAA{

int*a;

intn;

intMS;

public:

voidInitAA(intaa[],intnn,intms){if(nn>ms){cout<<"Error!

"<

exit

(1);}

MS=ms;

n=nn;

a=newint[MS];

for(inti=0;i

}

AA*ReVerSe();//对于调用该函数的对象,将其a

数组中前n个

//元素值按相反的次序排列,返回指向该对

象的指针。

};

2.

157111337

3.

此函数用于把十进制整数X转换为十六进制数字串输出

4.

根据参数S所指向的字符串,生成一个由r所指向的

新字符串并返回,该字符串使S字符串中的小写字母均

变为大写。

五、编程题

1.#includevoidmain()

{

intx,max;

cin>>x;

max=x;

for(inti=0;i<9;i++){cin>>x;

if(x>max)max=x;

}

cout<<"max:

"<

}

2.

AA*AA:

:

ReVerSe()

{

inti,x;

for(i=0;i

x=a[i];a[i]=a[n-1-i];a[n-1-i]=x;}

returnthis;

}

A.aB.AA:

:

aC.a()D.

AA:

:

a()

7.

在一个用数组实现的队列类中,假定数组长度

Iength,则

为MS队首元素位置为first,队列长度为队尾(即最后一个)元素的位置为()。

A.Iength+1

first+length

C.(first+length-1)%MS

(first+length)%MS

8.假定AB为一个类,则执行“ABr1=r2;”句时将自动调用该类的()。

A.无参构造函数B.带参构造函数C.值重载函数D.拷贝构造函数

9.双目运算符重载为普通函数时,其参数表中应

带有()个参数。

B.

D.

A.0B.1C.2D.3

C

语言程序设计

A期末模拟试题二

10.当派生类中有和基类一样名字的成员时,

「般

一、单项选择题(每小题

2分,共20分)

来说,()。

1.编写

C++程序一般

需经过的几个步骤依次是

A.将产生二义性B.

派生类

()。

的冋名成员将覆盖基类的成员

A.

编译、编辑、

连接、调试

C.是不能允许的D.

基类的

B.

编辑、编译、

连接、调试

冋名成员将覆盖派生类的成员

C.

编译、调试、

编辑、连接

二、填空题(每题2分,共20分)

D.

编辑、调试、

编辑、连接

1.行尾使用注释的开始标记符为

2.假定

一个二维数组的定义语句为“int

2.设enumPrintstatus{ready=2,busy,error};

a[3][4]={{3,4},{2,8,6}};

”,则兀素a[2][1]的值为

则cout<

1.统计字符串中英文字母个数的程序。

#ineludeVioStream.h>

intcount(Charstr[]);

voidmain(){

Chars1[80];

cout<<”Enteraline:

”;

Cin>>s1;

cout<<”CoUnt=”<

}

intcount(charstr[]){

intnum=0;//给统计变量赋初值

for(inti=O;str[i];i++)

if(str[i]>='a'&&str[i]<='z'

Il—

(1)—)

(2)—;

—(3)—;

}

{

L=NULL;if(n<=O)return;

inti=0;

NODE*p;

while(___

(1)—){

P=newNODE;p->data=

(2)

p->next=L;

—(3)—;i++;

}

}

(1)

4.已知一个利用数组实现栈的类定义如下:

初始化栈为空

向栈中压入一个

从栈顶弹出一个元

true;elsereturn

返回栈的深度

(1)

2.从键盘上输入一个正整数,然后把它转换成的二进制数的每一位存放到一维数组中,最后输出该二进制数。

注意二进制数的存放是按照从低位到高位的次序进行的。

#include

voidmain()

{int兀cout<<"输入一个整数:

";

cin>>x;

inta[20],k=0,r;

do{

r=x%2;a[k++]=r;X=—

(1)—;

}while(—⑵—);for(--k;k>=0;k--)⑶;

cout<

}

(1)

(2)⑶

3.假定有定义为“StrUCtNODE{intdata;NODE*next;};”,下面算法根据table数组中的n个元素建立一个表头指针为L的链表,链表中结点值的顺序与数组元素值的顺序正好相反。

voidf6(N0DE*&L,inttable[],intn)

ConStintARRAY_SIZE=10;classStaCk{public:

voidInit(){top=-1;}//

voidPush(intnewElem);//

intPop();//

boolEmPty(){//判栈空if(top==-1)return

false;}

intDePth(){returntop+1;}//

voidPrint();

//按照后进先出原则依次输出栈中每个元素,直到栈空为止

private:

intelem[ARRAY_SIZE];//用于保存堆栈元素的

数组

inttop;//指明栈顶元素位置的

指针

};

该类的Pop和Print函数的实现分别如下:

_

(1)—{

if(top==-1){

cout<<"栈空!

"<

exit

(1);//中止运行

}

return

(2);

VoidStack:

:

Print(){

while(!

Empty())cout<<(3)<<'';

}

(1)

(2)⑶

四、理解问答题(写出前两小题的程序运行结果和指出后两小题的程序(或函数)所实现的功能。

每小题6

分,共24分)

1.#include

ConStintN=5;

voidmain()

{

inti,p=1,s=0;for(i=1;i

s=s+p;

cout<

}}

2.#include

#include

classCD{

char*a;intb;

public:

voidInit(char*aa,intbb){

a=newchar[strlen(aa)+1];

StrCPy(a,aa);b=bb;

}

char*Geta(){returna;}intGetb(){returnb;}voidOUtPUt(){cout<

'<

};

voidmain()

{

CDdx,dy;

Chara[20];

dx.Init("abcdef",30);

StrCPy(a,dx.Geta());

StrCat(a,"xyz");

dy.lnit(a,dx.Getb()+20);

dx.0utput();

dy.Output();

}

3.#include

#include

#include

voidmain()

{

inti=10,a;

while(i>0){

a=rand()%100+10;

intj,k=int(sqrt(a)+1e-5);

//sqrt(x)为求X的平方根函数

for(j=2;j<=k;j++)

if(a%j==0)break;

if(j>k){cout<

}

}

4.intf8(constchar*str1,ConStchar*str2)

{

inti=0;

WhiIe(Str1[i]&&str2[i])if(str1[i]==str2[i])i++;

elseif(str1[i]>str2[i])return

1;

elsereturn-1;

if(str1[i]==str2[i])return0;

elseif(str1[i]>str2[i])return1;elsereturn-1;

}

五、编程题(每小题6分,共12分)

1.按照下面函数原型语句编写一个函数,返回二

维数组a[m][n]中所有元素的平均值,假定采用变量V

存放平均值。

2.根据下面类中MaXMin函数成员的原型和注释

写出它的类外定义。

classAA{

int*a;

intn;

intMS;

public:

VoidInitAA(intaa[],intnn,intms){

if(nn>ms)

exit

(1);}

MS=ms;

{cout<<"Error!

"<

n=nn;

a=newint[MS];

for(inti=0;i

C语言程序设计A期末模拟试题二

参考答案

四、填空题

5.

(*p).name6.多继承

10.赋值

三、程序填充题

1.

(1)str[i]>='A'&&str[i]<='Z'

(2)

num++

(3)returnnum

2.

(1)xI2

(2)x!

=0(3)

cout<

3.

(1)i

(2)table[i]

(3)

L=P

4.

(1)

intStack:

:

Pop()

(2)

elem[top--]

⑶Pop()

、理

:

解问答题

1.

1

1

1

2

2

3

3

6

9

4

24

33

2.

abcdef30

abcdefxyz50

3.随机产生出来。

4.

1.

C++程序的基本模块为(

)。

A.

表达式B.标识符C.语句

D.

函数

2

设X和y均为bool量,则

X&&y为真的条件

是(

A.它们均为真B.

其中一个为真

C.

它们均为假D.

其中一个为假

3

函数调用不可以(D)。

A.

出现在一个表达式中

B.

出现在执行语句中

C.

作为一个函数的实参

D.作为一个函数的形参

4

假定变量m定义为“intm=7;”,则定义变量P

C语言程序设计A期末模拟试题三

、单项选择题(每小题2分,共20分)

10个10至100之间的素数并显示出

实现StrCmP函数的功能,比较两个字符串str1

和str2的大小,若str1较大则返回1,若str2较大则返回-1,若两者相等则返回0。

}

intMaXMin(int&x,int&y);//从数组a的前n个

元素中求出

Il最大值和最小值,并分别由引用参数X

和y带回,

Il同时若n大于0则返回1,否则返回0。

};

五、编程题

1.doubleMean(doublea[M][N],intm,intn);

doubleMean(doublea[M][N],intm,intn)

{

inti,j;

doublev=0.0;

for(i=0;i

for(j=0;j

v+=a[i][j];

vl=m*n;

returnv;

}

2.

intAA:

:

MaXMin(int&x,int&y)

{

intmx,my;

mx=my=a[0];

for(inti=1;i

if(a[i]>mx)mx=a[i];if(a[i]

}

x=mx;y=my;

if(n>0)return1;elsereturn0;

}

的正确语句为(B)。

B.

int*p=&m;

A.

intP=&m;

C.int&p

=*m;D.int*p=m;

5.

假定有“StrUCtBOOK{chartitle[40];float

price;};BooK*book;”,则不正确的语句为(A)。

A.BOOK*x=newbook;

B.BOOK

x={"C++PrOgramming",27.0};

C.

BOOK*x=newBOOK;

D.BOOK

*x=book;

6.

假定变量X定义为“intx=5;

要使rx成为

X的引用

(别名),rx应定义为(D

)。

A.

intrx=x;B.intrx=&x;C.

int*rx=&x;D.int&rx=x;

7.

面向对象方法的多态性是指(

)。

A.

一个类可以派生出多个特殊类

B.

一个对象在不同的运行环境中可以有不

同的变体

C.针对一消息,不同的对象可以以适合自身的方式加以响应

D.一个对象可以是由多个其他对象组合而

成的

8.

面向对象软件开发中使用的

OOD表示()。

A.

面向对象分析

B.

面向对象设计

C.

面向对象语言

D.

面向对象方法

9.

在关键字PriVate

后面定义的成员为类的

)成员。

A.私有

B.公用

C.保护

D.任何

10.

假定AA为一个类,

inta()

为该类的一个成员

函数,

右该成员函数在类疋义体外疋义,

则函数头为

)。

A.intAA:

:

a()B.intAA:

a()

C.AA:

:

a()D.AA:

:

inta()

二、填空题(每题2分,共20分)

1.C++语言的编译单位是扩展名为_CPP』

程序文件。

2.C++常数0345对应的十进制值为。

3.假定X是一个逻辑量,则!

xIlfalse的值为

7.已知语句"cout<

行语句"cout<

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

当前位置:首页 > 高中教育 > 高中教育

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

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