最新C语言程序设计A期末模拟试题14知识点复习考点归纳总结参考Word格式文档下载.docx

上传人:b****7 文档编号:22385658 上传时间:2023-02-03 格式:DOCX 页数:40 大小:33.12KB
下载 相关 举报
最新C语言程序设计A期末模拟试题14知识点复习考点归纳总结参考Word格式文档下载.docx_第1页
第1页 / 共40页
最新C语言程序设计A期末模拟试题14知识点复习考点归纳总结参考Word格式文档下载.docx_第2页
第2页 / 共40页
最新C语言程序设计A期末模拟试题14知识点复习考点归纳总结参考Word格式文档下载.docx_第3页
第3页 / 共40页
最新C语言程序设计A期末模拟试题14知识点复习考点归纳总结参考Word格式文档下载.docx_第4页
第4页 / 共40页
最新C语言程序设计A期末模拟试题14知识点复习考点归纳总结参考Word格式文档下载.docx_第5页
第5页 / 共40页
点击查看更多>>
下载资源
资源描述

最新C语言程序设计A期末模拟试题14知识点复习考点归纳总结参考Word格式文档下载.docx

《最新C语言程序设计A期末模拟试题14知识点复习考点归纳总结参考Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《最新C语言程序设计A期末模拟试题14知识点复习考点归纳总结参考Word格式文档下载.docx(40页珍藏版)》请在冰豆网上搜索。

最新C语言程序设计A期末模拟试题14知识点复习考点归纳总结参考Word格式文档下载.docx

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

D.派生类所继承的基类成员的访问权限保持不变

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

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

2.当执行cin语句时,从键盘上输入每个数据后必须接着输入一个________符,然后才能继续输入下一个数据。

3.假定x是一个逻辑量,则x&

false的值为__________。

4.元素类型为char的二维数组a[10][30]共占用________字节的存储空间。

5.局部变量具有局部生存期,存放在内存的______栈______区中。

6.已知语句“cout<

<

”的输出是“Hello!

”,则语句“cout<

*p;

”输出的是__________。

7.对类中常量成员的初始化是通过在构造函数中给出的______________来实现的。

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

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

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

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

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

每小题6分,共24分)

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

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

#include<

iostream.h>

