2015春年1月湖南电大《面向对象程序设计》模拟练习(3

时间:2024-04-27 19:31:25 5A范文网 浏览: 复习资料 我要投稿

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

1.设X和Y均为boot量,则x}}Y为假的条件是(

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

2.假定一个二维数组的定义语句为“inta[3][4] _ {{3,4},{2,8,6}};",则元素a[1][2]的值为(

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

3.假定P是具有int 、类型的指针变量,则给P赋值的正确语句为(

A. p=newintint关关     B.p=r}ew int }C. p=new D. p =new int[10]

4.软件产品在需求发生变化、运行环境发生变化或发现软件产品本身的错误或不足时进行相应的软件更新的难易程度叫做软件的(

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

5.若需要把一个类外定义的成员函数指明为内联函数,则必须把关键字( )放在函数原型或函数头的前面。

A. in B. Inline  C. inline D. InLiner

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

A.l ength+1 B. f irst}-length   C (first-f-length一I)0oMS D. ( first-f-length)0 oM S

7.假定一个类的构造函数为“A(inta a,in tb b){ a=aa;b =aa* b b;}" ,则执行 “A x(4,});”语句后,x. a和x. b的值分别为( )。

A. 4和 5 B. 5 和 4   C. 4和20 D. 20和5

8.假定AB为一个类,则执行“AB * p=new AB(1,2);”语句时共调用该类构造函数的次数为(

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

9.一个类的成员函数也可以成为另一个类的友元函数,这时的友元声明( )类域的限

A.需加上B.不需加上   C.可加可不加D.取消

10.队列具有( )的操作特性。

A.先进先出13.先进后出  C.进出无序D.仅进不出

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

1.多行注释的开始标记符为               。

2.假定x=5,y=6,则表达式x-{- + * }- -} Y的值为           。

3. 假 定 x是一个逻辑量,则 xa乙true的值与x的值                     。

4. 含 随 机函数的表达式 rand()% 20的值在0至             的整数区间内。

5. 程 序 的编译是以            为单位进行的。

6. 一 个 数组的             实际上是指向该数组的第一个元素的指针,并且在任何时候都不允许修改它。

7. 指 针变 量pv和pc定义为“void} -pv = "Hello,w ord!";c har} p c;",要将pv值赋给pc,则正确的赋值语句是pc=(          ) Pv o

8一 个 类              的 函数通常用于实现释放该类对象中指针成员所指向的动态存储空间的任务。

9. 假 定 用户为类 AB定义了一个构造函数“AB(inta a);a(aa),{}",则            是该类的数据成员。

10 .在 多 文件 结构 的程 序 中,通 常 把含 有 main )函数 的文件 称 为该 程 序 的             。

三、程序填充题。根据题意在横线上填写合适的内容。(每小题6分,

1.采用辗转相除法求出两个整数的最大公约数。

# inc lu de<iostream.h >

vo id main()

IIlt 8,h

cout+ }}请输人两个正整数:’‘;

cin; a; b

