當前位置:才華齋>計算機>計算機二級>

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

計算機二級 閱讀(2.3W)

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

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

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

A)演算法的效率只與問題的規模有關,而與資料的儲存結構無關

B)演算法的時間複雜度是指執行演算法所需要的計算工作量

C)資料的邏輯結構與儲存結構是一一對應的

D)演算法的時間複雜度與空間複雜度一定相關

(2)在結構化程式設計中,模組劃分的原則是(D)

A)各模組應包括儘量多的功能

B)各模組的規模應儘量大

C)各模組之間的聯絡應儘量緊密

D)模組內具有高內聚度、模組間具有低耦合度

(3)下列敘述中正確的是(A)

A)軟體測試的主要目的是發現程式中的錯誤

B)軟體測試的主要目的是確定程式中錯誤的位置

C)為了提高軟體測試的效率,最好由程式編制者自己來完成軟體測試的工作

D)軟體測試是證明軟體沒有錯誤

(4)下面選項中不屬於面向物件程式設計特徵的是(C)

A)繼承性

B)多型性

C)類比性

D)封裝性

(5)下列對佇列的敘述正確的是(D)

A)佇列屬於非線性表

B)佇列按“先進後出”原則組織資料

C)佇列在隊尾刪除資料

D)佇列按“先進先出”原則組織資料

(6)對下列二叉樹

A

B C

D E F X

Y Z

進行前序遍歷的結果為(C)

A) DYBEAFCZX

B) YDEBFZXCA

C) ABDYECFXZ

D) ABCDEFXYZ

(7) 某二叉樹中有n個度為2的結點,則該二叉樹中的'葉子結點數為(A)

A) n+1

B) n-1

C) 2n

D) n/2

(8) 在下列關係運算中,不改變關係表中的屬性個數但能減少元組個數的是(B)

A) 並

B)交

C)投影

D)笛卡兒乘積

(9)在E-R圖中,用來表示實體之間聯絡的圖形是(C)

A) 矩形

B)橢圓形

C)菱形

D)平行四邊形

(10)下列敘述中錯誤的是(A)

A) 在資料庫系統中,資料的物理結構必須與邏輯結構一致

B) 資料庫技術的根本目標是要解決資料的共享問題

C) 資料庫設計是指在已有資料庫管理系統的基礎上建立資料庫

D)資料庫系統需要作業系統的支援

(11)演算法中,對需要執行的每一步操作,必須給出清楚、嚴格的規定,這屬於演算法的(C)

A)正當性

B)可行性

C)確定性

D)有窮性

(12)下列敘述中錯誤的是(D)

A)計算機不能直接執行用C語言編寫的源程式

B)C程式經C編譯程式編譯後,生成字尾為的檔案是一個二進位制檔案

C)字尾為的檔案,經連線程式生成字尾為的檔案是一個二進位制檔案

D)字尾為和的二進位制檔案都可以直接執行

(13)按照C語言規定的使用者識別符號命名規則,不能出現在識別符號中的是(B)

A)大寫字母

B)連線符

C)數字字元

D)下劃線

(14)以下敘述中錯誤的是(C)

A)C語言是一種結構化程式設計語言

B)結構化程式有順序、分支、迴圈三種基本結構組成

C)使用三種基本結構構成的程式只能解決簡單問題

D)結構化程式設計提倡模組化的設計方法

(15)對於一個正常執行的C程式,以下敘述中正確的是(A)

A)程式的執行總是從main函式開始,在main函式結束

B)程式的執行總是從程式的第一個函式開始,在main函式結束

C)程式的執行總是從main函式開始,在程式的最後一個函式中結束

D)程式的執行總是從程式的第一個函式開始,在程式的最後一個函式中結束

(16)設變數均已正確定義,若要通過scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2);語句為變數a1和a2賦數值10和20,為變數c1和c2賦字元X和Y。以下所示的輸入形式中正確的是(注:□代表空格字元)(D)

A)10□X□20□Y〈回車〉

B)10□X20□Y〈回車〉

C)10□X〈回車〉

D)10X〈回車〉

20□Y〈回車〉 20Y〈回車〉

(17)若有代數式(其中e僅代表自然對數的底數,不是變數),則以下能夠正確表示該代數式的C語言表示式是(C)

A)sqrt(abs(n^x+e^x))

B) sqrt(fabs(pow(n,x)+pow(x,e)))

C)sqrt(fabs(pow(n,x)+exp(x)))

D) sqrt(fabs(pow(x,n)+exp(x)))

(18)設有定義:int k=0;,以下選項的四個表示式中與其他三個表示式的值不相同的是(A)

A)k++

B)k+=1

C)++k

D)k+1

(19)有以下程式,其中%u表示按無符號整數輸出(B)

main()

{unsigned int x=0xFFFF; /* x的初值為十六進位制數 */

printf(“%un”,x);

}

程式執行後的輸出結果是

A)-1

B)65535

C)32767

D)0xFFFF

(20)設變數x和y均已正確定義並賦值,以下if語句中,在編譯時將產生錯誤資訊的是(C)

A)if(x++);

B)if(x>y&&y!=0);

C)if(x>y) x- -

D)if(y<0) {;}

else y++;

(21)以下選項中,當x為大於1的奇數時,值為0的表示式(D)

A)x%2==1

B)x/2

C)x%2!=0

D)x%2==0

(22)以下敘述中正確的是(C)

A)break語句只能用於switch語句體中

B)continue語句的作用是:使程式的執行流程跳出包含它的所有迴圈

C)break 語句只能用在迴圈體內和switch語句體內

D)在迴圈體內使用break語句和continue語句的作用相同

(23)有以下程式(A)

main()

{int k=5,n=0;

do

{switch(k)

{case1: case3:n+=1; break;

default;n=0;k--;

case2: case4:n+=2;k--;break;

}

printf(“%d”,n);

}while(k>0&&n<5);

}

程式執行後的輸出結果是

A)235

B)0235

C)02356

D)2356

(24)有以下程式

mian()

{int i,j;

for(i=1;i<4;i++)

{for(j=i;j<4;j++) printf(“%d*%d=%d “,i,j,i*j);

printf(“n”);

}

}

程式執行後的輸出結果是(B)

A) 1*1=1 1*2=2 1*3=3 B) 1*1=1 1*2=2 1*3=3

2*1=2 2*2=4 2*2=4 2*3=6

3*1=3 3*3=9

C) 1*1=1 D) 1*1=1

1*2=2 2*2=4 2*1=2 2*2=4

1*3=3 2*3=6 3*3=9 3*1=3 3*2=6 3*3=9

(25)以下合法的字元型常量是(A)

A)”x13”

B)”