voidmain(){

intf,f1,f2,i;

cout<

”斐波那契数列:

\n”;

f1=0;

f2=1;

setw(6)<

f1<

f2;

for(i=3;

i<

=20;

i++){

f=______

(1)______;

cout<

f;

if(_____

(2)______)cout<

endl;

f1=f2;

f2=____(3)_______;

}

(1)

(2)(3)

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

voidSelectSort(inta[],___

(1)___)

{

inti,j,k;

for(i=1;

n;

i++){//进行n-1次选择和交换

k=i-1;

for(j=i;

j<

j++)

if(a[j]<

a[k])___

(2)___;

intx=a[i-1];

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

___(3)___;

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

classAA{

inta[10];

intn;

public:

voidSetA(intaa[],intnn);

//用数组aa初始化数据成员a,

//用nn初始化数据成员n

intMaxA();

//从数组a中前n个元素中查找最大值

voidSortA();

//采用选择排序的方法对数组a中前n个元素

//进行从小到大排序

voidInsertA();

//采用插入排序的方法对数组a中前n个元素进行从小到大排序

voidPrintA();

//依次输出数组a中的前n个元素

};

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

int____

(1)_____

{

intx=a[0];

for(inti=1;

i<

i++)

if(a[i]>

x)___

(2)___;

}

(1)

(2)(3)

4.classA{

inta;

public:

A(){a=0;

___

(1)___{}//定义构造函数,用参数aa初始化数据成员a

};

main(){

___

(2)___;

//定义类A的指针对象p

___(3)__;

//用p指向动态对象并初始化为整数5

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

1.#include<

#include<

stdlib.h>

voidmain()

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

intmax,min;

max=min=a[0];

for(inti=0;

8;

i++){

if(x>

a[i])max=a[i];

if(x<

a[i])min=a[i];

cout<

"

max:

max<

min:

min<

2.#include<

for(inti=1,s=0;

20;

if(i%2==0||i%3==0)continue;

’’;

s+=i;

s<

3.voidtrans(intx)

{

chara[10];

inti=0,rem;

do{

rem=x%16;

x=x/16;

if(rem<

10)a[i]=48+rem;

//’0’字符的ASCII码为48

elsea[i]=55+rem;

//’A’字符的ASCII码为65

i++;

}while(x!

=0);

while(i>

0)cout<

a[i];

4.char*f(char*s){

intn=strlen(s);

char*r=newchar[n+1];

i++)

if(s[i]>

='

a'

&

s[i]<

z'

)r[i]=s[i]-'

+'

A'

;

elser[i]=s[i];

r[n]=’\0’;

returnr;

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

1.求出从键盘上输入的10个整数中的最大值,要求输入变量用x表示,存储最大值的变量用max表示。

2.根据下面类中Reverse函数成员的原型和注释写出它的类外定义。

int*a;

intMS;

voidInitAA(intaa[],intnn,intms){

if(nn>

ms){cout<

Error!

exit

(1);

MS=ms;

n=nn;

a=newint[MS];

for(inti=0;

MS;

i++)a[i]=aa[i];

AA*Reverse();

//对于调用该函数的对象,将其a数组中前n个

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

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

参考答案

一、单选题

1.B2.A3.C4.B5.C6.A7.C8.B9.D10.D

二、填空题

1.C2.空白3.false(或0)4.3005.栈6.H7.初始化表

8.成员函数9.110.this

三、程序填充题

1.

(1)f1+f2

(2)i%5==0(3)f

2.

(1)intn

(2)k=j(3)a[k]=x

3.

(1)AA:

:

MaxA()

(2)x=a[i](3)returnx

4.

(1)A(intaa):

a(aa)

(2)A*p(3)p=newA(5)

四、理解问答题

1.

85

18

2.

157111337

3.

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

4.

根据参数s所指向的字符串,生成一个由r所指向的新字符串并返回,该字符串使s字符串中的小写字母均变为大写。

五、编程题

1.#include<

voidmain()

intx,max;

cin>

>

x;

max=x;

9;

cin>

if(x>

max)max=x;

2.

AA*AA:

Reverse()

inti,x;

for(i=0;

n/2;

x=a[i];

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

a[n-1-i]=x;

returnthis;

 

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

1.编写C++程序一般需经过的几个步骤依次是()。

A.编译、编辑、连接、调试

B.编辑、编译、连接、调试

C.编译、调试、编辑、连接

D.编辑、调试、编辑、连接

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

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

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

3.函数重载是指(A)。

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

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

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

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

4.假定p指向的字符串为”string”,若要输出这个字符串的地址值,则使用(D)。

A.cout<

*s;

B.cout<

s;

C.cout<

D.cout<

(void*)s;

5.在类作用域中能够通过直接使用该类的()成员名进行访问。

A.私有B.公用C.保护D.任何

6.假定AA为一个类,a为该类公有的数据成员,若要在该类的一个成员函数中访问它,则书写格式为()。

A.aB.AA:

aC.a()D.AA:

a()

7.在一个用数组实现的队列类中,假定数组长度为MS,队首元素位置为first,队列长度为length,则队尾(即最后一个)元素的位置为()。

A.length+1B.first+length

C.(first+length-1)%MSD.(first+length)%MS

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

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

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

9.双目运算符重载为普通函数时,其参数表中应带有()个参数。

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

10.当派生类中有和基类一样名字的成员时,一般来说,()。

A.将产生二义性B.派生类的同名成员将覆盖基类的成员

C.是不能允许的D.基类的同名成员将覆盖派生类的成员

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

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

则cout<

busy的输出结果是________。

3.重载一个函数的条件是:

该函数必须在参数的个数或参数的___类型_上与其它同名函数有所不同。

4.定义一个函数模板要用到的第一个修饰符是_template_。

5.与结构成员访问表达式p->

name等价的表达式是____________。

6.如果一个派生类的基类不止一个,则这种继承称为____________。

7.在一个用数组实现的队列类中,假定数组长度为MS,队首元素位置为first,队列长度为length,则插入一个新元素的位置为__________。

8.向一个队列中插入元素就是把该元素放到________元素的后一位置上。

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

a(0),b(0){}”,则定义该类对象x的定义语句“ABx;

”是_________(正确/错误)的。

10.除了__________运算符外,其他重载的运算符都可以被派生类继承。

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

#include<

intcount(charstr[]);

voidmain(){

chars1[80];

cout<

”Enteraline:

”;

cin>

s1;

”count=”<

count(s1)<

intcount(charstr[]){

intnum=0;

//给统计变量赋初值

str[i];

i++)

if(str[i]>

=’a’&

str[i]<

=’z’||___

(1)___)

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

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

intx;

输入一个整数:

inta[20],k=0,r;

r=x%2;

a[k++]=r;

x=___

(1)___;

}while(___

(2)___);

for(--k;

k>

=0;

k--)___(3)___;

3.假定有定义为“structNODE{intdata;

NODE*next;

”,下面算法根据table数组中的n个元素建立一个表头指针为L的链表,链表中结点值的顺序与数组元素值的顺序正好相反。

voidf6(NODE*&

L,inttable[],intn)

{

L=NULL;

if(n<

=0)return;

inti=0;

NODE*p;

while(___

(1)___){

p=newNODE;

p->

data=___

(2)___;

next=L;

___(3)___;

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

constintARRAY_SIZE=10;

classStack{

voidInit(){top=-1;

}//初始化栈为空

voidPush(intnewElem);

//向栈中压入一个元素

intPop();

//从栈顶弹出一个元素

boolEmpty(){//判栈空

if(top==-1)returntrue;

elsereturnfalse;

intDepth(){returntop+1;

}//返回栈的深度

voidPrint();

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

private:

intelem[ARRAY_SIZE];

//用于保存堆栈元素的数组

inttop;

//指明栈顶元素位置的指针

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

___

(1)___{

if(top==-1){

栈空!

exit

(1);

//中止运行

return___

(2)___;

voidStack:

Print(){

while(!

Empty())

___(3)___<

'

'

iomanip.h>

constintN=5;

inti,p=1,s=0;

N;

p=p*i;

s=s+p;

setw(5)<

2.#include<

string.h>

classCD{

char*a;

intb;

voidInit(char*aa,intbb)

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

strcpy(a,aa);

b=bb;

char*Geta(){returna;

intGetb(){returnb;

voidOutput(){cout<

a<

b<

voidmain()

CDdx,dy;

chara[20];

dx.Init("

abcdef"

30);

strcpy(a,dx.Geta());

strcat(a,"

xyz"

);

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

dx.Output();

dy.Output();

3.#include<

math.h>

inti=10,a;

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<

i--;

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

while(str1[i]&

str2[i])

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

elseif(str1[i]>

str2[i])return1;

elsereturn-1;

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

elseif(str1[i]>

elsereturn-1;

1.按照下面函数原型语句编写一个函数,返回二维数组a[m][n]中所有元素的平均值,假定采用变量v存放平均值。

2.根据下面类中MaxMin函数成员的原型和注释写出它的类外定义。

intMaxMin(int&

x,int&

y);

//从数组a的前n个元素中求出

//最大值和最小值,并分别由引用参数x和y带回,

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

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

参考答案

三、单选题

1.B2.A3.A4.D5.B6.A7.C8.D9.C10.B

四、填空题

1.//2.33.类型4.template5.(*p).name6.多继承

7.(first+length)%MS8.队尾9.正确10.赋值

1.

(1)str[i]>

=’A’&

=

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

当前位置:首页 > 考试认证 > 交规考试

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

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