山东广播电视大学开放教育电大《C++语言程序设计》课程

时间:2024-04-30 09:45:56 5A范文网 浏览: 平时作业 我要投稿


一、单选题(每小题2分,共12分)

   1. 下面的哪一个保留字不能作为函数的返回类型?(    )

       A. void      B. int      C. new      D. long

  2. 假定a为一个数组名,则下面的哪一种表示有错误?(    )

       A. a[i]      B. *++a      C. *a      D. *(a+1)

   3. 在下面的二维数组定义中,哪一个是正确的?(    )

      A. int a[5][];      B. int a[](10);

      C. int a[][];       D. int a[][5]={{1,2,3},{4,5}};

   4.下面的哪一个函数头格式不正确?(    )

       A. AA(int a, int b)            B. AA(int a=0, int b)

       C. AA(int a=0, int b=0)        D. AA(int a, int b=0)

   5.假定要对类AB定义加号操作符重载成员函数,实现两个AB类对象的加法,并返回相加结果,则该成员函数的声明语句为(    )。

        A.  AB operator +(AB& a, AB& b);      B.  AB operator +(AB& a);

        C.  operator +(AB a);                 D.  AB& operator +();

   6.当需要使用ostrstream流类定义一个流对象并联系一个字符串时,应在文件开始使用#include命令,使之包含(    )文件。

       A. strstrea.h      B. stdlib.h      C. iostream.h    D. fstream.h

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

   1. 执行“cout<<”x1=”<<18*3;”语句后得到的输出结果为________。

   2. 在c++语言中,用输出控制字符________表示输出一个换行。

   3.short int类型的大小为________字节。

4.算术表达式 +1对应的C++表达式为____________________。

5. 逻辑表达式x<-5 || x>10的相反表达式为______________。

6. 假定x=5,则执行“a=(x<0?10:20);”语句后a的值为________。

7. 假定一个二维数组的定义语句为“int a[3][4]={{3,4},{2,8,6}};”,则元素a[1][2]的值为________。

   8.函数被调用时,实参向形参的传送分为________传送和值传送两种方式。

   9.假定一个结构类型的定义为 ”struct B{int a[5]; char* b;};”,则该类型的大小为________字节。

   10. 在定义类对象的语句执行时,系统在建立每个对象的过程中将自动调用该类的____________使其初始化。

   11.当一个类对象离开它的作用域时,系统将自动调用该类的____________。

   12. 假定一个类AB中有一个静态整型成员bb,在类外为它进行定义并初始化为0时,所使用的语句为________________。

三 写出下列每一个程序运行后的结果。(每题六分,共30分)

