亚洲一级免费看,特黄特色大片免费观看播放器,777毛片,久久久久国产一区二区三区四区,欧美三级一区二区,国产精品一区二区久久久久,人人澡人人草

等級(jí)考試

9月二級(jí)C++筆試

時(shí)間:2025-03-05 10:24:00 等級(jí)考試 我要投稿
  • 相關(guān)推薦

2009年9月二級(jí)C++筆試

百分網(wǎng)小編收集整理了2009年9月全國(guó)計(jì)算機(jī)二級(jí)筆試C++,請(qǐng)閱讀。
一、選擇題(1-10,21-40每題2分,11-20每題1分)
(1)下列數(shù)據(jù)結(jié)構(gòu)中,屬于非線(xiàn)性結(jié)構(gòu)的是
A)循環(huán)隊(duì)列B)帶鏈隊(duì)列C)二叉樹(shù)D)帶鏈棧
(2)下列數(shù)據(jù)結(jié)構(gòu)中,能夠按照“先進(jìn)后出”原則存取數(shù)據(jù)的是
A)循環(huán)隊(duì)列B)棧C)隊(duì)列D)二叉樹(shù)
(3)對(duì)于循環(huán)隊(duì)列,下列敘述中正確的是
A)隊(duì)頭指針是固定不變的B)隊(duì)頭指針一定大于隊(duì)尾指針C)隊(duì)頭指針一定小于隊(duì)尾指針D)隊(duì)頭指針可以大于隊(duì)尾指針,也可以小于隊(duì)尾指針
(4)算法的空間復(fù)雜度是指
A)算法在執(zhí)行過(guò)程中所需要的計(jì)算機(jī)存儲(chǔ)空間B)算法所處理的數(shù)據(jù)量C)算法程序中的語(yǔ)句或指令條數(shù)D)算法在執(zhí)行過(guò)程中所需要的臨時(shí)工作單元數(shù)
(5)軟件設(shè)計(jì)中劃分模塊的一個(gè)準(zhǔn)則是
A)低內(nèi)聚低耦合B)高內(nèi)聚低耦合C)低內(nèi)聚高耦合D)高內(nèi)聚高耦合
(6)下列選項(xiàng)中不屬于結(jié)構(gòu)化程序設(shè)計(jì)原則的是
A)可封裝B)自頂向下C)模塊化D)逐步求精
(7)軟件詳細(xì)設(shè)計(jì)產(chǎn)生的圖如下:
該圖是
A)N-S圖B)PAD圖C)程序流程圖D)E-R圖
(8)數(shù)據(jù)庫(kù)管理系統(tǒng)是
A)操作系統(tǒng)的一部分B)在操作系統(tǒng)支持下的系統(tǒng)軟件C)一種編譯系統(tǒng)D)一種操作系統(tǒng)
(9)在E-R圖中,用來(lái)表示實(shí)體聯(lián)系的圖形是
A)橢圓形B)矩形C)菱形D)三角形
(10)有三個(gè)關(guān)系R,S,和T如下:
R #FormatTableID_0#
S #FormatTableID_1#
T #FormatTableID_2#
其中關(guān)系T由關(guān)系R和S通過(guò)某種操作得到,該操作為
A)選擇B)投影C)交D)并
(11)已知函數(shù)FA調(diào)用FB,若要把這兩個(gè)函數(shù)定義在同一個(gè)文件中,則
  A)FA必須定義在FB之前
  B)FB必須定義在FA之前
  C)若FA定義在FB之后,則FA的原型必須出現(xiàn)在FB的定義之前
  D)若FB定義在FA之后,則FB的原型必須出現(xiàn)在FA的定義之前  
(12)有如下兩個(gè)類(lèi)定義
  class AA{};
  class BB{      AA v1,*v2;      BB v3;      int *v4;  };
  其中有一個(gè)成員變量的定義是錯(cuò)誤的,這個(gè)變量是
  A)v1  B)v2  C)v3  D)v4  
