电大C语言程序设计A期末模拟试题_第1页
电大C语言程序设计A期末模拟试题_第2页
电大C语言程序设计A期末模拟试题_第3页
电大C语言程序设计A期末模拟试题_第4页
电大C语言程序设计A期末模拟试题_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

电大C语言程序设计A期末模拟试题(1-4)小抄参考

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

一单项选择题每小题2分共20分

由C目标文件连接而成的可执行文件的缺省扩展名为

AcppBexeCobjDlik

X0X10的相反表达式为

Ax0x10Bx0x10

Cx0x10Dx0x10

在下面的一维数组定义中哪一个有语法错误C

Ainta[]123Binta[10]0

Cinta[]Dinta[5]

假定P是具有double类型的指针变量则表达式p使p的值以字节为单位增

加C

A1B4CsizeofdoubleDsizeofp

当include后面的文件名用双引号括起来时寻找被包含文件的方式是B

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

B先在源程序所在目录搜索再按系统设定的标准方式搜索目录

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

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

假定指针变量P定义为intpnewint100要释放p所指向的动态内存应

使用语句A

AdeletepBdeletepCdeletepDdelete[]p

假定AA为一个类a为该类公有的数据成员px为指向该类对象的一个指针则

访问px所指对象中数据成员a的格式为

ApxaBpx[a]Cpx-aDpxa

栈具有的操作特性

A先进先出B先进后出C进出无序D进出任

对于任一个类用户所能定义的构造函数的个数至多为

A0B1C2D任意个

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

A派生类至少有一个基类

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

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

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

二填空题每题2分共20分

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

当执行cin语句时从键盘上输入每个数据后必须接着输入一个符

然后才能继续输入下一个数据

假定x是一个逻辑量则xfalse的值为

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

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

已知语句coutp的输出是Hello则语句coutp输出的是

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

现的

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

假定用户为类AB定义了一个构造函数ABintaaaaa则定义该类的对

象时有种定义格式

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

三程序填充题对程序函数或类中划有横线的位置根据题意按标号把合适的

内容填写到程序下面相应标号的后面每小题6分共24分

1斐波那契数列的第1和第2个数分别为0和1从第三个数开始每个数等

于其前两个数之和求斐波那契数列中的前20个数要求每行输出5个数

include

voidmain

intfflf2i

cout斐波那契数列\n

fl0f21

coutsetw6flsetw6f2

fori3i20i

f1

coutsetw6f

if2coutendl

flf2

f23

coutendl

123

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

voidSelectSortinta[]___1__

intijk

forilini进行nT次选择和交换

ki-l

forjijnj

ifa[j]a[k]__2___

intxa[i-l]a[i-l]a[k]___3_

123

3已知一个类的定义如下

include

classAA

inta[10]

intn

public

voidSetAintaa[]intnn用数组aa初始化数据成员a

用nn初始化数据成员n

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

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

进行从小到大排序

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

大排序

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

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

int1

intxa[0]

forinti1ini

ifa[i]x___2___

3

123

4.classA

inta

public

Aa0

—1—定义构造函数用参数aa初始化数据成员a

main

2_定义类A的指针对象p

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

123

四理解问答题写出前两小题的程序运行结果和指出后两小题的程序或函数

所实现的功能每小题6分共24分

1include

include

voidmain

inta[8]2548328564184829

intmin

mina[0]

forinti0i8i

ifxa[i]a[i]

ifxa[i]mina[i]

coutendl

cout〃min〃minendl

2include

voidmain

forintiIsOi20i

ifi20i30continue

couti

si

coutsendl

3voidtransintx

chara[10]

intiOrem

do

remxl6

xxl6

ifrem10a[i]48rem0字符的ASCH码为48

elsea[i]55remA字符的ASCH码为65

1

whilex0

whilei0couta[i]

coutendl

4charfchars

intnstrlens

charrnewchar[nl]

forinti0ini

ifs[i]as[i]zr[i]sLi]-aA

elser[i]s[i]

r[n]\0

returnr

五编程题每小题6分共12分

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

大值的变量用表示

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

classAA

inta

