02328面向对象程序设计.docx

上传人:b****1 文档编号:3503499 上传时间:2023-05-05 格式:DOCX 页数:12 大小:18.61KB
下载 相关 举报
02328面向对象程序设计.docx_第1页
第1页 / 共12页
02328面向对象程序设计.docx_第2页
第2页 / 共12页
02328面向对象程序设计.docx_第3页
第3页 / 共12页
02328面向对象程序设计.docx_第4页
第4页 / 共12页
02328面向对象程序设计.docx_第5页
第5页 / 共12页
02328面向对象程序设计.docx_第6页
第6页 / 共12页
02328面向对象程序设计.docx_第7页
第7页 / 共12页
02328面向对象程序设计.docx_第8页
第8页 / 共12页
02328面向对象程序设计.docx_第9页
第9页 / 共12页
02328面向对象程序设计.docx_第10页
第10页 / 共12页
02328面向对象程序设计.docx_第11页
第11页 / 共12页
02328面向对象程序设计.docx_第12页
第12页 / 共12页
亲,该文档总共12页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

02328面向对象程序设计.docx

《02328面向对象程序设计.docx》由会员分享,可在线阅读,更多相关《02328面向对象程序设计.docx(12页珍藏版)》请在冰点文库上搜索。

02328面向对象程序设计.docx

02328面向对象程序设计

座号

绝密★启用前

 

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

面向对象程序设计试卷

(课程代码02328)

本试卷共9页,满分100分;考试时间150分钟。

总分

题号

核分人

题分

20

20

20

20

20

复查人

得分

 

复查总分总复查人(签名)

得分

评卷人

复查人

一、单项选择题(本大题共10小题,每小题2分,共20分)在每小题列出的四个备选项内只用一个是符合题目要求的,请将其代码填写在题后的括号内。

错选、多选或未选均无分。

1.结构化程序设计的一种基本方法是【C】

A.筛选法B.递归法

C.逐步求精法D.归纳法

2.设x=,a=7,y=;表达式x+a%3*(int)(x+y)%2/4的值是【C】A.4B.3C.D.2

3.结构化程序设计所规定的三种基本控制结构是【B】A.输入、处理、输出B.顺序、选择、循环

C.树形、网形、环形D.主程序、子程序、函数

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;

cout<<"constructing\n";}

~AAA(){cout<<"destructing\n";}

voidprint()

{cout<

friendintadd(AAA&s1);

};

intadd(AAA&s1)

{return+;}

voidmain()

{AAAa1,*a2;

ints;

a2=newAAA(5,6);

();

a2->print();

s=add(*a2);

cout<<”s=”<

deletea2;

}运行结果:

 

2.#include<>

classCdate

{

intday,month,year;

public:

Cdate()

{

day=1;

month=1;

year=1999;

cout<<"defaultconstructing\n";}

Cdate(intd,intm,inty)

{

day=d;

month=m;

year=y;

cout<<"constructing\n";

}

~Cdate(){cout<<"destructing"<

voidprint()

{cout<

};

voidmain()

{Cdatea1,*a2;

a2=newCdate(30,12,1996);

();

a2->print();

deletea2;

}运行结果:

 

3.#include<>

voidf(int*p1,int*p2)

{int*t;

t=p1;p1=p2;p2=t;

}

main()

{inta=10,b=20;

cout<

f(&a,&b);

cout<

}

运行结果:

 

得分

评卷人

复查人

四、改错题(本大题共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);

}

main()

{

 fun();

}

 

3.函数fun的功能是:

实现交换两个整数的值。

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

voidfun(inta,b)

{

 intt;

 t=a;

 a=b;

 b=t;

}

 main()

{

 inta,b;

 printf("entera,b:

");scanf("%d%d",&a,&b);

 fun(&a,&b);

 printf("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 ;

  }

main()

{

 printf("%d\n",fun(500));

}

 

得分

评卷人

复查人

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

1.编程求1!

+3!

+5!

+7!

+9!

(6分)

 

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

(7分)

 

答案及评分标准

绝密★启用前

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

面向对象程序设计试卷

(课程代码02328)

一、选择题(本大题共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分)

constructing(1分)

1/1/1999(1分)

12/30/1996(1分)

destructing12/30/1996

destructing1/1/1999(1分)

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

1020分)

1020分)

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

1.

(1)t=1;或t=;(1分)

       

(2)t=t*j;或t*=j;(1分)

       (3)s=s+t;或s+=t;(1分)

       (4)printf("jiecheng=%f\n",s);(2分)

2.

(1)for(i=2;i<=m;i++)或for(i=2;m>=i;i++)或for(i=2;ii;i++)或for(i=2;1+m>i;i++)

(2分)

(2)y-=(i*i);或y=(i*i);或y-=(float)(i*i);或y=(float)(i*i);或y=i/i;或y=(float)i/(float)i;(2分)

(3) returny;或return(y);或return(y);(1分)

3.

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

        

(2)t=*a;(1分)

        (3)*a=*b;(1分)

        (4)*b=t;(1分)

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

1.#include<>

voidmain()

{

inti,j;

doubles,sum=0;//1分

for(i=1;i<=9;i=i+2)//4分

{s=1;

for(j=1;j<=i;j++)

s=s*j;

sum=sum+s;

}

cout<<"1!

+3!

+5!

+7!

+9!

="<

}

2.

#include<>

voidmain()

{floatnum1,num2,result;

charop;

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

"<

cin>>num1>>op>>num2;

switch(op){//3分

case'+':

result=num1+num2;break;

case'-':

result=num1-num2;break;

case'*':

result=num1*num2;break;

case'/':

result=num1/num2;break;

default:

cout<

";

}

if(op=='+'||op=='-'||op=='*'||op=='/')//3分

cout<

}

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

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2