1008电大《面向对象程序设计》试题和答案200801

时间:2024-04-27 20:06:21 5A范文网 浏览: 复习资料 我要投稿
试卷代号:1008
中央广播电视大学2006-200?学年度第二学期"开放本科"期末考试
计算机专业 面向对象程序设计 试题
2007年7月
一、单项选择(每小题2分,共20分)
1.字符串" a+b=12\n"的长度为( )。
A.6 B.7
C.8 D.9
2.假定一个二维数组的定义语句为"int a[3][4]={{3,4},{2,8,6}};",则元素a[2][1]的值为( )。
A.O B.4
C.8 D.6
3.以下正确的描述是( )。
A 函数的定义可以嵌套,函数的调用不可以嵌套
B.函数的定义不可以嵌套,函数的调用可以嵌套
C 函数的定义和函数的调用均可以嵌套
  D.函数的定义和函数的调用均不可以嵌套
4.设有定义"double array[10];",则表达式sizeof(array)/sizeof(array[0])的结果为 array数组的( )。
A 首地址 B.元素个数
C 每个元素所占的字节数 D 总字节数
5.若使p指向包含30个整型元素的动态数组空间,则使用的定义语句为( )。
A.int*p=new int[30] B.int* p=new int(30)
C Int* p=new[30] D. *p=new int[30]
6.软件产品与其他软件产品组合成一个整体的难易程度叫做软件的( )。
A 可维护性 B 可复用性
C 兼容性 D.正确性
7.在多文件结构的程序中,通常把类的声明单独存放于( )中。
A 主文件 B,实现文件
C 库文件 D.头文件
8.在一个用数组实现的队列类中,假定数组长度为MS,队首元素位置为first,队列长度为length,则队首的后一个位置为( )。
A.first+l B.(first+1)%MS
C.(first-1)%MS D.(first+length)%MS
9.假定一个类的构造函数为"A(int aa=1,int bb=O){a=aa; b=bb;}",则执行 "Ax(4);"语句后,x.a和x.b的值分别为( )。
A.1和0 B.1和4
C 4和1 D.4和O
lo.假定AB为一个类,则执行"ABa(2),b[3],*p[4];"语句时共调用该类构造函数的 次数为( ).
A.3 B.4
  C 5 D.9
  二、填空题(每小题2分,共20分)
   1.用于输出表达式值的标准输出流对象是 。
  2.假定x=5,y=6,则表达式x--*--y的值为 ·
  3.假定x是一个逻辑量,则x||true的值为 ·
  4.c++提供的预处理命令有宏定义命令,条件编译命令和 命令。
  5.假定a是一个一维数组,则a[i]的指针访问方式为 ·
  6.变量v定义为"double v=23.4;",要使指针pv指向v.则定义pv的语句为
  7.若在类的定义体中只给出了一个成员函数的原型,则在类外给出完整定义时,其函数名前必须加上 和两个冒号分隔符.
8.若采用x.abc(y)表达式调用一个成员函数,在成员函数中使用的 就代表了类外的x对象。
  9.假定用户没有给一个名为AB的类定义析构函数,则系统为其定义的析构函数为
  10.假定用户只为类AB定义了一个构造函数"AB(int aa,int bb=0){a=aa;b=bb;}", 则定义该类的对象时,其实参表中至多带有 个实参。
  