1. #include<iostream.h>

      void main() {

          int s1=0, s2=0;

          for(int i=0; i<15; i++)

              if(i%2) s1+=i;

              else s2+=i;

          cout<<s1<<','<<s2<<endl;

      }

   2. #include<iostream.h>

      void main() {

          int a[10]={8,19,46,15,6,24,27,18,20,53};

          int c1=0, c2=0;

          for(int i=0;i<10;i++) {

              if(a[i]>=20) c1++;

              if(a[i]>=10 && a[i]<=40) c2++;

          }

          cout<<c1<<','<<c2<<endl;

      }

   3. #include<iostream.h>

      void main() {

          int a[3][4]={{1,2,7,8},{5,6,11,15},{9,20,3,4}};

          int m=a[0][0];

          int k1=0, k2=0;

          for(int i=0;i<3;i++)

              for(int j=0;j<4;j++)

                  if(a[i][j]>m) {m=a[i][j]; k1=i; k2=j;}

          cout<<k1<<’ ’<<k2<<’ ’<<a[k1][k2]<<endl;

      }

   4. #include<iostream.h>

      void main() {

          int a=10, b=15;

          cout<<a<<' '<<b<<endl;

          { a*=3;

            int b=a+20;

            cout<<a<<' '<<b<<endl;

          }

          cout<<a<<' '<<b<<endl;

      }

   5. #include<iostream.h>

      struct Worker {

          char name[15];  //姓名

          int age;        //年龄

          float pay;      //工资

      };

      void main() {

          Worker x={"wangfong",46,1640};

          Worker y, *p;

          y=x; p=&x;

          cout<<y.name<<’ ’<<y.age<<’ ’<<y.pay<<endl;

          cout<<p->name<<’ ’<<p->age+5<<’ ’<<p->pay-300<<endl;

      }

 四、写出下列每个函数的功能(每小题6分,共24分)

   1. bool WB(int a[], int n, int x) {

         for(int i=0;i<n;i++)

             if(a[i]==x) return true;

         return false;

      }

   2. template<class Type>

      bool WE(Type a[], Type b[], int n) {

          int c=0;

          for(int i=0;i<n;i++)

              if(a[i]==b[i]) c++;

          if(c==n) return true; return false;

      }

   3. void LK(double a[], int n, int& m) {

          double s=0;

          int i;

          for(i=0;i<n;i++) s+=a[i];

          s/=n;

          m=0;

          for(i=0;i<n;i++) if(a[i]>=s) m++;

      }

   4.假定以fname所指字符串作为文件名的文件中保存着一批正整数。

      #include<iomanip.h>

      #include<fstream.h>

      int JB(char* fname)

      {

          ifstream fin(fname);

          int a, max=0;

          while(fin>>a) if(a>max) max=a;

          fin.close();

          return max;

      }

五、按题目要求编写函数(10分)

   假定一个函数声明为“int FF(int a[], int n);”,要求递归求出数组a中所有n个元素之积并返回。


参考答案

一、单选题(每小题2分,共12分)

评分标准:选对者得2分,否则不得分。

1.C    2.B    3.D    4.B    5.B    6.A

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

评分标准:每题与参考答案相同者得2分,否则不得分。

1. x1=54                          2. ’/n’

3. 2                              4. (x*x+y*y)/(2*x*y)+1

5. x>=5 && x<=10                  6. 20

7. 6                              8. 引用

9. 24                             10. 构造函数

11. 析构函数                      12. int AB::bb=0;

三、写出下列每个程序运行后的输出结果(每小题6分,共30分)

1. 49,56              //每个数据3分

2. 5,6                //每个数据3分

3. 2 1 20             //每个数据2分

4. 10 15             //共三行,每行数据正确得2分,否则2分全扣

  30 50

  30 15

5. wangfong 46 1640       //3分,每个数据1分

  wangfong 51 1340       //3分,每个数据1分

四、写出下列每个函数的功能(每小题6分,共24分)

评分标准:每题与参考答案的叙述含义相同者得6分,否则酌情给分。

1.从数组a中顺序查找值为x的元素,若查找成功则返回真,否则返回假。

2.模板函数,判断具有n个元素的两个数组a和b中对应元素值是否全部相等,若是则返回真,否则返回0。

3.统计出数组a的前n个元素中大于等于其平均值的元素个数并由引用参数m带回。

4.求出并返回以fname所指字符串作为文件名的文件中保存的所有整数中的最大值。

五、按题目要求编写函数(10分)

评分标准:根据编程的完整情况酌情给分。

int FF(int a[], int n)

{

   if(n==1) return a[n-1];

   else return a[n-1]*FF(a,n-1);

}

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

相关文章:

2015春中央电大《财务报表分析》网考题库期末复习练习04-30

重庆电大《市场营销学》形考作业(1)04-30

2015春广东电大《市场营销学》期末综合练习04-30

2015春浙江电大《初级会计》期末复习资料(1)04-30

2015春中央电大《基础会计》复习资料(2)04-30

电大《现代教育原理》期末综合练习及204-30

2015春浙江电大《管理会计》综合练习04-30

陕西电大《公共政策概论》形考册04-30

陕西电大《电子政务导论》期末复习综合练习题04-30

电大《开放英语1》形考作业04-30

热搜文章
最新文章