(13)有如下類(lèi)定義:
  class XX{       int xdata;
  public:     XX(int n=0) : xdata (n) { }  };
  class YY : public XX{      int ydata;  public:      YY(int m=0, int n=0) : XX(m), ydata(n) { }  };
  YY類(lèi)的對(duì)象包含的數(shù)據(jù)成員的個(gè)數(shù)是
  A)1  B)2  C)3  D)4
(14)下列有關(guān)運(yùn)算符函數(shù)的描述中,錯(cuò)誤的是
  A)運(yùn)算符函數(shù)的名稱(chēng)總是以operator為前綴  B)運(yùn)算符函數(shù)的參數(shù)可以是對(duì)象
  C)運(yùn)算符函數(shù)只能定義為類(lèi)的成員函數(shù)  D)在表達(dá)式中使用重載的運(yùn)算符相當(dāng)于調(diào)用運(yùn)算符重載函數(shù)  
(15)下列關(guān)于模板形參的描述中,錯(cuò)誤的是
  A)模板形參表必須在關(guān)鍵字template之后  B)模板形參表必須用括弧( )括起來(lái)
  C)可以用class修飾模板形參  D)可以用typename修飾模板形參  
(16)在下列枚舉符號(hào)中,用來(lái)表示“相對(duì)于當(dāng)前位置”文件定位方式的是
  A)ios_base::cur  B)ios_base::beg  C)ios_base::out  D)ios_base::end  
(17)下列字符串可以用作C++標(biāo)識(shí)符的是
  A)2009var  B)goto  C)test - 2009  D)_123  
(18)下列枚舉類(lèi)型的定義中,包含枚舉值3的是
  A)enum test {RED, YELLOW, BLUE, BLACK};  B)enum test {RED, YELLOW=4, BLUE, BLACK};
  C)enum test {RED=-1, YELLOW,BLUE, BLACK};  D)enum test {RED, YELLOW=6, BLUE, BLACK};
(19)有如下程序段:
  int i=1;
  while (1) {      i++;      if(i == 10) break;      if(i%2 == 0) cout << '*';  }
  執(zhí)行這個(gè)程序段輸出字符*的個(gè)數(shù)是
  A)10  B)3  C)4  D)5  
(20)已知數(shù)組arr的定義如下:
  int arr[5] = {1,2,3,4,5}; 下列語(yǔ)句中輸出結(jié)果不是2的是
  A)cout << *arr+1 <<endl;  B)cout << *(arr+1)<<endl;  C)cout << arr[1] <<endl;  D)cout << *arr <<endl;   
(21)計(jì)算斐波那契數(shù)列第n項(xiàng)的函數(shù)定義如下:
  Int fib(int n){      if (n == 0) return 1;      else if (n == 1) return 2;      else return fib(n-1)+fib(n-2);  }
  若執(zhí)行函數(shù)調(diào)用表達(dá)式fib(2),函數(shù)fib被調(diào)用的次數(shù)是
  A)1  B)2  C)3  D)4
(22)Sample是一個(gè)類(lèi),執(zhí)行下面語(yǔ)句后,調(diào)用Sample類(lèi)的構(gòu)造函數(shù)的次數(shù)是
  Sample a[2], *p = new Sample;
  A)0  B)1  C)2  D)3  
(23)下列關(guān)于虛基類(lèi)的描述中,錯(cuò)誤的是
  A)使用虛基類(lèi)可以消除由多繼承產(chǎn)生的二義性  B)構(gòu)造派生類(lèi)對(duì)象時(shí),虛基類(lèi)的構(gòu)造函數(shù)只被調(diào)用一次
  C)聲明“class B : virtual public A”說(shuō)明類(lèi)B為虛基類(lèi)  D)建立派生類(lèi)對(duì)象時(shí),首先調(diào)用虛基類(lèi)的構(gòu)造函數(shù)  
(24)將運(yùn)算符重載為類(lèi)成員函數(shù)時(shí),其參數(shù)表中沒(méi)有參數(shù),說(shuō)明該運(yùn)算是
  A)不合法的運(yùn)算符  B)一元運(yùn)算符  C)無(wú)操作數(shù)的運(yùn)算符  D)二元運(yùn)算符