intn

intMS

public

voidInitAAintaa[]intnnintms

ifnnmscout“Error“endlexit1

MSms

nnn

anewint[MS]

forinti0iMSia[i]aa[i]

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

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

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

参考答案

单选题

1B2A3C4B5C6A7C8B9D10D

填空题

1C2空白3false或043005栈6H7初始化

8成员函数9110this

三程序填充题

11flf22i503f

21intn2kj3a[k]x

31AAA2xa[i]3returnx

41Aintaaaaa2Ap3pnewA5

四理解问答题

1

85

minl8

2

157111337

3

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

4

根据参数s所指向的字符串生成一个由r所指向的新字符串并返回该字符串

使s字符串中的小写字母均变为大写

五编程题

1include

voidmain

intx

cinx

x

forintiOi9i

cinx

ifxx

cout〃〃endl

2

AAAAReverse

intix

fori0in2i

xa[i]a[i]a[n-l-i]a[n-l-i]x

returnthis

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

-单项选择题每小题2分共20分

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

A编译编辑连接调试

B编辑编译连接调试

C编译调试编辑连接

D编辑调试编辑连接

假定一个二维数组的定义语句为inta[3][4]34286则元素a[2][1]

的值为A

A0B4C8D6

函数重载是指A

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

B两个以上的函数取相同的名字和具有相同的参数个数但形参的

类型可以不同

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

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

假定P指向的字符串为string若要输出这个字符串的地址值则使用D

AcoutsBcoutsCcoutsDcoutvoids

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

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

假定AA为一个类a为该类公有的数据成员若要在该类的一个成员函数中访

问它则书写格式为

AaBAAaCaDAAa

在一个用数组实现的队列类中假定数组长度为MS队首元素位置为first队

列长度为length则队尾即最后一个元素的位置为

AlengthlBfirstlength

Cfirstlength-1MSDfirstlengthMS

假定AB为一个类则执行ABrlr2语句时将自动调用该类的

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

函数

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

A0B1C2D3

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

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

成员

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

成员

二填空题每题2分共20分

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

设enumPrintstatusready2busyerror则coutbusy的输出结果是

重载一个函数的条件是该函数必须在参数的个数或参数的—类型一上与其

它同名函数有所不同

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

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

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

在一个用数组实现的队列类中假定数组长度为MS队首元素位置为first队

列长度为length则插入一个新元素的位置为

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

假定用户只为类AB定义了一个构造函数ABa0b0则定义该类对象x

的定义语句ABx是正确错误的

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

三程序填充题对程序函数或类中划有横线的位置根据题意按标号把合适的

内容填写到程序下面相应标号的后面每小题6分共24分

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

include

intcountcharstr[]

voidmain

charsi[80]

coutEnteraline

cinsi

coutcountcountsiendl

intcountcharstr[]

intnum0给统计变量赋初值

forintiOstrLi]i

ifstr[i]astr[i]z__1___

—2—

3

123

2从键盘上输入一个正整数然后把它转换成的二进制数的每一位存放

到一维数组中最后输出该二进制数注意二进制数的存放是按照从低位到高位的

次序进行的

include

voidmain

intx

cout”输入一个整数”

cinx

inta[20]kOr

do

rx2

a[k]r

x—1—

while__2___

for-kkOk--___3

coutendl

123

3假定有定义为structNODEintdataNODEnext下面算法根据table

数组中的n个元素建立一个表头指针为L的链表链表中结点值的顺序与数组元素

值的顺序正好相反

voidf6NODELinttablet]intn

LNULL

ifn0return

inti0

NODEp

while___1__

pnewNODE

p-data___2

p-nextL

3

i

123

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

constintARRAYSIZE10

classStack

public

voidInittop-1初始化栈为空

voidPushintnewElem向栈中压入一个元素

intPop从栈顶弹出一个元素

boolEmpty判栈空

iftop-1returntrueelsereturnfalse

intDepthreturntopi返回栈的深度

voidPrint

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

private

intelem[ARRAY_SIZE]用于保存堆栈元素的数组

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

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

—1—

iftop-1

