糯米文學吧

位置:首頁 > IT認證 > 計算機等級

2017年計算機等級考試二級C語言考試試題

C語言強大的移植性(Portability)在此顯現。機器語言和彙編語言都不具有移植性,為x86開發的程序,不可能在Alpha,SPARC和ARM等機器上運行。下面是小編整理的關於計算機等級考試二級C語言考試試題,歡迎大家參考!

2017年計算機等級考試二級C語言考試試題

  (一)單選題(每題1分,共20分)

1. 第二代電子計算機所採用的邏輯元件是()。

A.小規模集成電路

B.大規模、超大規模集成電路

C.晶體管

D.電子管

2. 運算器和控制器總稱為()。

A.主機

C.外部設備

D.硬件系統

3. 計算機能直接識別和處理的語言是()。

A.彙編語言

B.自然語言

C.機器語言

D.高級語言

4. I/O接口位於()。

A.總線和I/0設備之間

B.總線和主機之間

和主存儲器之間

和外存儲器之間

5. 顯示器的()越高,顯示的圖象越清晰。

A.對比度

B.亮度

C.對比度和亮度

D.分辨率

6. 計算機的存儲容量常用KB為單位,其中1KB表示的是()。

A.1024個字節

B.1024個二進制位

C.1000個字節

D.1000個二進制位

7. 把 Windows 的窗口和對話框作比較窗口可以移動和改變大小,而對話框()。

A.既不能移動,也不能改變大小

B.僅可以移動,不能改變大小

C.不能移動,僅可以改變大小

D.既能移動,也能改變大小

8. Windows 中的“剪切板”是()。

A.硬盤中的一塊區域

B.軟盤中的一塊區域

C.高速緩存中的一塊區域

D.內存中的一塊區域

9. 資源管理器窗口分左、右窗格,右窗格是用來()。

A.顯示活動文件夾中包含的文件夾或文件

B.顯示被刪除文件夾中包含的文件夾或文件

C.顯示被複制文件夾中包含的文件夾或文件

D.顯示新建文件夾中包含的文件夾或文件

10. 在Windows 中,呈淺灰色顯示的菜單意味着()。

A. 該菜單當前不能選用

B. 選中該菜單後將彈出對話框

C. 該菜單正在使用

D. 選中該菜單後將彈出下級子菜單

11.在中文Windows文件或文件夾窗口中,若要選定一組非連續文件或文件夾,在單擊選定的第一個文件或文件夾名(或圖標)後,按下()鍵不放,單擊欲選定的文件或文件夾名(或圖標),則這些非連續文件或文件夾被選中。

t

  二、填空題(每空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;

alue(42);

t();

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;}