(25)有如下模板聲明:
  template<typename T1, typename T2> class A;
  下列聲明中,與上述聲明不等價(jià)的是
  A)template <class T1,class T2>  class A;  B)template <class T1,typename T2> class A;
  C)template <typename T1,class T2> class A;  D)template <typename T1,T2> class A;  
(26)下列關(guān)于C++流的描述中,錯(cuò)誤的是
  A)cout>>'A'表達(dá)式可輸出字符A  B)eof()函數(shù)可以檢測(cè)是否到達(dá)文件尾
  C)對(duì)磁盤(pán)文件進(jìn)行流操作時(shí),必須包含頭文件fstream  D)以ios_base::out模式打開(kāi)的文件不存在時(shí),將自動(dòng)建立一個(gè)新文件
27)有如下程序:
  #include <iostream>
  using namespace std;
  class Toy{  public:      Toy(char* _n) { strcpy (name,_n); count++;}      ~Toy(){ count--; }      char* GetName(){ return name; }      static int getCount(){ return count; }
  private:
      char name[10];
      static int count;
  };
  int Toy::count=0;
  int mail(){
      Toy t1(“Snoopy”),t2(“Mickey”),t3(“Barbie”);
      cout<<t1.getCount()<<endl;
  return 0;  }
  運(yùn)行時(shí)的輸出結(jié)果是
  A)1  B)2  C)3  D)運(yùn)行時(shí)出錯(cuò)  
 。28)有如下程序
  #include<iostream>  using namespace std;
  class A {  public:       A(int i):rl(i) { }       void print( ) {cout<<'e'<<r1<<'-';}       void print( ) const {cout<<'C'<<r1*r1<<'-';}  private:      int rl;  };
  int main(){      A al(2);     const A a2(4);      al.print();    a2.print();     return 0;  }
  運(yùn)行時(shí)的輸出結(jié)果是
  A)運(yùn)行時(shí)出錯(cuò)  B)E2-C16-  C)C4-C16-  D)E2-E4-
29)有如下程序:
  #include<iostream>
  using namespace std;
  class Name{
      char name[20];
  public:
      Name(){
          strcpy(name,"");     cout<<'?';
  }
  Name(char *fname)){
      strcpy(name,fname);     cout<'?';
  }
  };
  int main(){
     Name names[3]={Name(“張三”),Name(“李四”)};
  Return 0;
  }
  運(yùn)行此程序輸出符號(hào)?的個(gè)數(shù)是
  A)0  B)1  C)2  D)3
(30)有如下程序:
#include<iostream>
using namespace std;
public:
AA(){ cout<<'1'; }
};
class BB: public AA{
int k;
public:
BB():k(0){ cout<<'2'; }
BB(int n):k(n){ cout<<'3';}
}
int main(){
BB b(4), c;
return 0;
}
運(yùn)行時(shí)的輸出結(jié)果是
A)1312             D)132              C)32               D)1412 