cout〃栈空〃endl

exit1中止运行

return__2

voidStackPrint

whileEmpty

cout___3___

123

四理解问答题写出前两小题的程序运行结果和指出后两小题的程序或函数

所实现的功能每小题6分共24分

1include

constintN5

voidmain

intipIs0

foriliNi

PPi

ssp

coutsetw5isetw5p

coutsetw5sendl

2.include

include

classCD

chara

intb

public

voidInitcharaaintbb

anewchar[strlenaa1]

strcpyaaa

bbb

charGetareturna

intGetbreturnb

voidOutputcoutabendl

voidmain

CDdxdy

chara[20]

dxlnit〃abcdef〃30

strcpyadxGeta

strcata〃xyz〃

dylnitadxGetb20

dxOutput

dyOutput

3include

include

include

voidmain

inti10a

whilei0

arand10010

intjkintsqrtale_5sqrtx为求x的平方根函数

forj2jkj

ifaj0break

ifjkcoutai一一

4intf8constcharstrlconstcharstr2

inti0

whilestrl[i]str2[i]

ifstrlEi]str2[i]i

elseifstrl[i]str2[i]return1

elsereturn-1

ifstrl[i]str2[i]return0

elseifstrl[i]str2[i]return1

elsereturn-1

五编程题每小题6分共12分

1按照下面函数原型语句编写一个函数返回二维数组中所有元

素的平均值假定采用变量v存放平均值

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

classAA

inta

intn

intMS

public

voidInitAAintaa[]intnnintms

ifnnmscout"Error"endlexit1

MSms

nnn

anewint[MS]

forinti0iMSia[i]aa[i]

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

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

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

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

参考答案

单选题

1B2A3A4D5B6A7C8D9C10B

填空题

1233类型4template5pname6多继承

7firstlengthMS8队尾9正确10赋值

三程序填充题

11str[i]Astr[i]Z2num3returnnum

21x22x03couta[k]

31in2table[i]3Lp

41intStackPop2elem[top-]3Pop

四理解问答题

1

111

223

369

42433

2

abcdef30

abcdefxyz50

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

4实现strcmp函数的功能比较两个字符串strl和str2的大小若strl较大

则返回1若str2较大则返回-1若两者相等则返回0

五编程题

1doubleMeandoublea[M][N]intmintn

doubleMeandoublea[M][N]intmintn

intij

doublev00

fori0imi

forj0jnj

va[i][j]

vmn

returnv

2

intAAMinintxinty

intmxmy

mxmya[0]

forinti1ini

ifa[i]mxmxa[i]

ifa[i]mymya[i]

xmxymy

ifn0return1elsereturn0

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

-单项选择题每小题2分共20分

C程序的基本模块为

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

设x和y均为bool量则xy为真的条件是

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

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

函数调用不可以D

A出现在-,个表达式中

B出现在执行语句中

C作为一个函数的实参

D作为一个函数的形参

假定变量m定义为intm7则定义变量p的正确语句为B

AintpmBintpmCintpmDintpm

假定有structBOOKchartitle[40]floatpriceBOOKbook则不正确的

语句为A

ABOOKxnewbookBBOOKx"CProgramming”270

CBOOKxnewBOOKDBOOKxbook

假定变量x定义为intx5要使rx成为x的引用别名rx应定义为D

AintrxxBintrxxCintrxxDintrxx

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

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

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

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

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

面向对象软件开发中使用的00D表示

A面向对象分析B面向对象设计

C面向对象语言D面向对象方法

在关键字private后面定义的成员为类的成员

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

假定AA为一个类inta为该类的一个成员函数若该成员函数在类定义体

外定义则函数头为

AintAAaBintAAa

CAAaDAAinta

二填空题每题2分共20分

C语言的编译单位是扩展名为_CPP_的程序文件

C常数0345对应的十进制值为

假定x是一个逻辑量则xfalse的值为

若a是一个字符数组则从键盘上向该数组输入一个字符串的表达式为

cma

当定义一个结构体变量时系统分配给该变量的内存大小等于各成员所需内

存大小的总和—