while(a<二0}}b<=0) {cout+ '‘重新输人:“;cin>>a>>b

while(b)

int r

r=a%b

;             ,                ,//分别修改a和b的值

cout+ a+ endl,//输出最大公约数

2.用插入排序方法对table指针数组中size个指针所指向的字符串进行按升序排序的算

法。

void sort(char*table仁〕,int size){

for(inti =1;i<size;i-f- +){

char‘p=table[i];

for(int j=i一1;j>=0;j一一)

if(strcmp(p,table[j])<0)t able[j}- 1]=                     ;

else break;

table[j+1]=                 ;

3.类A的定义

class A {

char * a

public

F>1

A(){a =NULL;

A(char,aa){

//定义无参构造函数,使a为空指针

a                   char[strlen(aa)+1]

strcpy(a,aa); 刀用as所指字符串初始化a所指向的动态存储空间

//定义析构函数,删除a所指向的动态存储空间

4.类Goods的定义

class

pnvate:

ch arN ame[20]; //商品名称

int W eight; //商品重量

sta ticin tt otalWeight;//同类商品总重量

public:

Go ods< char} s tr,intw ){ //构造函数

str cp y CN a m e, str);

Weight=w;

totalW eight十“Weight

一Goods(){totalWeight一=Weight;

char二GetN(){                    //返回商品名称

int GetW ){return weight;}

static int GetTotalWeight(){//定义静态成员函数返回总重量

四、理解问答题,分别写出前2小题的程序运行结果和指出后2小题

的程序或函数功能。(每小题6分,共24分)

1.#include<iostream, h>

const intT= 6

void main()

int i,j,k=0;

for(i=1;i<=T;i十=2){

for(j=2;j<=}r;;+=2) k+十;

coot+ 'k="+ k+ endl

运行结果:

2. # include<iostream.h >

C1aSS C"E

private

int a,b

intg etmax(){return (a>b?a :1}) ;

public

int c

void SetValue(int xl,int x2,int x3){

a=x1;h= x2;c= x3

int GetMax();

int CE::(=etMax(){

int d=getmax()

63

return (d}c? d:c)

void main()

int x = 5,y=12,z=8;

CE ex;

ex. SetValue(x,y,z);

coutG<ex. GetMax<)<Gendl

运行结果:

3.井 in cl ud e<iostream.h >

void main( )

int t,p= 1;

int N;

cout+ “输人一个正整数:”;

cin>>N;

for(i气l;i<=N;i十+)A*=i;

cout+ "N!="+ p+ endl

程序功能:

4. intf(char、S)

lnl 1= }

while(} s 十一1--) i+ 十

return

函数功能:

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

1. 编 写 一个函数,分别求出由指针a所指向的字符串中包含的每种十进制数字出现的次

数,把统计结果保存在数组b的相应元素中,该函数的原型声明如下:

vo id f un (charx a,1Tlt b []);

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

cla ss A A {

tn t * a ;

rn t n ;

in tM S ;

pu bli c:

vo id I n itA A (i nt a s[],intn n,intm s){

if(nn,m s){cout< C"Error!" < Gendl;exit(1);

M S=ms;

n = nn

a二new int[MS]

for(int i=0;iGn;i++):心〕二as[i];

int CornpareBig(AA}. b);

// 比较 *this与 h的大小,从前向后按两数组

// 中的对应元素比较,若xt his中元素值大则返回l,若 b中

// 元素值大则返回--I ,若相等则继续比较下一个元素,直到

刀 一个数组中无元素比较,此时若两者的n值相同则返回。,

// 否则若二this中的n值大则返回1,若1.>中的n值大则返回一1

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

1. C 2 . C 3. )3 4.A 5 . 13    6. D 7 . C 8.B 9. A 1 0. A

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

1./*    2.35    3.相同   4.19    5.文件   6.数组名   7.Char *    8.析构   9_ a   10.主文件

三、程序填充题.根据题意在横线上填写合适的内容。(每小题6分,共24分)

评分标准:每空3分

1. a二b h= r   2.able.[J] p   3. new 一A(){delete[ ]a;   4.return Name return totalW eight

四、理解问答题,分别写出前2小题的程序运行结果和指出后2小题的程序或函数功能。

1. k=9   2. 12    3. 计 算 并输出N阶乘的值,其中 N值由键盘输人。  4. 求 出 并返回字符指针参数 s所指向的字符串长度。

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

评 分标 准 :按编程完整程度酌情给分。

1.v oi d f un(char*a,intb [])

m t

for(i=0;i<10;i-f-+)h[i]=0;

while(*a){

int j= *a一’0'

if(j>=0 &.}. j<=9) b[j]++;

a++;

2. int AA::CompareBig(AA乙b)

int k;

if(n>h. n) k=b. n; else k=n;

for(inti =0;i<k;i-{- +)

if( a[i ]> b.a[ i])r eturn1 ;

els ei f(a 仁i]<b.a[ i])return一1

if(k==n&&k==b. n) return 0;

else if(k<n) return 1;

else return一1;

来源:网络整理 免责声明:本文仅限学习分享,如产生版权问题,请联系我们及时删除。

相关文章:

2022年初中物理力学易错知识点04-27

2022年初中物理拉力是弹力吗04-27

2022年初中物理关于力的知识点总结04-27

2022年初中物理牛顿是基本单位吗04-27

2022年中考物理光的折射考点:透镜04-27

2022年初中物理重力加速度在赤道大还是在两极大04-27

2022年中考物理光的折射考点:凸透镜成像的规律04-27

2022年初中物理知识点:光的折射定律04-27

2022中考物理光的折射同步检测题04-27

2022年初中物理知识点:光的折射现象和应用04-27

热搜文章
最新文章