(31)有如下程序:
#include<iostream>
using namespace std;
class C1{
public:
~C1(){ cout<<1; }
};
Class C2: public c1{
public:
~c2(){ cout<<2; }
};
int main(){
C2 cb2;
C1 *cb1;
return 0;
}
運(yùn)行時(shí)的輸出結(jié)果是
A)121              B)21               C)211              D)12
(32)有如下程序
#include<iostream>
using namespace std;
class Publication{ //出版物類(lèi)
char name[30];
public:
Publication(char *name="未知名稱(chēng)"){
strcpy(this->name,name);
}
const char * getName()const{ return name; }
virtual const char * getType()const{ return "未知類(lèi)型";}
};
class Book: public Publication{ //書(shū)類(lèi)
public:
Book(char *name): Publication(name){}
virtual const char * getType()const{ return "書(shū)";}
};
void showPublication( Publication &p){
cout<<p.getType()<<":"<<p.getName()<<endl;
}
int main(){
Book book("精彩人生");
showPublication(book);
return 0;
}
運(yùn)行時(shí)的輸出結(jié)果是
A)未知類(lèi)型:未知名稱(chēng)     B)未知類(lèi)型:精彩人生C)書(shū):未知名稱(chēng)                         D)書(shū):精彩人生 
(33)下列關(guān)于運(yùn)算符重載的描述中,錯(cuò)誤的是
A)::運(yùn)算符不能重載B)類(lèi)型轉(zhuǎn)換運(yùn)算符只能作為成員函數(shù)重載C)將運(yùn)算符作為非成員函數(shù)重載時(shí)必須定義為友元D)重載[]運(yùn)算符應(yīng)完成“下標(biāo)訪問(wèn)”操作 
(34)有如下程序:
#include<iostream>
#include<iomanip>
Using namespace std;
int main(){
int s[]={123, 234};
cout<<right<<setfill('*')<<setw(6);
for(int i=0; i<2; i++) { cout<<s[i]<<endl; }
return 0;
}
運(yùn)行時(shí)的輸出結(jié)果是
A)123              B)***123           C)***123           D)***123
   234                 234                    ***234           234***
 
(35)有如下類(lèi)定義
class A {char *a;public:A():a(0){}A(char *aa){  //把a(bǔ)a所指字符串拷貝到a所指向的存儲(chǔ)空間
a=                ;strcpy(a,aa);
strcpy(a,aa);
}
~A() {delete []a;}
};
橫線(xiàn)處應(yīng)填寫(xiě)的表達(dá)式是
A)nes char[strlen(aa)+1]               B)char[strlen(aa)+1]
C)char[strlen(aa)]                     D)new char[sizeof(aa)-1]
 二、填空題(每空2分,共30分)
 (1)某二叉樹(shù)有5個(gè)度為2的結(jié)點(diǎn)以及3個(gè)度為1的結(jié)點(diǎn),則該二叉樹(shù)中共有  【1】  個(gè)結(jié)點(diǎn)。
 (1)某二叉樹(shù)有5個(gè)度為2的結(jié)點(diǎn)以及3個(gè)度為1的結(jié)點(diǎn),則該二叉樹(shù)中共有  【1】  個(gè)結(jié)點(diǎn)。
 (2)程序流程圖中的菱形框表示的是  【2】  。
 (3)軟件開(kāi)發(fā)過(guò)程主要分為需求分析、設(shè)計(jì)、編碼與測(cè)試四個(gè)階段,其中  【3】  階段產(chǎn)生“軟件需求規(guī)格說(shuō)明書(shū)”。
(4)在數(shù)據(jù)庫(kù)技術(shù)中,實(shí)體集之間的聯(lián)系可以是一對(duì)一或一對(duì)多或多對(duì)多的,那么“學(xué)生”和“可選課程”的聯(lián)系為  【4】  。
(5)人員基本信息一般包括:身份證號(hào),姓名,性別,年齡等。其中可以作為主關(guān)鍵字的是  【5】  。
(6)若表達(dá)式(x+(y-z)*(m/n))+3中的變量均為double型,則表達(dá)式值的類(lèi)型為 【6】 。
(7)有如下循環(huán)語(yǔ)句:
For(int i=50; i>20; i-=2)  cout<<i<<',';
運(yùn)行時(shí)循環(huán)體的執(zhí)行次數(shù)是 【7】 。
(8)利用表達(dá)式a[i]可以訪問(wèn)int型數(shù)組a中下標(biāo)為i的元素。在執(zhí)行了語(yǔ)句int *p=a;后,利用指針p也可訪問(wèn)該元素,相應(yīng)的表達(dá)式是 【8】 。
(9)下面是一個(gè)遞歸函數(shù),其功能是使數(shù)組中的元素反序排列。請(qǐng)將函數(shù)補(bǔ)充完整。
void reverse(int *a, int size){
if(size<2) return;
int k=a[0];
a[0]=a[size-1];
a[size-1]=k;
reverse(a+1,  【9】 );
}
 
