糯米文學吧

位置:首頁 > 計算機 > 計算機二級

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

  一、選擇題((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)”