三、程序填充题,根据窟意在横线上填写合适的内容。(每小题6分,共24分)
   1.下面函数是求两个整型参数a和b的最小公倍数。
   int f2(int a, int b)
   {
   int i=2,p=1;
   do{
   while(a%i= =0 & & ){
   p* =I; a/=i ; b/=i;
   }
   i++;
    }while (a<=i && );
    Return p*a*b;
    }
    
    2.对数组a中的元素按相反次序重新排列。
    Void PV(int a[] , int n )
    {
     int i ;
     for ( i=o ;i     int x=a[i];
     ;
     ;
    }
    }
    
    3.假定有定义为"struct NODE{int data;NODE*next;};",下面算法是把以L为表头
     指针的链表中各结点依次按相反次序链接并返回新链表的表头指针.
     NODE*f8(NODE*L)
     {
     if(L==NULL)return NULL;
     NODE*p=NULL,*q=L,*t; //p为新链表的表头指针,初始值为空
     while(q!=NULL){
     t=q;
     q=q->next;
     t->next= ;
     p= ;
     }
     Return p;
    }
    
    4.类A的定义
     class A{
     int *a;int n;int MaxLen;
     public:
     A():a(O),n(O),MaxLen(O){} //无参构造函数
     A(int *aa,int nn,int MM){ //带参构造函数
     n=nn;
     MaxLen=MM;
     if(n>MaxLen) exit(1);
     a=new int[MaxLen]
     for(int i=O;i     }
     ~A(){ ;} //释放动态存储空间
     int GetValue(int i){return a[i];} //函数体返回a[i]的值
     };
    四、理解问答题.分别写出前2小题的程序运行结果和指出后2小题
     的程序或函数功能。{每小题6分,共24分)
    1.#include
     const Int B=2;
     void main()
     {
     int p=1,s=1;
     while(s<50){
     p*=B;
     s+=p;
     }
     cout<<"s="<     }
     运行结果:
    
    2.#include
     class CE{
     private;
     int a,b;
     int Setmin(){return(a     public;
     int c;
     voidSetValue(int x1,int x2,int x3){
     a=x; b=x2;c=x3:
     }
     int GetMin();
     };
     int CE::GetMin(){
     int d=getmin();
     return(d     }
     void main()
     {
     int x=5,y=12,z=8;
     CE*ep=new CE;
     ep->SetValue(x+y,y-2,lO);
     cout<GetMin()<     )
     运行结果:
    
    3.int ff(int x,int y,char op){
     int z;
     switch(op){
     case'+';
     cout<>z;
     if(x+y==z)return 1;else return O;
     break;
     case'-';
     cout<>z;
     if(x-y==z)return 1;else return O;
     break;
     case'*':
     cout<>z;
     if(x * y = =z)return 1 ; else return O;
     break;
     case'/';
     cout<     else r[i]=s[i];
     r[n]='/0';
     函数功能:
五、编程题(每小题6分,共12分)
1.按照下面函数原型语句编写一个递归函数求出并返回数组a中n个元素的平方和。
     int f(int a[],int n);
2.根据下面类中拷贝构造函数的原型写出它的类外定义。
     class Array{
     int *a; //指向动态分配的整型数组空间
     int n; //记录数组长度
     public ;
     Array(intaa[], int nn); //构造函数,利用aa数组长度nn初始化n,
     //利用aa数组初始化a所指向的数组空间
     Array(Array& aa); //拷贝构造函数
     };
    
    
    
    
    
     试卷代号:1008
     中央广播电视大学2006-200?学年度第二学期"开放本科"期末考试
     计算机专业 面向对象程序设计 试题答案及评分标准
     (供参考)
     2007年7月
     一、单项选择题(每小属2分,共20分)
     1.B 2.A 3.B 4.B 5.A
     6.C 7.D 8.B 9.D lO.B
     二、填空题(每小题2分,共20分)
     1. cout
     2. 25
     3. true(或1)
     4. 文件包含
     5. *(a+i)
     6. double *pv=&v;
     7. 类名
     8. *this
     9. ~AB(){}
     1O. 2
     三、程序填充题,根据题意在横线上填写合适的内容。(每小题6分,共24分)
     评分标准:每空3分。
     1.b%i==O b>=i
     2.a[i]=a[n-i-1] a[n-i-1]=x
     3. p t
     4.a[i]=aa[i] delete[]a
     四、理解问答题,分别写出前2小题的程序运行结果和指出后2小题的程序或函数功能。(每
     小题6分,共24分)
     评分标准;第3、4小题根据叙述完整程度酌情给分。
1. s=63
2. 4
3.以参数x和y作为运算对象,以参数op所存字符作为运算符,要求从键盘上输入运算结果,若正确则返回1否则返回o。
4.根据参数s所指向的字符串,生成一个由r所指向的新字符申并返回,该字符串使s字符串中的小写字母均变为大写。
五、编程题(每小题6分,共12分)
评分标准:按编程完整程度酌情给分。
       1.int f(int a[[],int n)
{
if(n==O) return O; //1分
else return a[n - 1],a[n - 1]+f(a,n-1); //6分
}
2.Array::Array(Array & aa){
n=aa.n; //1分
a=new int[n] //3分
        for(int i=0;i )

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

相关文章:

该教师运用的教学方法是04-27

下列选项中对维果斯基的者成就表述正确的是04-27

人的需要是多种多样的,需要按照起源分为自然需要和社会04-27

这首歌主要体现了教师的职业形象有04-27

这首歌主要体现了教师的职业劳动特点有04-27

随着心理学的研究领域不断扩展和发展,出现了很多交叉学04-27

“今天的教育,明天的科技,后天的经济”说明教育在社会发04-27

问题解决除受策略、知识等因素影响外,还受到其它心理因04-27

学生认知方式的差异表现为多个方面。下列关于认知方式04-27

该教学片段反映出的师生关系的类型有04-27

热搜文章
最新文章