02328面向对象程序设计3Word格式.docx

上传人:b****6 文档编号:17264928 上传时间:2022-11-30 格式:DOCX 页数:10 大小:18.63KB
下载 相关 举报
02328面向对象程序设计3Word格式.docx_第1页
第1页 / 共10页
02328面向对象程序设计3Word格式.docx_第2页
第2页 / 共10页
02328面向对象程序设计3Word格式.docx_第3页
第3页 / 共10页
02328面向对象程序设计3Word格式.docx_第4页
第4页 / 共10页
02328面向对象程序设计3Word格式.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

02328面向对象程序设计3Word格式.docx

《02328面向对象程序设计3Word格式.docx》由会员分享,可在线阅读,更多相关《02328面向对象程序设计3Word格式.docx(10页珍藏版)》请在冰豆网上搜索。

02328面向对象程序设计3Word格式.docx

4.以下关于循环体的描述中,错误的是【C】A.循环体中可以出现break语句B.循环体中还可以出现循环语句

C.循环体中不能出现continue语句D.循环体中可以出现switch语句

5.for(i=0;

i<

5;

i++)语句执行循环的次数是【A】A.5B.1C.6D.无限

6.在inta[][3]={{1},{3,2},{4,5,6},{0}}中,a[2][2]的值是【D】A.3B.2C.4D.6

7.在调用函数时,如果实参是指针变量时,它与对应形参之间的数据传递方式是【B】A.单向值传递B.地址传递

C.由实参传给形参,再由形参传回实参D.传递方式由用户指定

8.考虑函数原型voidtest(inta,intb=7,char=’*’),下面的函数调用中,属于不合法调用的是【C】A.test(5)B.test(5,8)