若P指向X则—P—与X的表示是等价的

已知语句couts的输出是apple则执行语句couts2的输出结果为

若采用p-abcy表达式调用一个成员函数在成员函数中使用的就

代表了类外的P指针

重载插入运算符时其运算符函数不能被定义为类的函数

在一个或若干个类的基础上构造一个新类被称为

三程序填充题对程序函数或类中划有横线的位置根据题意按标号把合适的

内容填写到程序下面相应标号的后面每小题6分共24分

1把从键盘上输入的一个大于等于3的整数分解为质因子的乘积如输

入24时得到的输出结果为2223输入50时得到的输出结果为255输入37

时得到的输出结果为37

include

voidmain

intx

cout”请输入一个整数若小于3则重输“

docinxwhile__1

inti2

do

while__2___

couti

xi

—3—

whileix

ifx1coutx

coutendl

123

2主函数调用一个fun函数将字符串逆序

include

include

—1—

voidmain

chars[80]

cins

—2—

cout逆序后的字符串sendl

voidfuncharss[]

intnstrlenss

forinti0__3____i

charcss[i]

ss[i]ss[n-1-i]

ss[n-1-i]c

123

3已知一维数组类ARRAY的定义如下构造函数的作用是把参数n的值赋

给s给v动态分配长度为n的数组空间接着利用数组参数a初始化v所指向的数

classARRAY

intv指向存放数组数据的空间

ints数组大小

public

ARRAYinta[]intn

ARRAYdelete[]v

intsizereturns

intoperator[]intn

1ARRAYinta[]intn

ifn0vNULLsOreturn

sn

v___2___

forinti0ini__3___

123

4include

include

classA

intaintnintLen

public

Aa0n0Len0

AintaaintnnintMM

nnn

LenMM

ifnLenexit1

―1—由a指向长度为Len的动态数组

forinti0inia[i]aa[i]

Adelete[]a

intGetValueinti2__函数体返回a[i]的值

voidmain

intb[10]12345678910

ArblOlO

intis0

fori0i10i_3__把r对象的a数据成员中的每个

元素值依次累加到s中

cout〃s〃sendl

123

四理解问答题写出前两小题的程序运行结果和指出后两小题的程序或函数

所实现的功能每小题6分共24分

1include

voidmain

inta2b5c0

ifab10cabelsec3ab

ifc20coutccelsecout4c-5

coutendl

aabbabcab

cout〃abc〃abcendl

2include

include

voidmain

chara[5][10]

studentworkersoldiercadrepeasant

charsi[10]s2[10]

strcpysla[0]strcpys2a[0]

forintili5i

ifstrcmpa[i]si0strcpysla[i]

ifstrcmpa[i]s20strcpys2a[i]

coutsis2endl

3include

include

voidmain

intxy

cinx

yintsqrtxsqrtx为求x的算术平方根

forintiliyi

ifxi0coutxixiendl

4IntNodeFindIntNodef

iffreturnNULL

IntNodepf

ff-next

whilef

iff-datap-datapf

ff-next

returnp

假定IntNode的类型定义为

structIntNode

intdata结点值域

IntNodenext结点指针域

五编程题每小题6分共12分

1计算1332310的值并输出假定分别用ips作为循环变量累乘变量和累加变

量的标识符

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

classAA

inta

intn

intMS

public

voidInitAAintaa[]intnnintms

ifnnmscout"Error"endlexit1

MSms

nnn

anewint[MS]

forinti0iMSia[i]aa[i]

AAReversel通过动态存储分配得到一个对象并动态分配

a[MS]数组空间要求该对象中的n和MS的值与this中的

对应成员的值相同数组元素的值是按照this中数组元

素的相反次序排列得到的要求该函数返回动态对象的地址

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

参考答案

单选题

1D2A3D4B5A6D7C8B9A10A

填空题

1cpp程序22293x4cina5总和6p

7pie8this9成员10继承派生

三程序填充题

11x3或x22xi03i

21voidfuncharss[]2funs3in2

31ARRAY2newint[n]3v[i]a[i]

41anewint[Len]2returna[i]3srGetValue

