电大C语言程序设计A期末模拟试题14 参考Word文档格式.docx

上传人:b****5 文档编号:21657636 上传时间:2023-01-31 格式:DOCX 页数:32 大小:30.51KB
下载 相关 举报
电大C语言程序设计A期末模拟试题14 参考Word文档格式.docx_第1页
第1页 / 共32页
电大C语言程序设计A期末模拟试题14 参考Word文档格式.docx_第2页
第2页 / 共32页
电大C语言程序设计A期末模拟试题14 参考Word文档格式.docx_第3页
第3页 / 共32页
电大C语言程序设计A期末模拟试题14 参考Word文档格式.docx_第4页
第4页 / 共32页
电大C语言程序设计A期末模拟试题14 参考Word文档格式.docx_第5页
第5页 / 共32页
点击查看更多>>
下载资源
资源描述

电大C语言程序设计A期末模拟试题14 参考Word文档格式.docx

《电大C语言程序设计A期末模拟试题14 参考Word文档格式.docx》由会员分享,可在线阅读,更多相关《电大C语言程序设计A期末模拟试题14 参考Word文档格式.docx(32页珍藏版)》请在冰豆网上搜索。

电大C语言程序设计A期末模拟试题14 参考Word文档格式.docx

false的值为__________。

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

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

已知语句“coutp;

”的输出是“Hello!

”,则语句“cout*p;

”输出的是__________。

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

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

假定用户为类AB定义了一个构造函数“ABintaa:

aaa”,则定义该类的对象时,有________种定义格式。

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

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

每小题6分,共24分)

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

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

#include

voidmain

intf,f1,f2,i;

cout”斐波那契数列:

\n”;

f10;

f21;

coutsetw6f1setw6f2;

fori3;

i20;

i++

f______1______;

coutsetw6f;

if_____2______coutendl;

f1f2;

f2____3_______;

coutendl;

123

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

voidSelectSortinta[],___1___

inti,j,k;

fori1;

in;

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

ki-1;

forji;

jn;

j++

ifa[j]a[k]___2___;

intxa[i-1];

a[i-1]a[k];

___3___;

123

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

classAA

inta[10];

intn;

public:

voidSetAintaa[],intnn;

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

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

intA;

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

voidSortA;

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

//进行从小到大排序

voidInsertA;

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

voidPrintA;

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

;

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

int____1_____

intxa[0];

forinti1;

in;

i++

ifa[i]x___2___;

___3___;

123

4.classA

inta;

Aa0;

___1___//定义构造函数,用参数aa初始化数据成员a

main

___2___;

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

___3__;

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

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

1#include

voidmain

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

int,min;

mina[0];

forinti0;

i8;

ifxa[i]a[i];

ifxa[i]mina[i];

cout"

:

"

endl;

min:

minendl;

2.#include

forinti1,s0;

ifi%20||i%30continue;

couti’’;

s+i;

coutsendl;

3voidtransintx

chara[10];

inti0,rem;

do

remx%16;

xx/16;

ifrem10a[i]48+rem;

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

elsea[i]55+rem;

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

i++;

whilex!

0;

whilei0couta[?

?

i];

4.char*fchar*s

intnstrlens;

char*rnewchar[n+1];

i++

ifs[i]'

a'

&

s[i]'

z'

r[i]s[i]-'

+'

A'

;

elser[i]s[i];

r[n]’\0’;

returnr;

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

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

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

int*a;

intMS;

voidInitAAintaa[],intnn,intms

ifnnmscout"

Error!

exit1;

MSms;

nnn;

anewint[MS];

iMS;

i++a[i]aa[i];

AA*Reverse;

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

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

参考答案

单选题

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

填空题

1.C2.空白3.false或04.3005.栈6.H7.初始化表

8.成员函数9.110.this

三、程序填充题

1.1f1+f22i%503f

2.1intn2kj3a[k]x

3.1AA:

A2xa[i]3returnx

4.1Aintaa:

aaa2A*p3pnewA5

四、理解问答题

1:

85

min:

18

2157111337

3.

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

4.

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

五、编程题

1.#include

intx,;

cinx;

x;

i9;

ifxx;

2.

AA*AA:

Reverse

inti,x;

fori0;

in/2;

xa[i];

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

a[n-1-i]x;

returnthis;

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

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

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

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

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

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

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

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

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

函数重载是指(A)。

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

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

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

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

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

A.cout*s;

B.couts;

C.cout&

s;

D.coutvoid*s;

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

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

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

A.aB.AA:

aC.aD.AA:

a

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

A.length+1B.first+length

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

假定AB为一个类,则执行“ABr1r2;

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

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

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

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

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

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

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

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

设enumPrintstatusready2,busy,error;

则coutbusy的输出结果是________。

重载一个函数的条件是:

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

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

与结构成员访问表达式p-name等价的表达式是____________。

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

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

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

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

a0,b0”,则定义该类对象x的定义语句“ABx;

”是_________正确/错误的。

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

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

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

#include

intcountcharstr[];

chars1[80];

cout”Enteraline:

”;

cins1;

cout”count”counts1endl;

intcountcharstr[]

intnum0;

//给统计变量赋初值

str[i];

i++

ifstr[i]’a’&

str[i]’z’||___1___

123

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

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

intx;

输入一个整数:

inta[20],k0,r;

rx%2;

a[k++]r;

x___1___;

while___2___;

for--k;

k0;

k--___3___;

3.假定有定义为“structNODEintdata;

NODE*next;

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

voidf6NODE*&

L,inttable[],intn

LNULL;

ifn0return;

inti0;

NODE*p;

while___1___

pnewNODE;

p-data___2___;

p-nextL;

123

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

constintARRAY_SIZE10;

classStack

voidInittop-1;

//初始化栈为空

voidPushintnewElem;

//向栈中压入一个元素

intPop;

//从栈顶弹出一个元素

boolEmpty//判栈空

iftop-1returntrue;

elsereturnfalse;

intDepthreturntop+1;

//返回栈的深度

voidPrint;

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

private:

intelem[ARRAY_SIZE];

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

inttop;

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

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

___1___

iftop-1

栈空!

//中止运行

return___2___;

voidStack:

Print

while!

Empty

cout___3___'

'

123

constintN5;

inti,p1,s0;

iN;

pp*i;

ss+p;

coutsetw5isetw5p;

coutsetw5sendl;

2.#include

classCD

char*a;

intb;

voidInitchar*aa,intbb

anewchar[strlenaa+1];

strcpya,aa;

bbb;

char*Getareturna;

intGetbreturnb;

voidOutputcouta'

bendl;

CDdx,dy;

chara[20];

dx.Init"

abcdef"

30;

strcpya,dx.Geta;

strcata,"

xyz"

dy.Inita,dx.Getb+20;

dx.Output;

dy.Output;

3.#include

inti10,a;

whilei0

arand%100+10;

intj,kintsqrta+1e-5;

//sqrtx为求x的平方根函数

forj2;

jk;

j++

ifa%j0break;

ifjkcouta'

i--;

4.intf8constchar*str1,constchar*str2

inti0;

whilestr1[i]&

str2[i]

ifstr1[i]str2[i]i++;

elseifstr1[i]str2[i]return1;

elsereturn-1;

ifstr1[i]str2[i]return0;

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

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

intMinint&

x,int&

y;

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

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

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

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

1.//233.类型4.template5.*p.name6.多继承

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

1.1str[i]’A’&

str[i]’Z’2num++3returnnum

2.1x/22x!

03couta[k]

3.1in2table[i]3Lp

4.1intStack:

Pop2elem[top--]3Pop

1

111

223

369

42433

2abcdef30

abcdefxyz50

3.随机产生出10个10至100之间的素数并显示出来。

4.实现strcmp函数的功能,比较两个字符串str1和str2的大小,若str1较大则返回1,若str2较大则返回-1,若两者相等则返回0。

1.doubleMeandoublea[M][N],intm,intn;

doubleMeandoublea[M][N],intm,intn

inti,j;

doublev0.0;

fori0;

im;

forj0;

jn;

v+a[i][j];

v/m*n;

returnv;

intAA:

Minint&

y

intmx,my;

mxmya[0];

ifa[i]mxmxa[i];

ifa[i]mymya[i];

xmx;

ymy;

ifn0return1;

elsereturn0;

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

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

A.表达式B.标识符C.语句D.函数

设x和y均为bool量,则x&

y为真的条件是。

A.它们均为真B.其中一个为真

C.它们均为假D.其中一个为假

函数调用不可以(D)。

A.出现在一个表达式中

B.出现在执行语句中

C.作为一个函数的实参

D.作为一个函数的形参

假定变量m定义为“intm7;

”,则定义变量p的正确语句为(B)。

Aintp&

m;

Bint*p&

Cint&

p*m;

Dint*pm;

假定有“structBOOKchartitle[40];

floa

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

当前位置:首页 > 经管营销 > 生产经营管理

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

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