电大C语言程序设计A期末模拟试题14 参考.docx
- 文档编号:8521408
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:32
- 大小:30.51KB
电大C语言程序设计A期末模拟试题14 参考.docx
《电大C语言程序设计A期末模拟试题14 参考.docx》由会员分享,可在线阅读,更多相关《电大C语言程序设计A期末模拟试题14 参考.docx(32页珍藏版)》请在冰豆网上搜索。
电大C语言程序设计A期末模拟试题14参考
20XX年电大C语言程序设计A期末模拟试题(1-4)小抄参考
C语言程序设计A期末模拟试题一
一、单项选择题(每小题2分,共20分)
由C++目标文件连接而成的可执行文件的缺省扩展名为。
A.cppB.exeC.objD.lik
x0&&x10的相反表达式为()。
A.x0||x10B.x0&&x10
C.x0||x10D.x0&&x10
在下面的一维数组定义中,哪一个有语法错误。
(C)
A.inta[]1,2,3;B.inta[10]0;
C.inta[];D.inta[5];
假定p是具有double类型的指针变量,则表达式++p使p的值(以字节为单位)增加(C)。
A.1B.4C.sizeofdoubleD.sizeofp
当#include后面的文件名用双引号括起来时,寻找被包含文件的方式是B。
A.直接按系统设定的标准方式搜索目录
B.先在源程序所在目录搜索,再按系统设定的标准方式搜索目录
C.仅仅搜索源程序所在目录
D.搜索当前逻辑盘上的所有目录
假定指针变量p定义为“int*pnewint100;”,要释放p所指向的动态内存,应使用语句(A)。
A.deletep;B.delete*p;C.delete&p;D.delete[]p;
假定AA为一个类,a为该类公有的数据成员,px为指向该类对象的一个指针,则访问px所指对象中数据成员a的格式为()。
A.pxaB.px[a]C.px-aD.px.a
栈具有()的操作特性。
A.先进先出B.先进后出C.进出无序D.进出任意
对于任一个类,用户所能定义的构造函数的个数至多为。
A.0B.1C.2D.任意个
下列对派生类的描述中错误的说法是:
()。
A.派生类至少有一个基类
B.派生类可作为另一个派生类的基类
C.派生类除了包含它直接定义的成员外,还包含其基类的成员
D.派生类所继承的基类成员的访问权限保持不变
二、填空题(每题2分,共20分)
C++语言是在_________语言的基础上发展起来的。
当执行cin语句时,从键盘上输入每个数据后必须接着输入一个________符,然后才能继续输入下一个数据。
假定x是一个逻辑量,则x&&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.已知一个类的定义如下:
#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函数的实现如下,请在标号位置补充适当的内容。
int____1_____
intxa[0];
forinti1;in;i++
ifa[i]x___2___;
___3___;
123
4.classA
inta;
public:
Aa0;
___1___//定义构造函数,用参数aa初始化数据成员a
;
main
___2___;//定义类A的指针对象p
___3__;//用p指向动态对象并初始化为整数5
123
四、理解问答题(写出前两小题的程序运行结果和指出后两小题的程序(或函数)所实现的功能。
每小题6分,共24分)
1#include
#include
voidmain
inta[8]25,48,32,85,64,18,48,29;
int,min;
mina[0];
forinti0;i8;i++
ifxa[i]a[i];
ifxa[i]mina[i];
cout":
"endl;
cout"min:
"minendl;
2.#include
voidmain
forinti1,s0;i20;i++
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];
coutendl;
4.char*fchar*s
intnstrlens;
char*rnewchar[n+1];
forinti0;in;i++
ifs[i]'a'&&s[i]'z'r[i]s[i]-'a'+'A';
elser[i]s[i];
r[n]’\0’;
returnr;
五、编程题(每小题6分,共12分)
1.求出从键盘上输入的10个整数中的最大值,要求输入变量用x表示,存储最大值的变量用表示。
2.根据下面类中Reverse函数成员的原型和注释写出它的类外定义。
classAA
int*a;
intn;
intMS;
public:
voidInitAAintaa[],intnn,intms
ifnnmscout"Error!
"endl;exit1;
MSms;
nnn;
anewint[MS];
forinti0;iMS;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或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
voidmain
intx,;
cinx;
x;forinti0;i9;i++
cinx;
ifxx;
cout":
"endl;
2.
AA*AA:
:
Reverse
inti,x;
fori0;in/2;i++
xa[i];a[i]a[n-1-i];a[n-1-i]x;
returnthis;
C语言程序设计A期末模拟试题二
一、单项选择题(每小题2分,共20分)
编写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.基类的同名成员将覆盖派生类的成员
二、填空题(每题2分,共20分)
行尾使用注释的开始标记符为__________。
设enumPrintstatusready2,busy,error;则coutbusy的输出结果是________。
重载一个函数的条件是:
该函数必须在参数的个数或参数的___类型_上与其它同名函数有所不同。
定义一个函数模板要用到的第一个修饰符是_template_。
与结构成员访问表达式p-name等价的表达式是____________。
如果一个派生类的基类不止一个,则这种继承称为____________。
在一个用数组实现的队列类中,假定数组长度为MS,队首元素位置为first,队列长度为length,则插入一个新元素的位置为__________。
向一个队列中插入元素就是把该元素放到________元素的后一位置上。
假定用户只为类AB定义了一个构造函数“AB:
a0,b0”,则定义该类对象x的定义语句“ABx;”是_________正确/错误的。
除了__________运算符外,其他重载的运算符都可以被派生类继承。
三、程序填充题(对程序、函数或类中划有横线的位置,根据题意按标号把合适的内容填写到程序下面相应标号的后面。
每小题6分,共24分)
1.统计字符串中英文字母个数的程序。
#include
intcountcharstr[];
voidmain
chars1[80];
cout”Enteraline:
”;
cins1;
cout”count”counts1endl;
intcountcharstr[]
intnum0;//给统计变量赋初值
forinti0;str[i];i++
ifstr[i]’a’&&str[i]’z’||___1___
___2___;
___3___;
123
2.从键盘上输入一个正整数,然后把它转换成的二进制数的每一位存放到一维数组中,最后输出该二进制数。
注意二进制数的存放是按照从低位到高位的次序进行的。
#include
voidmain
intx;
cout"输入一个整数:
";
cinx;
inta[20],k0,r;
do
rx%2;
a[k++]r;
x___1___;
while___2___;
for--k;k0;k--___3___;
coutendl;
123
3.假定有定义为“structNODEintdata;NODE*next;;”,下面算法根据table数组中的n个元素建立一个表头指针为L的链表,链表中结点值的顺序与数组元素值的顺序正好相反。
voidf6NODE*&L,inttable[],intn
LNULL;
ifn0return;
inti0;
NODE*p;
while___1___
pnewNODE;
p-data___2___;
p-nextL;
___3___;
i++;
123
4.已知一个利用数组实现栈的类定义如下:
constintARRAY_SIZE10;
classStack
public:
voidInittop-1;//初始化栈为空
voidPushintnewElem;//向栈中压入一个元素
intPop;//从栈顶弹出一个元素
boolEmpty//判栈空
iftop-1returntrue;elsereturnfalse;
intDepthreturntop+1;//返回栈的深度
voidPrint;//按照后进先出原则依次输出栈中每个元素,直到栈空为止
private:
intelem[ARRAY_SIZE];//用于保存堆栈元素的数组
inttop;//指明栈顶元素位置的指针
;
该类的Pop和Print函数的实现分别如下:
___1___
iftop-1
cout"栈空!
"endl;
exit1;//中止运行
return___2___;
voidStack:
:
while!
Empty
cout___3___'';
123
四、理解问答题(写出前两小题的程序运行结果和指出后两小题的程序(或函数)所实现的功能。
每小题6分,共24分)
1.#include
constintN5;
voidmain
inti,p1,s0;
fori1;iN;i++
pp*i;
ss+p;
coutsetw5isetw5p;
coutsetw5sendl;
2.#include
#include
classCD
char*a;
intb;
public:
voidInitchar*aa,intbb
anewchar[strlenaa+1];
strcpya,aa;
bbb;
char*Getareturna;
intGetbreturnb;
voidOutputcouta''bendl;
;
voidmain
CDdx,dy;
chara[20];
dx.Init"abcdef",30;
strcpya,dx.Geta;
strcata,"xyz";
dy.Inita,dx.Getb+20;
dx.Output;
dy.Output;
3.#include
#include
#include
voidmain
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;
elseifstr1[i]str2[i]return1;
elsereturn-1;
五、编程题(每小题6分,共12分)
1.按照下面函数原型语句编写一个函数,返回二维数组a[m][n]中所有元素的平均值,假定采用变量v存放平均值。
2.根据下面类中Min函数成员的原型和注释写出它的类外定义。
classAA
int*a;
intn;
intMS;
public:
voidInitAAintaa[],intnn,intms
ifnnmscout"Error!
"endl;exit1;
MSms;
nnn;
anewint[MS];
forinti0;iMS;i++a[i]aa[i];
intMinint&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.//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;i++
forj0;jn;j++
v+a[i][j];
v/m*n;
returnv;
2.
intAA:
:
Minint&x,int&y
intmx,my;
mxmya[0];
forinti1;in;i++
ifa[i]mxmxa[i];
ifa[i]mymya[i];
xmx;ymy;
ifn0return1;elsereturn0;
C语言程序设计A期末模拟试题三
一、单项选择题(每小题2分,共20分)
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&m;Cint&p*m;Dint*pm;
假定有“structBOOKchartitle[40];floa
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电大C语言程序设计A期末模拟试题14 参考 电大 语言程序设计 期末 模拟 试题 14