<address id="ousso"></address>
<form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
  1. 試題

    9月計算機二級C++練習題及答案

    時間:2025-04-30 12:49:09 試題 我要投稿

    2015年9月計算機二級C++練習題及答案

      一、填空題

      1.用樹結構表示實體類型及實體間聯系的數據模型稱為【1】。

      【參考答案】

      【1】層次模型

      2.數據流圖的類型有【2】和事務型。

      【參考答案】

      【2】變換型

      3.在最壞情況下,堆排序需要比較的次數為【3】。

      【參考答案】

      【3】O(nlog2n)

      4.軟件開發環境是全面支持軟件開發全過程的【4】集合。

      【參考答案】

      【4】軟件工具

      5.冒泡排序算法在最好的情況下的元素交換次數為【5】。

      【參考答案】

      【5】0

      6.C++語言標識符是以字母或【6】開頭的,由字母,數字和下劃線組成的字符串。

      【參考答案】

      【6】下劃線

      7.mystrlen函數的功能是計算str所指字符串的長度,并作為函數值返回,請填空。

      int mystrlen(char *str)

      { int i;

      for(i=0;【7】!=′\0′;i++);

      return(i);}

      【參考答案】

      【7】*(str+i)或str[i]

      8.如果一個類中定義了成員對象,則該類的對象和成員對象先被初始化的是【8】。

      【參考答案】

      【8】類的成員對象

      9.C++在重載運算符中,如用成員函數重載一元運算符參數表中需要【9】個參數,如用友元函數重載一元運算符參數表中需要【10】個參數。

      【參考答案】

      【9】0 【10】1

      10. 假設int a=1,b=2;,則表達式(++a/b)*b--的值為【11】。

      【參考答案】

      【11】2

      11.C++語句const char *const p=″hello″;,所定義的指針p和它所指的內容都不能被【12】。

      【參考答案】

      【12】改變

      12.對于下面定義的類MyClass,請在函數f()中添加對象成員把n的值修改為50。

      class MyClass

      {

      public:

      MyClass(int x){n=x;}

      void SetNum(int nl){n=nl;}

      private:

      int n;

      };

      int f()

      {

      MyClass *ptr=new MyClass(45);

      【13】

      }

      【參考答案】

      【13】ptr->SetNum(50);

      13.表達式operator+(x,y)還可以表示為【14】。

      【參考答案】

      【14】x+y

      14.通過使用new和delete兩個運算符進行的分配為【15】存儲分配。

      【參考答案】

      【15】動態

      上機部分

      一、改錯題

      使用VC6打開考生文件夾下的工程kt4_1,此工程包含一個源程序文件kt4_1.cpp,但該程序運行有問題,請改正程序中的錯誤,使程序的輸出結果如下:

      1:

      weight:5

      age:0

      2:

      weight:7

      age:9

      源程序文件kt4_1.cpp清單如下:

      #include

      classanimal

      {

      public:

      /****************found*******************/

      friendvoidsetvalue(animal&,int);

      /****************found*******************/

      viodprint();

      protected:

      intitsweight;

      intitsage;

      };

      voidanimal::print()

      {

      cout<<"weight:"<

      cout<<"age:"<

      }

      voidsetvalue(animal&ta,inttw)

      {

      ta.itsweight=tw; www.Examda.CoM

      ta.itsage=0;

      }

      voidsetvalue(animal&ta,inttw,inttn)

      {

      ta.itsweight=tw;

      ta.itsage=tn;

      }

      voidmain()

      {/****************found*******************/

      animalpeppy

      setvalue(peppy,5);

      cout<<"1:"<

      peppy.print();

      setvalue(peppy,7,9);

      cout<<"2:"<

      peppy.print();}

      【參考答案】

      (1)添加友元函數的聲明

      friend void setvalue(animal&,int,int);

      (2)將viod print();改為:void print();

      (3)將animal peppy改為:animal peppy;

      【試題解析】

      (1)主要考查對成員函數定義規則的掌握,成員函數必須先聲明再使用,即使是友元函數也不例外;

      (2)主要考查對關鍵字的掌握,空類型應用void;

      (3)主要考查對變量定義的掌握,該處缺少“;”。

      二、簡單應用題

      請編寫一個函數intSeqSearch(intlist[],intstart,intn,intkey),該函數從start開始,在大小為n的數組list中查找key值,返回最先找到的key值的位置,如果沒有找到則返回-1。請使用for循環實現。

      注意:部分源程序已存在文件kt4_2.cpp中。

      請勿修改主函數main和其他函數中的任何內容,僅在函數SeqSearch的花括號中填寫若干語句。

      文件kt4_2.cpp的內容如下:

      #include

      intSeqSearch(intlist[],intstart,intn,intkey)

      {

      }

      voidmain()

      {

      intA[10];

      intkey,count=0,pos;

      cout<<"Enteralistof10integers:";

      for(pos=0;pos<10;pos++)

      {

      cin>>A[pos];

      }

      cout<<"Enterakey:";

      cin>>key;

      pos=0;

      while((pos=SeqSearch(A,pos,10,key))!=-1)

      {

      count++;

      pos++;

      }

      cout<

      }

      【參考答案】

      int SeqSearch(int list[], int start, int n, int key)

      {

      for(int i=start;i

      {

      if(list[i]==key)

      {

      return i;

      }

      }

      return -1;

      }

      【試題解析】

      本題考查的是考生使用for和if等基本控制結構的綜合水平,查找一個數組中的指定元素并返回序號是一個基本操作,注意一維數組的實參格式。

      三、綜合應用題

      使用VC6打開考生文件夾下的工程kt4_3,此工程包含一個源程序文件kt4_3.cpp,其中定義了用于表示向量的類vector,但類vector的定義并不完整。請按要求完成下列操作,將類vector的定義補充完整。

      (1)補充類vector的構造函數,該函數有參數x和y,它們都是int型的數據,默認值都為0。請使用參數列表的形式分別將類的數據成員a和b分別初始化為參數x和y的值。請在注釋“//**1**”之后添加適當的語句。

      (2)完成類vector的成員函數input(intx,inty)的定義,將int型的參數x和y分別賦值給數據成員a和b,請在注釋“//**2**”之后添加適當的語句。

      (3)完成類vector的友元函數frienddoubleMultiply(vector&x,vector&y)的定義,先定義double型的臨時變量c,然后將參數對象x和對象y的數據成員a與b分別相乘再相加后賦值給c,最后返回c的值,將請在注釋“//**3**”之后添加適當的語句。輸出結果如下:

      (10,20)

      (2,3)

      80

      注意:除在指定位置添加語句之外,請不要改動程序中的其他內容。

      源程序如下:

      #include

      classvector

      {

      inta;

      intb;

      public: 

      //**1**

      voidinput(intx,inty)

      {//**2**}

      voidoutput()

      {cout<<'('<

      frienddoubleMultiply(vector&x,vector&y);

      };

      doubleMultiply(vector&x,vector&y)

      {

      //**3**

      c=x.a*y.a+x.b*y.b;

      returnc;

      }

      voidmain()

      {

      vectorx(10,20),y;

      doubled;

      y.input(2,3);

      d=Multiply(x,y);

      x.output();

      y.output();

      cout<

      }

      【參考答案】

      (1)vector (int x=0,int y=0):a(x),b(y){}

      (2)a=x; b=y;

      (3)double c;

      【試題解析】

      本題主要考查類的定義和友元函數定義,其中(1)中的參數列表形式和(3)中對象訪問成員使用“.”操作符。

    【9月計算機二級C++練習題及答案】相關文章:

    2016年9月計算機二級《C++》練習題及答案03-06

    2017年9月計算機二級C++強化練習題及答案04-28

    2015年9月計算機二級C++精選練習題(附答案)12-07

    2016年12月計算機二級C++練習題及答案05-30

    2017年3月計算機二級C++練習題及答案04-27

    2017年3月計算機二級《C++》單選練習題及答案07-24

    2017年12月計算機二級C++考前練習題及答案07-20

    2017年9月計算機二級《C++》強化練習題04-13

    2017年9月計算機二級C++強化試題及答案07-10

    <address id="ousso"></address>
    <form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
    1. 日日做夜狠狠爱欧美黑人