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

2017年9月計算機二級C語言程式設計習題及答案

計算機二級 閱讀(2.86W)

2017年計算機二級考試馬上就要開始了,你準備好了嗎?下面是小編為大家帶來的計算機二級C語言程式設計習題,歡迎閱讀。

2017年9月計算機二級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[單選題] 有以下程式

2016年計算機二級《C語言》基礎練習題及答案(10)

程式的輸出結果是

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[單選題] 有以下程式:

2016年計算機二級《C語言》基礎練習題及答案(11)

以上程式執行後文件的內容是( )。

a

ang

aBeijing

ingChina

參考答案:B

參考解析:本題考查檔案操作函式,fwrite和rewind函式,題目中先是將s2字串寫入中,然後將寫指標回到檔案開頭,然後寫入sl字串,那麼sl字串就將前5個字元覆蓋,所以最終結果為Chinan9,選項B正確。

2[單選題] 如果定義

float a[10],x;

則以下敘述中正確的是

A.語句a=&x;是非法的B.表示式a+1是非法的C.三個表示式a[1]、*(a+1)、*&a[1]表示的意思完全不同D.表示式,&a[1]是非法的,應該寫成+(&(a[1]))

參考答案:A

參考解析:B選項中,表示式a+1不是非法的;C選項中,*(a+1)即指a[1];D選項中,*&a[1]不是非法的。因此A選項正確。

3[單選題] 有以下程式(strcpy為字串複製函式,streat為字串連線函式)

2016年計算機二級《C語言》基礎練習題及答案(11)

程式執行後的.輸出結果是

2yzC.a2yzD.12yz

參考答案:C

參考解析:本題考查字串處理函式strcpy和streat,執行完strcpy(a+1,b+2);後,a變為a2,執行完strcat(a,c+1)後,a變為a2yz,所以答案為C選項。第3題 筆記記錄我的筆記(0) | 精選筆記(3)選擇筆記標籤:試題內容(2)答案解析(1)

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

A.'