(10)類(lèi)Sample的構(gòu)造函數(shù)將形參data賦值給數(shù)據(jù)成員data。請(qǐng)將類(lèi)定義補(bǔ)充完整。
class Sample{
public:
Sample(int data=0);
Private:
Int data;
};
Sample::Sample(int data){
 【10】
}
 
(11)有如下類(lèi)定義:
class Sample{
public:
Sample();
~Sample();
Private:
Static int date;
};
將靜態(tài)數(shù)據(jù)成員data初始化為0的語(yǔ)句是 【11】 。
 
(12)“圖形”類(lèi)Shape中定義了純虛函數(shù)CalArea(),“三角形”類(lèi)Triangle繼承了類(lèi)Shape,請(qǐng)將Triangle類(lèi)中的CalArea函數(shù)補(bǔ)充完整。
class Shape{
public:
virtual int CalArea()=0;
}
class Triangle: public Shape{
public:
Triangle{int s, int h}: side(s),height(h) {}
 【12】 { return side*height/2 ; }
private:
    int side;
    int height;
};
 
(13)有如下程序:
#include <iostream>
using namespace std;
class GrandChild{
public:
GrandChild(){ strcpy (name,"Unknown"); }
const char * getName()const { return name; }
virtual char * getAddress()const=0;
private:
char name[20];
};
class GrandSon : public GrandChild{
public:
GrandSon{char *name} {}
Char * getAddress() const { return "Shanghai";}
};
int main(){
GrandChild *gs=new GrandSon("Feifei");
cout<<gs->getName()<<"住在"<<gs->getAddress()<<endl;
delete gs;
return 0;
}
運(yùn)行時(shí)的輸出結(jié)果是 【13】 。
(14)如下程序定義了“單詞”類(lèi)word,類(lèi)中重載了<運(yùn)算符,用于比較“單詞”的大小,返回相應(yīng)的邏輯值。程序的輸出結(jié)果為:After Sorting: Happy Welcome,請(qǐng)將程序補(bǔ)充完整。
#include <iostream>
#include <string>
using namespace std;
class Word{
public:
Word(string s) : str(s) { }
string getStr(){ return str; }
 【14】 const { return (str<w.str); }
friend ostream& operator << (ostream& output, const Word &w)
{ output<<w.str; return output; }
private:
string str;
};
Int main(){
Word w1("Happy"),w2("Welcome");
Cout<<"After sorting: ";
if(w1<w2) cout<<w1<<' '<<w2;
else cout<<w2<<' '<<w1;
return 0;
}
 
(15)請(qǐng)將下列模板類(lèi)Data補(bǔ)充完整。
template <typename T>
class Data{
public:
void put (T v) { val=v; }
 【15】 get()   //返回?cái)?shù)據(jù)成員val的值,返回類(lèi)型不加轉(zhuǎn)換
{ return val; }
private:
T val;
};
參考答案
選擇題  
(1)C +(5)身份證號(hào) (6)double (7)15 (8)*(p+i)
(9)size-1  (10)this->data=data;
(11)int Sample::data = 0;
(12)int CalArea(size,height)
(13)Unknown住在Shanghai
(14)bool operator < (Word w)  (15)T

【9月二級(jí)C++筆試】相關(guān)文章:

2008年9月二級(jí)C++筆試08-07

計(jì)算機(jī)二級(jí)C++語(yǔ)言筆試試卷及答案03-10

計(jì)算機(jī)二級(jí)C++筆試選擇題08-13

全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)C++筆試題02-06

2010年9月全國(guó)計(jì)算機(jī)二級(jí)C++筆試05-31

全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)C++筆試真題05-01

計(jì)算機(jī)等級(jí)考試二級(jí)C++筆試選擇題06-27

2010年3月計(jì)算機(jī)等級(jí)考試二級(jí)C++筆試03-06

全國(guó)計(jì)算機(jī)二級(jí)考試C++筆試模擬題及答案04-16