1

四理解问答题

1

121

abc71230

2

workercadre

3把从键盘上输入的一个整数x分解为所有可能的每两个因子之积

4实现strcat函数的功能把str2所指字符串连接到strl所指字符串的后

面并返回strl指针

五编程题

1include

voidmain

inti用i作为循环变量

intp1用p作为累乘变量

ints1用s作为累加循环变量

forililOip3sp

coutsendl

2

AAAAReversel

AApxnewAA

px-nnpx-MSMS

px-anewint[MS]

forinti0ini

px-aEn-l-i]a[i]

returnpx

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

一单项选择题每小题2分共20分

可用作C语言用户标识符的一组标识符是

AvoiddefineWORD

Ba3_b3_123YN

Cfor-abcCase

D2aDOsizeof

存储以下数据占用存储字节最多的是

A0B0C0D00

以下说法中正确的是B

AC程序总是从第一个定义的函数开始执行

BC程序总是从main函数开始执行

CC函数必须有返回值否则不能使用函数

DC程序中有调用关系的所有函数必须放在同一个程序文件中

以下正确的说法是B

A用户调用标准库函数前必须重新定义

B用户可以重新定义标准库函数若如此该函数将失去原有含义

C系统不允许用户重新定义标准库函数

D用户调用标准库函数前不必使用预编译命令将该函数所在文件

包括到用户源文件中

变量s的定义为charsHelloworld要使变量p指向s所指向的同一个字

符串则应选取A

AcharpsBcharpsCcharppsDcharpps

假定变量a和pa定义为doublea[10]paa要将1235赋值给a中的下标为

5的元素不正确的语句是D

Apa[5]1235Ba[5]1235

Cpa51235Da[0]51235

关于消息下列说法中不正确的是

A发送消息的对象请求服务接受消息的对象提供服务

B消息的发送者必须了解消息的接收者如何相应消息

C在C中消息的发送具体体现为对接收消息的对象的某个函数的

调用

D每个对象只能接收某些特定格式的消息

软件产品准确执行软件需求规格说明书中所规定的任务的能力叫做软件的

A可维护性B可复用性C兼容性D正确性

假定AA是一个类abc是该类的一个成员函数则参数表中隐含的第一个参数

AabcBthisCthisDthis

类的析构函数可以带有个参数

A0B1C2D任意

二填空题每题2分共20分

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

程序中的预处理命令是指以字符开头的命令

常数100和362的数据类型分别为和

用于存储一个长度为n的字符串的字符数组的长度至少为—nl―

假定a是一个一维数组则a[i]对应的存储地址以字节为单位为一aisizeof

a[i]

基类和派生类的关系称为

类定义中既包含数据成员也包含成员

在一个用数组实现的队列类中包含有两个数据成员一个指明队列长度另一

个指明元素的位置

当一个队列为空时不能对其做元素的操作

派生类的成员函数可以直接访问基类的成员不能直接访问基类

的成员

三程序填充题对程序函数或类中划有横线的位置根据题意按标号把合适的

内容填写到程序下面相应标号的后面每小题6分共24分

1对数组a[n]按升序进行的插入排序算法

voidInsertSort__1___intn

intijx

forilini进行nT次循环

xa[i]

forji-1jOj—为x顺序向前寻找合适的插入位置

ifxa[j]__2__

else__3

a[jl]x

123

2假定有定义为structNODEintdataNODEnext下面算法根据table

数组中的n个元素建立一个表头指针为L的链表链表中结点值的顺序与数组元素

值的顺序相同

voidf5NODELinttablet]intn

ifn0LNULLreturn

LnewNODE生成附加的头结点

inti0

NODEpL

while__1___

pp-next__2___

p-data__3___

i

P-nextNULL把最后一个结点的指针域置空

PL

LL-next使L指向链表的第一个带值的结点

deletep

123

3下面是一维数组类ARRAY的定义ARRAY与普通一维数组区别是a用

而不是□进行下标访问2下标从1而不是从0开始c要对下标是否越界进行检

classARRAY

intv指向存放数组数据的空间

ints数组大小

public

A

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论