當前位置:才華齋>計算機>C語言>

C語言臨考練習試題

C語言 閱讀(8.19K)

愚昧從來沒有給人帶來幸福;幸福的根源在於知識。以下是小編為大家搜尋整理的C語言臨考練習試題,希望能給大家帶來幫助!更多精彩內容請及時關注我們應屆畢業生考試網!

C語言臨考練習試題

  一、選擇題

(1)以下敘述正確的是

A)迴圈結構、選擇結構、順序結構都是結構化程式的基本結構

B)計算機可以直接執行C語言程式,不需要做任何轉換

C)過於複雜的演算法不能使用N—s流程圖描述

D)只有不超過20步操作步驟的演算法才是簡單演算法

【答案】A

【解析】計算機只能識別機器語言,C語言是高階語言,計算機無法直接執行,排除B選項;N—S流程圖是複雜流程演算法的描述手段。因此C選項錯誤;演算法的複雜與簡單,不能用操作步驟數來衡量,D選項錯誤;迴圈結構、選擇結構、順序結構都是結構化程式的基本結構,答案為A選項。

(2)C語言程式的模組化通過以下哪個選項來實現

A)變數

B)函式

C)程式行

D)語句

【答案】B

【解析】C語言程式的模組化通過函式來體現,所以選擇B。

(3)以下敘述中正確的是

A)書寫源程式時,必須注意縮排格式,否則程式會有編譯錯誤

B)程式的主函式名除main外,也可以使用Main或_main

C)程式可以包含多個主函式,但總是從第一個主函式處開始執行

D)在C程式中。模組化主要是通過函式來實現的

【答案】D

【解析】C語言的源程式中對縮排沒有要求。所以A選項錯誤。C語言中區分大小寫,main函式不能寫成Main或一main,所以B選項錯誤。一個C程式有且只有一個主函式,所以C選項錯誤。

(4)以下敘述中正確的是

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

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

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

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

【答案】B

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

(5)以下敘述中正確的是

A)C語言程式所呼叫的函式必須放在main函式的`前面

B)C語言程式總是從最前面的函式開始執行

C)C語言程式中main函式必須放在程式的開始位置

D)C語言程式總是從main函式開始執行

【答案】D

【解析】C語言所呼叫的函式可以放在呼叫它的函式前,也可以放在呼叫它的函式後,所以A錯誤。C語言程式總是從main函式開始執行,所以B錯誤。main函式的位置可以放在開始,也可以放在中間,也可以放在最後,所以C錯誤。

  二、程式填空題

下列給定程式中,函式fun的功能是:將形參n中個位上為偶數的數取出,並按原來從高位到低位相反的順序組成一個新數,作為函式值返回。例如,輸入一個整數27638496,函式返回值為64862。請在程式的下劃線處填入正確的內容並將下劃線刪除,使程式得出正確的結果。注意:部分源程式在檔案BLANK1.C中。不得增行或刪行,也不得更改程式的結構!

  三、程式修改題

下列給定程式中函式fun的功能是:將長整型數中各位上為奇數的數依次取出,構成一個新數放在t中。高位仍在高位,低位仍在低位。例如,當s中的數為87653142時,t中的數為7531。請改正程式中的錯誤,使它能得出正確的結果。注意:部分源程式在檔案MODI1.C中,不得增行或刪行,也不得更改程式的結構!

  二、程式填空題

【參考答案】

(1)0

(2)10*X

(3)n/10

【考點分析】

本題考查:已知某數,如何求該數各個位數值,已知各個位數值,如何表示該數;除法運算。

【解題思路】

填空1:定義變數t用來存放某數的各個位數值,此處判斷t是否為偶數,即對2求餘結果是否為0。

填空2:將t作為x的個位數,原來x的各個位上升1位,即x=10*x+1。

填空3:每迴圈一次,通過除法運算,去掉數值最後一位。

  三、程式修改題

【參考答案】

(1)*t=0;

(2)if(d%2!=0)或if(d%2==1)

【考點分析】

本題考查:指標型變數作為函式引數;if語句條件表示式,結合奇偶數的表示方法來確定該表示式內容。

【解題思路】

(1)由函式定義可知,變數t是指標變數,所以對t進行賦初值0是不對的。因為t指向的是存放新數的變數,所以此處應給新數賦初值0,即*t=0。

(2)變數d表示數s各個位上的數,此處的if條件應為判斷d是否為奇數。