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

計算機二級C語言程式設計考前測試題及答案

計算機二級 閱讀(2.35W)

為了使廣大考生在備戰計算機等級考試時,更快的掌握相應知識點,接下來應屆畢業生小編為大家精心準備了計算機二級C語言程式設計考前試題及答案,希望能夠給大家帶來幫助!

計算機二級C語言程式設計考前測試題及答案

1[單選題] 設有定義:int x,Y,z;,且各變數已賦正整數值,則以下能正確表示代數式‘

的C語言表示式是( )。

A.…1.…0/x。/y,/zB.1/x * Y * zC.1/(x * Y * z)D.1/x/y/(double)z

參考答案:A

參考解析:代數表示式1/(X·Y·z)是小數,轉為cf語言的表示式必須是小數。A選項由於l.0為浮點數,計算結1果自動轉換為浮點數,故A選項正確。選項B,C,D的表示式均為0。答案為A選項。

2[單選題] 以下敘述中正確的是( )

A.使用者自己定義的函式只能呼叫庫函式

B.實用的C語言源程式總是由一個或多個函式組成

C.不同函式的形式引數不能使用相同名稱的識別符號

D.在C語言的函式內部,可以定義區域性巢狀函式

參考答案:B

參考解析:A選項中,”使用者自己定義的函式只能呼叫庫函式”描述是不正確的,也可以呼叫自定義函式;C選項中,對於不同函式的形式引數可以使用相同名稱的識別符號;D選項中,關於函式的定義不可以巢狀,但函式的呼叫可以巢狀。因此B選項正確。

3[單選題] 以下關於C語言資料型別使用的敘述中錯誤的是( )。

A.若要處理如“人員資訊”等含有不同型別的相關資料,應自定義結構體型別

B.若要儲存帶有多位小數的資料,可使用雙精度型別

C.若只處理“真”和“假”兩種邏輯值,應使用邏輯型別

D.整數型別表示的自然數是準確無誤差的

參考答案:C

參考解析:C語言中沒有邏輯型別,所以c錯誤。若要儲存帶有多位小數的資料,可以用單精度型別也可以用雙精度型別。處理包含不同型別的相關資料可以定義為結構體型別。整數型別可以無誤差的表示自然數。

4[單選題] 下面選項中關於編譯預處理的敘述正確的是

A.預處理命令列必須使用分號結尾

B.凡是以#號開頭的行,都被稱為編譯預處理命令列

C.預處理命令列不能出現在程式的最後一行

D.預處理命令列的作用域是到最近的函式結束處

參考答案:B

參考解析:本題考查預編譯的預編譯處理命令列,預處理命令列不能以分號結尾,所以A選項錯誤,預處理命令列可以出現在程式的最後一行,預處理命令列作用域是整個檔案。

5[單選題] 有以下程式

程式的輸出結果是

A.0B.1C.9D.10

參考答案:B

參考解析:本題考查巨集定義,巨集定義只是做個簡單的替換。執行SQR(k+m)/SQR(k+m)=k+m*k+m/k+m}k+m=15/2,a/=SQR(k+m)/SQR(k+1TI)的結果為1,選項B正確。

6[單選題] 設--X樹共有150個結點,其中度為l的結點有l0個,則該---X樹中的葉子結點數為( )。

A.71B.70C.69D.不可能有這樣的二叉樹

參考答案:D

參考解析:在樹結構中,一個結點所擁有的後件個數稱為該結點的度,所有結點中最大的度稱為樹的度。對任何一棵二叉樹,度為0的結點總是比度為2的結點多一個。如果有一棵二叉樹,結點總數為l50,假設度為0的結點個數為n,則有n+10+n一1=150,n=70.5,由於結點個數必須是整數,所以不可能有題目中這樣的二叉樹。故選擇D選項。

7[單選題] 有以下程式:

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

A.2.3B.1,3C.1,4D.1,2

參考答案:B

參考解析:在f(int+P,int 4 q)函式中,執行P=P+1是將P所對應的地址加1,而0 q=+q+1是將q所指向的n的地址所對應的值加1,所以m的`得知所對應的值沒有變,而n的值則為3了。因此B選項正確。

8[單選題] 以下選項中,能用作使用者識別符號的是( )。

A.-0-B.8-;gned

參考答案:A

參考解析:C語言中識別符號由字母、下劃線、數字組成,且開頭必須是字母或下劃線。另外,關鍵字不能作為識別符號。8中以數字8開頭,所以錯誤。c與D中用的是關鍵字void與unsigned,所以錯誤。

9[單選題] 以下敘述正確的是( )。

A.表示式sizeof(FILE*)==sizeof(int*)的值為真

B.檔案指標的值是一個整數,它的值一定小於檔案位元組數

C.檔案指標的值是所指檔案的當前讀取位置

D.使用fscanf函式可以向任意型別的檔案中寫入任意數量的字元

參考答案:A

參考解析:

slzeof(FILE})=4,因為file·為指標,指標的大小4,sizeof(int·)=4,理由同前面。檔案指標的值是地址,是一個16進位制的數,它的值不一定小於檔案位元組數,因此選項8錯誤。檔案指標是所指檔案的當前讀取位置,而不是檔案指標的值因此選項C錯誤。mgscanf(FILE-stream,constchar}format,[argument…]fmanf函式可以向任意型別的檔案,寫入任意數量不能超過系統的緩衝區,寫檔案先寫入緩衝區,最後一起寫入檔案,因此選項D錯誤。答案為A選項。

10[簡答題]下列給定程式中函式fun的功能是:將tt所指字串中的小寫字母全部改為對應的大寫字母,其他字元不變。

例如,若輸入“Ab,cD”,則輸出“AB,CD”。

請改正程式中的錯誤,使它能得出正確的結果。

注意:部分源程式在檔案MODIl.C中,不得增行或刪行,也不得更改程式的結構!

參考解析:

(1)if((tt[i]>=’a’)&&(tt[i]<=‘z’))

(2)tt[i]一=32;

【考點分析】

本題考查:if語句條件表示式;小寫字母轉大寫字母的方法。

【解題思路】

(1)分析本題可知,要判斷字元是否為小寫字母,即判斷其是否在a—z之間,所以這裡需要進行連續的比較,用&&。(2)從ASCIl碼錶中可以看出,小寫字母的ASCIl碼值比對應大寫字母的ASCIl值大32。將字串中的小寫字母改為大寫字母的方法是:從字串第一個字元開始,根據ASCIl碼值判斷該字母是不是小寫字母,若是,則ASCIl碼值減32即可。