當前位置:才華齋>IT認證>計算機等級>

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

計算機等級 閱讀(2.06W)

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