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

    上半年全國計算機二級C++考試真題

    時間:2025-04-25 01:20:32 試題 我要投稿
    • 相關推薦

    上半年全國計算機二級C++考試真題

      一、選擇題

    上半年全國計算機二級C++考試真題

      (1)下列敘述中正確的是

      A)棧是“先進先出”的線性表

      B)隊列是“先進后出”的線性表

      C)循環隊列是非線性結構

      D)有序線性表既可以采用順序存儲結構,也可以采用鏈式存儲結構

      (2)支持子程序調用的數據結構是

      A)棧

      B)樹

      C)隊列

      D)二叉樹

      (3)某二叉樹有5個度為z的結點,則該二叉樹中的葉子結點數是

      A)10

      B)8

      C)6

      D)4

      (4)下列排序方法中,最壞情況下比較次數最少的是

      A)冒泡排序

      B)簡單選擇排序

      C)直接插入排序

      D)堆排序

      (5)軟件按功能可以分為: 應用軟件、系統軟件和支撐軟件(或工具軟件)。下面屬于應用軟件的是

      A)編譯程序

      B)操作系統

      C)教務管理系統

      D)匯編程序

      (6)下面敘述中錯誤的是

      A)軟件測試的目的是發現錯誤并改正錯誤

      B)對被調試的程序進行“錯誤定位”是程序調試的必要步驟

      C)程序調試通常也稱為Debug

      D)軟件測試應嚴格執行測試計劃,排除測試的隨意性

      (7)耦合性和內聚性是對模塊獨立性度量的兩個標準。下列敘述中正確的是

      A)提高耦合性降低內聚性有利他哦高模塊的獨立性

      B)降低耦合性提高內聚性有利于提高模塊的獨立性

      C)耦合性是指一個模塊內部各個元索間彼此結合的緊密程度

      D)內聚性是指模塊間互相連接的緊密程度

      (8)數據庫應用系統中的核心問題是

      A)數據庫設計

      B)數據庫系統設計

      C)數據庫維護

      D)數據庫管理員培訓

      (9)有如下程序:

      #include

      using namespace std;

      class ONE{

      int c;

      public:

      ONE():c(0){cout<<1;}

      ONE(int n):c (n){cout<<2;}

      };

      class TWO{

      ONE onel;

      ONE one2;

      public:

      TWO(int m):one2(m){cout<<3;}

      };

      int main()t

      TWO t(4)

      return 0

      }

      運行時的輸出結果是

      A)3

      B)23

      C)123

      D)213

      (10)將E-R圖轉換為關系模式時,實體和聯系都可以表示為

      A)屬性

      B)鍵

      C)關系

      D)域

      (11)對C++編譯器區分重載函數無任何意義的信息是

      A)參數類型

      B)參數個數

      C)返回值類型

      D)常成員函數關鍵字coast

      (12)有如下類定義和變量定義:

      class A{

      publie:

      A(){data=0;}

      ~A(){}

      int GetData ( ) coast { return data;}

      void SetData(int n) {data=n;}

      private:

      int data;

      };

      ccnst A a;

      A b;

      下列函數調用中錯誤的是

      A)a .GetData();

      B)a .SetData(10);

      C)b .GetData();

      D)b .SetData(10);

      (13)有如下類定義和變量定義:

      class Parents{

      public:

      int publicuata;

      private:

      int privateData;

      };

      class ChildA:public Parents{/*類體略*/};

      class ChildB:private Parents{/*類體略*/);

      ChildA a;

      ChildBb;

      下列語句中正確的是

      A)cout< B)cout< C)cout< D)cout<

      (14)運算符重載時不需要保持的性質是

      A)操作數個數

      B)操作數類型

      C)優先級

      D)結合性

      (15)下列關于函數模板的描述中,錯誤的是

      A)從模板實參表和從模板函數實參表獲得信息矛盾時,以模板實參的信息為準

      B)對于常規參數所對應的模板實參,任何情況下都不能省略

      C)虛擬類型參數沒有出現在模板函數的形參表中時,不能省略模板實參

      D)模板參數表不能為空

      (16)要建立文件流并打開當前目錄下的文件file.dat用于輸入,下列語句中錯誤的是

      A)ifstream fin=ifstream.open(“file.dat”);

      B)ifstream*fir.=new ifstream(“file.dat”);

      C)ifstream fin; fin.open(“file.dat”);

      D)ifstream *fin=new ifstream( );fin一>open(“file.dat”);

      (17)下列描述中,不屬于面向對象思想主要特征的是

      A)封裝性

      B)跨平臺性

      C)繼承性

      D)多態性

      (18)有如下程序段:

      Tnt i=4;int j=l;

      int main(){

      int i=8,j=i;

      cout< }

      運行時的輸出結果是

      A)44

      B)41

      C)88

      D)81

      (19)有如下程序段:

      int i=5;

      while(int i=0){cout《'*';i--;}

      運行時輸出“*”的個數是

      A)0

      B)1

      C)5

      D)無窮

      (20)己知有數組定義

      char a[3][4];

      下列表達式中錯誤的是

      A)a[2]=“WIN”

      B)strcpy(a[2],“WIN”)

      C)a [2][3]='W'

      D)a[0][1]=a[0][1]

      (21)已知函數fun的原型為

      int fun(int,int,int);

      下列重載函數原型中錯誤的是

      A)char fun(int,int);

      B)double fun(int,int,double);

      C)int fun(int,char*);

      D)float fun (int, int, int);

      (22)建立一個類對象時,系統自動調用

      A)析構函數

      B)構造函數

      C)靜態函數

      D)友元函數

      (23)通過派生類的對象可直接訪問其

      A)公有繼承基類的公有成員

      B)公有繼承基類的私有成員

      C)私有繼承基類的公有成員

      D)私有繼承基類的私有成員

      (24)己知表達式++a中的“++”是作為成員函數重載的運算符,則與十+a等效的運算符函數調用形式為

      A)a .orerator++(1)

      B)operator++(a)

      C)operator++(a,l)

      D)a.operator++( )

      (25)在定義一個類模板時,模板形參表是用一對括號括起來的,所采用的括號是

      A)( )

      B)[ ]

      C)< >

      D){ }

      (26)當使用ifstream流類定義一個流對象并打開一個磁盤文件時,文件的默認打開方式為

      A)ios_base::in

      B)ios_base::in|ios_base::out

      C)ios_base::out

      D)ios_base::in&ios_base::out

      (27)有如下程序:

      #include

      #include

      using namespace std;

      class XCD{

      char* a;

      int b;

      public:

      XCD(char* aa, int bb){

      a=new char[strlen(aa)+1];

      strcpty(a,aa);

      b=bb;

      }

      Char* Geta (){return a;)

      int Getb(){ return b;}

      };

      int main(){

      char *pl=“abcd”,*p2=“weirong”;

      int dl=6, d2=8;

      XCD x(pl,dl),Y(p2,d2);

      cout< return 0;

      }

      運行時的輸出結果是

      A)12

      B)16

      C)14

      D)11

      (28)有如下程序:

      #include

      #include

      using namespace std;

      class XCF{

      int a;

      public:

      XCF(int aa=0):a (aa){cout<<“1”;}

      XCF(XCF& x){a=x .a; cout<<“2”;)

      ~XCF(){cout< int Geta(){return a;}

      };

      int main(){

      XCF dl(5),d7 (dl);

      XCF *pd=new XCF(8);

      cout

      delete pd;

      return 0;

      }

      運行時的輸出結果是

      A)121SS88

      B)12188SS

      C)12185

      D)128512

      (29)已知類MyClass聲明如下:

      class MyClass{

      int n;

      public;

      MyClass(int k):n(k){}

      int getValue()const{return n;}

      };

      在下列數組定義中正確的是

      A)MyClass x1[2];

      B)MyClass x2[2]={new MyClass(1),new MyClass(2)};

      C)MyClass *x3[2];

      D)MyClass *x4[2]={MyClass(1),MyClass(2)};

      (30)有如下程序:

      #include

      using namespace std;

      class AA{

      lilt k;

      protected:

      int n;

      void setK(int k){ this->k=k;}

      public:

      void setN(int n){ this->n=n;}

      };

      class BB: public }{/*類體略*/};

      int main(){

      BB x_ ; //1

      x .n=1; //2

      x.setN (2); //3

      x.k=3; //4

      x .setK(4);

      return 0;

      }

      在標注號碼的四條語句中正確的是

      A)1

      B)2

      C)3

      D)4

      (31)有如下類定義:

      class XX{

      int xx;

      public:

      XX():xx(0){cout<<' A';}

      XX(int n):xx ( n){tout<<' B';}

      };

      Class YY:public XX{

      Int yy;

      public:

      YY():yy ( 0){cout+yy;}

      YY(int n):XX(n+1),yy(n){cout< YY (int m, int n):XX (m),yy(n){cout< };

      下列選項中,輸出結果為A0的語句是

      A)YY y1(0,0);

      B)YY y2(1);

      C)YY y3(0);

      D)YY y4;

      (32)有如下程序:

      #include

      Using namespace std;

      class A{

      public:

      virtual void f(){cout+1;}

      void g(){cout<<2;}

      };

      class B:public A{

      public:

      virtual void f(){cout<<3;}

      void g(){ecut<<4;}

      };

      void show(A &a){a.f();a.g( );}

      int main(){

      B b;

      show(b);

      return 0;

      }

      運行時的輸出結果是

      A)12

      B)34

      C)14

      D)32

      (33)有如下程序:

      #include

      using namespace std;

      class Pair{

      int m;

      int n;

      public:

      Pair(int i,int j):m(i),n(j){}

      boot operator >(pair p)const; //須在類體外給出定義

      };

      int main(){

      Pair Al(3,4),p2(4,3);p3(4,5);

      Cout<<(pl>p2)<<(p2>P1)<<(p2>p3)<<(p3>p2);

      return 0;

      }

      運算符函數。operator>的功能是比較兩個Pair對象的大小,當左邊對象大時,返回true,否則返回false。比較規則是首先比較兩對象的m成員,m大者為大;當m相等時比較n,n大者為大。程序輸出0101,下列對運算符重載函數的正確定義是

      A)bool Pair::operator>(Pair p)const

      {if (m!=p.m) return m>p.m; return n>p.n;}

      B)bool Pair:;operator>(Pair p)

      {if (m!=p.m) return m>p.m; return n>p.n;}

      C)bool Pair::operator>(Pair p)const

      {if (m>p.m) return true; return n>p.n;}

      D)bool Pair:;operator>(Pair p)

      {if (m>p.m) return true; return n>p.n;}

      (34)假定下列語句都是程序運行后首次執行的輸出語句,其中輸出結果與另外三條語句不同的語句是

      A)cout< B)cout< C)cout<<123< D)cout<

      二、填空題

      (1)假設用一個長度為50的數組(數組元索的下標從0到49)作為棧的存化空間,棧底指針bottom指間棧底元素,棧頂指針top指向棧頂元素,如果bottom=49,top=30(數組下標),則棧中具有【1】個元素。

      (2)軟件測試可分為白盒測試和黑盒測試。基本路徑測試屬于【2】測試。

      (3)符合結構化原則的三種基本控制結構是:選擇結構、循環結構和【3】。

      (4)數據庫系統的核心是【4】。

      (5)在E-K圖中,圖形包括矩形框、菱形框、橢圓框。其中表示實體聯系的是【5】框。

      (6)有如下程序段:

      int x=1,Y=2,z=3;

      x=x^z;

      y=y^z;

      z=x^y;

      cout< 執行這個程序段的輸出是【6】。

      (7)有如下程序段:

      fer(int i=1; i<=50;i++){

      if(i%3 != 0)

      continue;

      else

      if(i%5!=0)

      continue;

      tout< }

      執行這個程序段的輸出是【7】。

      (8)有如下程序段:

      Char c [20]=“examination”;

      c[4]=0;

      cout< 執行這個程序段的輸出是【8】。

      (9)下面的函數利用遞歸實現了求1+2+3+……+n的功能:

      int sum(int n){

      if(n==0)

      return 0;

      else

      return n+sum(n-1);

      }

      在執行sum(10)的過程中,遞歸調用sum函數的次數是【9】。

      (10)非成員函數應該聲明為類【10】函數才能訪問該類的私有成員。

      (11)有如下程序:

      #include

      using namespace std;

      class Monitor{

      public:

      Monitor(char t):type (t){}

      void print( ) const

      {cout<<“The type of monitor is”< private:

      char type;

      };

      class Computer{

      public:

      Computer(int i,char c): 【11】{}

      void Print()const

      {cout<<“The computer is”< private:

      int id;

      Monitor mon;

      };

      const Computer myComputer(101,'B‘);

      myComputer .Print();

      return 0;

      }

      請將程序補充完整,使程序在運行時輸出:

      The computer is 101

      'The type of monitor i.s 8

      (12)有如下程序:

      #include

      using namespace std

      class Animal{

      public:

      virtual char* getType()const { return “Animal”;}

      virtual char* getVoice()const { return “Voice”;}

      };

      Class Dog : public Animal {

      public:

      char* getType ( ) const {return “Dog”;}

      char* getVoice ( ) const {return “Woof”}

      };

      void type(Animal& a) {cout< void speak(Animal a) {cout< int main( ) {

      Dog d; type (d);cout<<“ speak”;speak(d);cout< return 0;

      }

      運行時的輸出結果是【12】。

      (13)補充完整下面的類定義:

      const double PI=3 .14;

      class Circle{ //圓形物體的抽象基類

      protected:

      double r; //半徑

      public:

      Circle(double radius=0):r(radius){}

      【13】;//計算圓形物體表面積的純虛函數聲明

      };

      class Cylinder:public Circle { //圓柱體類

      double h; //高度

      public:

      Cylindr(double radius=0, doubli height=0):

      Circle(radius),h (height){}

      Virtual double Area() { //計算圓柱體的表面積

      return 2*PI*r*(r+h);

      }

      };

      (14)補充完整下面的類定義:

      class XCH{

      char* a;

      public:

      XCH(char* as) { //構造函數

      a=new char[strlen(aa)+1];

      strcpy(a,aa);

      }

      XCH& operator=(const XCH& x) //重載賦值函數

      Delele []a;

      A=new char[strlen(x.a)+l];

      strcpy(a, x .a)

      【14】;

      }

      ~XCH() {delete []a;}

      };

      (15)補充完整下面的模板定義:

      template //Type為類型參數

      class Xtwo{ //由兩個Type類型的數據成員構成的模板類

      Type a;

      Type b;

      public:

      Xtwe(Type aa=0, Type bb=0):a(aa),b(bb){}

      int Ccmpare (){//比較a和b的大小

      if (a>b)returm 1;

      else if(a==b) return 0;

      else return -1;

      }

      Type Snm() {return a+b;} //返回a和b之和

      Type Mult(); //函數聲明,返回a和b之乘積

      };

      Template

      【15】::Mult(){return a*b;} //Mult 函數的類外定義

    【上半年全國計算機二級C++考試真題】相關文章:

    全國計算機二級考試C++真題03-09

    全國計算機等級考試二級C++筆試真題05-01

    2006上半年全國計算機二級C++筆試真題01-22

    2005年上半年全國計算機二級C++筆試真題01-23

    2011年9月全國計算機二級考試C++真題08-16

    2014年3月全國計算機二級考試C++真題03-04

    2011年3月全國計算機二級C++考試真題01-05

    3月全國計算機等級考試二級C++筆試真題05-19

    上半年全國計算機二級考試VFP真題03-28

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