<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>
            試題

            9月全國計算機等級考試二級C語言筆試真題

            時間:2025-03-30 20:03:03 試題 我要投稿
            • 相關推薦

            2006年9月全國計算機等級考試二級C語言筆試真題

              一、選擇題(每小題2 分,共70 分)下列各題A)、B)、C)、D)四個選項中,只有一個選項是正確的,請將正確選項涂寫在答題卡相應位置上,答在試卷上不得分。

            2006年9月全國計算機等級考試二級C語言筆試真題

              (1)下列選項中不符合良好程序設計風格的是______。

              A)、源程序要文檔化

              B)、數據說明的次序要規范化

              C)、避免濫用goto 語句

              D)、模塊設計要保證高耦合,高內聚

              (2)從工程管理角度,軟件設計一般分為兩步完成,它們是______。

              A)、概要設計與詳細設計

              B)、數據設計與接口設計

              C)、軟件結構設計與數據設計

              D)、過程設計與數據設計

              (3)下列選項中不屬于軟件生命周期開發階段任務的是______。

              A)、軟件測試

              B)、概要設計

              C)、軟件維護

              D)、詳細設計

              (4)在數據庫系統中,用戶所見的數據模式為______。

              A)、概念模式

              B)、外模式

              C)、內模式

              D)、物理模式

              (5)數據庫設計的四個階段是:需求分析、概念設計、邏輯設計和______。

              A)、編碼設計

              B)、測試階段

              C)、運行階段

              D)、物理設計

              (6)設有如下三個關系表下列操作中正確的是

              A)、T=R∩S

              B)、T=R∪S

              C)、T=R×S

              D)、T=R/S

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

              A)、一個算法的空間復雜度大,則其時間復雜度也必定大

              B)、一個算法的空間復雜度大,則其時間復雜度必定小

              C)、一個算法的時間復雜度大,則其空間復雜度必定小

              D)、上述三種說法都不對

              (8)在長為64 的有序線性表中進行順序查找,最壞情況下需要比較的次數為______。

              A)、63

              B)、64

              C)、6

              D)、7

              (9)數據庫技術的根本目標是要解決數據的______。

              A)、存儲問題

              B)、共享問題

              C)、安全問題

              D)、保護問題

              (10)對下列二叉樹: 進行中序遍歷的結果是______。

              A)、ACBDFEG

              B)、ACBDFGE

              C)、ABDCGEF

              D)、FCADBEG

              (11)下列有關內聯函數的敘述中,正確的是______。

              A)、內聯函數在調用時發生控制轉移

              B)、內聯函數必須通過關鍵字inline 來定義

              C)、內聯函數是通過編譯器來實現的

              D)、內聯函數體的最后一條語句必須是rennin 語句

              (12)下列情況中,不會調用拷貝構造函數的是______。

              A)、用一個對象去初始化同一類的另一個新對象時

              B)、將類的一個對象賦予該類的另一個對象時

              C)、函數的形參是類的對象,調用函數進行形參和實參結合時

              D)、函數的返回值是類的對象,函數執行返回調用時

              (13)下列有關繼承和派生的敘述中,正確的是______。

              A)、如果一個派生類私有繼承其基類,則該派生類對象不能訪問基類的保護成員

              B)、派生類的成員函數可以訪問基類的所有成員

              C)、基類對象可以賦值給派生類對象

              D)、如果派生類沒有實現基類的一個純虛函數,則該派生類是一個抽象類

              (14)下列運算不能重載為友元函數的是______。

              A)、= ( ) [] ->

              B)、+ - ++ --

              C)、> < >= <=

              D)、+= -= *= /=

              (15)關于在調用模板函數時模板實參的使用,下列表述正確的是______。

              A)、對于虛類型參數所對應的模板實參,如果能從模板函數的實參中獲得相同的信息,則都可以省略

              B)、對于虛擬類型參數所對應的模板實參,如果它們是參數表中的最后的若干個參數,FC EA DBG則都可以省略

              C)、對于虛擬型參數所對應的模板實參,若能夠省略則必須省略

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

              (16)下列關于輸入流類成員函數getline( )的描述中,錯誤的是______。

              A)、該函數是用來讀取鍵盤輸入的字符串的

              B)、該函數讀取的字符串長度是受限制的

              C)、該函數讀取字符串時,遇到終止符便停止

              D)、該函數讀取字符串時,可以包含空格

              (17)下列符號中,正確的C++標識符是______。

              A)、enum

              B)、2b

              C)、foo-9

              D)_32

              (18)下列語句中,錯誤的是______。

              A)、const int buffer=256;

              B)、const double*point;

              C)、int const buffer=256;

              D)、double*const point;

              (19)if 語句的語法格式可描述為

              格式1:if(<條件>)<語句>

              或

              格式2:if(<條件>)<語句1>else<語句2>

              關于上面的語法格式,下列表述中錯誤的是

              A)、<條件>部分可以是一個if 語句,例如if(if(a =0)?)?

              B)、<條件>部分可以是一個if 語句,例如if(?)if(?)?

              C)、如果在<條件>前加上邏輯非運算符!并交換<語句1>和<語句2>的位置,語句功能不變

              D)、<語句>部分可以是一個循環語句,例如if(?)while(?)?

              (20)有如下說明

              int a [10]={1,2,3,4,5,,6,7,8,9,10},*p=a;

              則數值為9 的表達式是______。

              A)、*p+9`

              B)、*(p+8)

              C)、*p+=9

              D)、p+7

              (21)或下面的函數調用

              fun(a+b,3,max(n-1)b)

              則fun 的實參個數是______。

              A)、3

              B)、4

              C)、5

              D)、6

              (22)以下關鍵字不能用來聲明類的訪問權限的是______。

              A)、public

              B)、static

              C)、protected

              D)、private

              (23)在公有繼承的情況下,允許派生類直接訪問的基類成員包括______。

              A)、公有成員

              B)、公有成員和保護成員

              C)、公有成員、保護成員和私有成員

              D)、保護成員

              (24)關于運算符重載,下列表述中正確的是______。

              A)、C++已有的任何運算符都可以重載

              B)、運算符函數的返回類型不能聲明為基本數據類型

              C)、在類型轉換符函數的定義中不需要聲明返回類型

              D)、可以通過運算符重載來創建C++中原來沒有的運算符

              (25)關于關鍵字class 和typename,下列表述中正確的是______。

              A)、程序中的typename 都可以替換為class

              B)、程序中的class 都可以替換為typename

              C)、在模板形參表中只能用typename 來聲明參數的類型

              D)、在模板形參表中只能用class 或typename 來聲明參數的類型

              (26)有如下程序

              #include

              #include

              using namespace std;

              int main(){

              count  return 0;

              }

              若程序的輸出是:

              **12.345**34.567

              則程序中下劃線處遺漏的操作符是______。

              A)、setprecision(3)

              B)、fixed

              C)、setfill(*)

              D)、stew(8)

              (27)有如下程序

              #include

              #include

              using namespace std;

              class MyClass{

              public:

              MyClass(){cout<<’A”;}

              MyClass(char c {cout<~MyClass(){sout<<’B”;}

              };

              Int main(){

              MyClassp1,*p2

              p2=new MyClass(‘X’);

              delete p2;

              return 0;

              }

              執行這個程序幕上將顯示輸出______。

              A)、ABX

              B)、ABXB

              C)、AXB

              D)、AXBB

              (28)有如下程序

              #include

              using namespace std;

              int i=1;

              class Fun{

              public;

              static int i;

              int value(){return i-1}

              int value ()const{return i+1;}

              };

              int Fun;;i=2;

              int main(){

              int i=3;

              Fun Fun1

              const Fun fun2;

              return 0;

              }

              若程序的輸出結果是:

              123

              則程序中下劃線處遺漏的語句是______。

              A)、cout<

              B)、cout<

              C)、cout<

              D)、cout<


              (29)有如下程序

              #include

              using namespace std;

              class Obj{

              static int i;

              public:

              Obj(){i++;}

              ~Obj(){i--;}

              static int getVal(){teturn i;}

              };

              int Obj::i=0;

              void f (){Obj ob2;cout  Obj obl;

              F();

              Obj*ob3=new Obj;cout  Delete ob3;cout  }

              程序的輸出結果是______。

              A)、232

              B)、231

              C)、222

              D)、221

              (30)有如下程序

              #include

              using namespace std;

              class Base{

              protected;

              Base(){cout<<’A’;}

              Base(char c){cout<};

              class Derived; public Base{

              public:

              Derived(char c ){cout <};

              int main(){

              Derived d1(‘B’);

              return 0;

              }

              執行這個程序屏幕上將顯示輸出______。

              A)、B

              B)、BA

              C)、AB

              D)、BB

              (31)有如下類定義:

              class MyBase{

              int k;

              public;

              MyBase(int n=0):k(n){}

              int value()const{return k;}

              };

              class MyDerived; MyBase{

              int j;

              public;

              MyDerived(int i): j(i){}

              int getK()const {return k;}

              int gutj()const{return j;}

              };

              編譯時發現有一處語法錯誤,對這個錯誤最佳準確的描述是

              A)、函數getK 試圖訪問基類的私有成員變量K

              B)、在類MyDerived 的定義中,基類名MyBase 前缺少關鍵字public、protected 或private

              C)、類MyDerived 缺少一個無參的構造函數

              D)、類MyDerived 的構造的數沒有對基數數據成員K 進行初始化

              (32)在一個派生類對象結束其生命周期時

              A)、先調用派生類的析構函數后調用基類的析構函數

              B)、先調用基類的析構函數后調用派生類的析構函數

              C)、如果基數沒有定義析構函數,則只調用派生類的析構函數

              D)、如果派生類沒有定義析構函數,則只調用基類的析構函數

              (33)有如下的運算重載函數定義:

              Double operator+(int i, int k){return double(i+k);}

              但定義有錯誤,對這個錯誤的最準確的描述是______。

              A)、+只能作為成員函數重載,而這里的+是作為非成員函數重載的

              B)、兩個int 型參數的和應該是int 型,而這里將+的返回類型聲明為double

              C)、沒有將運算符重載函數聲明為某個類的友元

              D)、C++已經提供了求兩個int 型數據之和運算符+,不能再定義同樣的運算符

              (34)語句ofstreamf(“SALARY.DAT”,ios_base::app)的功能是建立流對象f,并試圖打開文件SALARY.DAT 與f 關聯,而且______。

              A)、若文件存在,將其置為空文件;若文件不存在,打開失敗

              B)、若文件存在,將文件指針定位于文件尾;若文件不存在,建立一個新文件

              C)、若文件存在,將文件指針定位于文件首;若文件不存在,打開失敗

              D)、若文件存在,打開失敗;若文件不存在,建立一個新文件

              (35)有如下程序

              #include

              using namespace std;

              class A{

              public:

              virtual Void funcl(){cout<< “A1”;}

              void fune2(){cout<< “A2”;}

              };

              class B: public A{

              public:

              void func1(){cout<< “B1”;}

              void func2(){cout<< “B2”;}

              };

              Int main(){

              A*p=new B;

              p->funcl();

              p->func2();

              retum0;

              }

              運行程序,屏幕上將顯示輸出______。

              A)、B1B2

              B)、A1A2

              C)、B1A2

              D)、A1B2

              二、填空題(每空2 分,共30 分)請將每一個空的正確答案寫在答題卡[1]~[15]序號的橫線上,答在試卷上不得分。

              (1)下列軟件系統結構圖的寬度為 [1] 。

              (2) [2] 的任務是診斷和改正程序中的錯誤。

              (3)一個關系表的行為 [3] 。

              (4)按“行進后出”原則組織數據的數據結構是 [4] 。

              (5)數據結構分為線性結構和非線性結構,帶鏈的隊列屬于 [5] 。

              (6)若有定義語句:int*a,b;,則變量b 的數據類型是 [6] 。

              (7)已知數組a 中的元素個數為n,下列語句的作用是將下標為i 的元素移動到下標為i-1 的單元,其中1≤i

              For(int i=0;i(8)已知遞歸函數f 的定義如下:

              int f (int n)

              {

              If(n<=1)return 1;//遞歸結束情況

              else return n*f(n-2);//遞歸}則函數調用語句f(5)的返回值是 [8] 。

              (9)創建對象數組時,對數組的每一個元素都將調用一次構造函數,如果沒有顯式給出數組元素的初值,則調用缺省構造函數,下列程序涉及到對象數組的創建和單個對象的創建,其輸出結果是 [9] 。

              #include

              using namespace std;

              class Foo{

              public:

              Foo(int X){cout <<’A”}

              Foo(){}

              };

              int main()

              Foo f[3],g(3);

              return 0;

              }

              (10)習慣性在下列程序的輸出結果是42,請將畫線處缺失的部分補充完整。

              #include

              Using namespace atd;

              Class Foo{

              int value;

              public:

              Foo():value(0){}

              Void setvalue(int value)

              { [10] =value; //給Foo 的數據成員value 賦值}void print(){cout<};

              Int main()

              {

              Foo f;

              f.setvalue(42);

              f.print();

              retum0;

              }

              (11)如果不能使用多態機制,那么通過基類的指針雖然可以指向派生類對象,但是只能訪問從基數繼承的成員,下列程序沒有使用多態機制,其輸出結果是 [11] 。

              #include

              using namespace std;

              class Base{

              public:

              Void print(){cout<< ‘B’;}};

              class Derived: public Base{

              public

              void print(){cout<< ‘D’;}}

              int main()

              {

              Derived*pd=new Dreived);

              Base*pb=pd;

              pb->print();

              pd->print();

              delete pd;

              return 0;

              }

              (12)在聲明派生類時,如果不顯式地給出繼承方式,缺省的類繼承方式是私有繼承

              private。已知有如下類定義:

              class Base{

              protected:

              void fun(){}

              };

              Class Derived: Base{};

              則Base 類中的成員函數fun(),在Derived 類中的訪問權限是 [12] (注意:要求填寫private、protected 或public 中的一項)。

              (13)在MyClass 類的定義中,對賦值運算符=進行重載。請將畫線處缺失的部分補充完整。

              [13] MyClass::operator=(const MyClass rhs)

              {

              if(this=&rhs)return*this;

              value=rhs. value;

              return*this;

              }

              (14)插入排序算法的主要思想是:每次從未排序序列中取出一個數據,插入到已排序序列中的正確位置,InsertSort 類的成員函數sort()實現了插入排序算法,請將畫線處缺失的部分補充完整。

              class InsertSort{

              public:

              InsertSort(int*a0,int n0):a(a0),n(n0){}//參數組首地址,n 是數組元素個數

              void sort()

              {//此函數假設已排離序列初始化狀態只包含a[0],未排序序列初始為a[1]?a[n-1]

              for (int i=1;iint j;

              for( [14] j>0;--j){

              if(t>a[j-1])break;

              a[j]=a[j-1];}

              a[j]=t;}}

              protected:

              int*a,n;//指針a 用于存放數組首地址,n 用于存放數組元素個數

              };

              (15)下列程序的輸出結果是 [15]

              #include

              using namespace std;

              class A{

              int a

              public:

              A():a(9){}

              virtual void print() const {cout<};

              class B:public A{

              char b;

              public:

              B(){b= ‘S’;}

              void print()const{cout<};

              void show(Aa&X){X,print()}

              int main()

              { Ad1;*p;

              Bd2;

              p=&d2;

              d1,print();

              d2,print();

              p->print();

              show(d1);

              show(d2);

              return 0;}

            【9月全國計算機等級考試二級C語言筆試真題】相關文章:

            3月全國計算機等級考試二級C語言筆試真題12-03

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

            計算機等級考試二級C語言筆試選擇真題10-06

            計算機等級考試二級C語言真題09-26

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

            計算機二級考試C語言筆試填空真題09-10

            計算機二級C語言筆試真題10-12

            2009年9月計算機等級考試二級C語言筆試真題05-13

            全國計算機等級考試二級C語言筆試試題06-29

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看