當前位置:才華齋>計算機>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是否為奇數。