C.test(6,”#”)D.test(0,0,‘*’)

9.继承类的构造顺序下面说法正确的是【B】A.先调用成员对象的构造函数B.先调用基类的构造函数

C.先调用自己的构造函数D.调用构造函数的顺序不确定

二、填空题(本大题共10小题,每小题2分,共20分)在每小题的空格中填上正确答案。

填错、不填均无分。

1.inta[2][3]={{5},{6}};

则数组元素a[0][0]的值为______。

2.C++程序设计中,可以将被调用函数中的值带回调用函数的三种方法分别是________________、通过全局变量返回和有通过数据文件返回。

3.含有纯虚函数的类叫______。

4.运算符重载时函数名由单词_______和运算符组成。

5.当建立一个新对象时,程序自动调用该对象的_______________函数。

6.对象是状态和________的封装体。

7.友元函数用关键字________说明,它可以访问类对象的所有成员。

8.C++中,多态性包含两种,________和动态。

三、阅读程序(本大题共4小题,每小题5分,共20分)请在每小题后的空白处填上程序运行结果。

1.#include<

>

classAAA

{

intA,B;

public:

AAA()

{A=100;

B=200;

cout<

<

"

deflatconstructing\n"

;

}

AAA(inti,intj)

{A=i,B=j;

constructing\n"

~AAA(){cout<

destructing\n"

voidprint()

{cout<

A<

"

B<

\n"

}

friendintadd(AAA&

s1);

};

intadd(AAA&

s1)

{return+;

voidmain()

{AAAa1,*a2;

ints;

a2=newAAA(5,6);

();

a2->

print();

s=add(*a2);

”s=”<

s<

endl;

deletea2;

}运行结果:

2.#include<

classCdate

intday,month,year;

Cdate()

day=1;

month=1;

year=1999;

defaultconstructing\n"

Cdate(intd,intm,inty)

day=d;

month=m;

year=y;

~Cdate(){cout<

destructing"

month<

/"

day<

year<

voidmain()

{Cdatea1,*a2;

a2=newCdate(30,12,1996);

}运行结果:

3.#include<

voidf(int*p1,int*p2)

{int*t;

t=p1;

p1=p2;

p2=t;

}

main()

{inta=10,b=20;

cout<

a<

””<

b<

f(&

a,&

b);

运行结果:

四、改错题(本大题共4小题,每小题5分,共20分)请找出程序中的错误语句并改正错误。

1.函数fun的功能是:

求1到20的阶乘的和。

程序中共有4条错误语句,请改正错误。

fun()

{

intn,j;

floats=,t;

for(n=1;

n<

=20;

n++)

{

s=1;

for(j=1;

j<

=n;

j++)

t=t*n;

s+t=s;

printf("

jiecheng=%d\n"

s);

fun();

3.函数fun的功能是:

实现交换两个整数的值。

例如给a和b分别输入3和6,输出为a=6b=3请改正程序中的4个错误,使它能得出正确的结果。

voidfun(inta,b)

intt;

t=a;

a=b;

b=t;

inta,b;

entera,b:

);

scanf("

%d%d"

&

fun(&

a=%db=%d\n"

a,b);

4.函数fun的功能是:

计算并输出k以内最大的10个能被13或17整除的自然数之和。

k的值由主函数传入,若k的值为500,则函数值为4622。

请改正程序中的4个错误,使它能得出正确的结果。

intfun(intk)

intm=0,mc=0,j;

while((k>

=2)||(mc<

10))

{if((k%13=0)||(k%17=0))

{m=m+k;

mc++;

k++;

return;

%d\n"

fun(500));

五、编程题(本大题共3小题,第1小题6分,第2、3小题各7分,共20分)请在每小题后的空白处编写程序。

1.编程求1!

+3!

+5!

+7!

+9!

(6分)

2.设计一个简单的计算机程序,实现加、减、乘、除运算。

(7分)

答案及评分标准

2012年上半年中原工学院高等教育自学考试专科助学考试

一、选择题(本大题共20小题,每小题2分,共40分)

(1)C

(2)C(3)B(4)C(5)A

(6)D(7)B(8)C(9)B

二、填空题(本大题共20小题,每空1分,共20分)

1.5

2.通过return语句返回

3.抽象类

4.Operator

5.构造函数

6.操作

7.friend

8.静态

三、请阅读以下程序,写出运行结果(本大题共5小题,每小题4分,共20分)

1.(本小题共5分)运行结果:

defaultconstructingdeflatconstructing(1分)

constructing(1分)

100,200

5,6(1分)

s=11(1分)

destructing(1分)

destructing

2.(本小题共5分)运行结果:

defaultconstructing(1分)

1/1/1999(1分)

12/30/1996(1分)

destructing12/30/1996

destructing1/1/1999(1分)

3.(本小题共5分)运行结果:

1020分)

四、改错题(本大题共4小题,每空5分,共20分)

1.

(1)t=1;

或t=;

(1分)

(2)t=t*j;

或t*=j;

(3)s=s+t;

或s+=t;

(1分)

(4)printf("

jiecheng=%f\n"

(2分)

2.

(1)for(i=2;

=m;

i++)或for(i=2;

m>

=i;

m+1;

1+m;

m+1>

i;

1+m>

i++)

(2)y-=(i*i);

或y=(i*i);

或y-=(float)(i*i);

或y=(float)(i*i);

或y=i/i;

或y=(float)i/(float)i;

(3)returny;

或return(y);

或return(y);

3.

(1)voidfun(int*a,int*b)或fun(int*a,int*b)(2分)

(2)t=*a;

(1分)

(3)*a=*b;

(4)*b=t;

五、编程题(本大题共3小题,第1小题6分,第2、3小题各7分,共20分)

1.#include<

inti,j;

doubles,sum=0;

//1分

for(i=1;

=9;

i=i+2)//4分

{s=1;

s=s*j;

sum=sum+s;

1!

="

sum<

//1分

2.

#include<

voidmain()

{floatnum1,num2,result;

charop;

输入操作数1,运算符,操作数2:

cin>

num1>

op>

num2;

switch(op){//3分

case'

+'

:

result=num1+num2;

break;

-'

result=num1-num2;

*'

result=num1*num2;

/'

result=num1/num2;

default:

op<

是无效运算符!

if(op=='

||op=='

)//3分

num1<

num2<

result<

}精心搜集整理,只为你的需要

精心搜集整理,只为你的需要

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

当前位置:首页 > 幼儿教育 > 唐诗宋词

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

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