1[簡答題]下列給定程序中,函數fun的功能是:求出如下分數序列的前n項之和,和值通過函數值返回。
例如,若n=5,則應輸出8.391667。
請改正程序中的錯誤,使其得出正確的結果。
注意:不要改動main函數,不得增行或刪行,也不得更改程序的結構!
試題程序:
參考解析:
【參考答案】
(1)doublefun(intn) /b;
【考點分析】
本題考查:函數定義,函數定義的一般形式為“類型標識符函數名(形式參數表列)”,其中類型標識符用來說明函數值的類型,函數的類型實際上是函數返回值的類型。
【解題思路】
(1)由語句“return(s);”和變量s定義為double型可知,該函數定義時其類型標識符為double類型。
(2)注意數據類型double的書寫格式。
【解題寶典】
確定函數類型標識符在填空和改錯題中經?嫉剑绻瘮禌]有返回值,則函數定義為void型;如果函數有返回值,則函數類型應與返回值類型一致;如果不定義函數類型標識符,則系統默認為int型。
2[簡答題]下列給定程序中函數fun的功能是:把從主函數中輸人的3個數,最大的數放在a中,中間的數放在b中,最小的數放在c中。
例如,若輸入的數為:5512 34,輸出的結果應當是:
a=5-5.0,b=34.0,c=12.0。
請改正程序中的錯誤,使它能得出正確的結果。
注意:不要改動main函數,不得增行或刪行,也不得更改程序的結構!
試題程序:
參考解析:
【參考答案】
(1)float k;
(2)if(*a<*C)
【考點分析】
本題考查:變量定義,根據給定程序語句確定變量類型;if語句條件表達式。
【解題思路】
(1)觀察程序中的k,在賦值語句中,k是以變量的形式進行賦值而非指針,所以將k定義為指針是錯誤的。
(2)此處if語句是為了將小于*C的值放入*c中,所以改為if(*a<*C)o
3[單選題] C語言程序的模塊化通過以下哪個選項來實現( )
A.變量B.函數C.程序行D.語句
參考答案:B
參考解析:C語言程序的模塊化通過函數來體現,所以選擇B。
4[單選題] 流程圖是描述算法的很好的工具,一般的流程圖中由幾種基本圖形組成。其中輸入輸出框的圖形是 ( )
A.平行四邊形B.長方形C.橢圓型D.菱形
參考答案:A
參考解析:算法可以用各種描述方法進行描述,目前最常用的有3種:偽代碼、流程圖和N—S結構圖。傳統的流程圖由下圖所示的幾種基本圖形組成。A選項正確。
5[單選題] 有以下程序:
程序運行后的輸出結果是( )。
A.3B.1C.2D.0
參考答案:A
參考解析:本愿考查位運算符以及相關運算,‘為按位或,&為按位與,部么a'b為3,再與c按位與仍然為3,所以答案為A選項。
6[單選題]以下敘述中正確的是
A.在scanf函數中的格式控制字符串是為了輸入數據用的,不會輸出到屏幕上
B.在使用scanf函數輸入整數或實數時,輸入數據之間只能用空格來分隔
C.在Printf函數中,各個輸出項只能是變量
D.使用Printf函數無法輸出百分號%
參考答案:A
參考解析:scanf函數中的格式控制字符串是為了輸入數據用的,無論其中有什么字符,也不會輸出到屏幕上,所以A正確。scanf()的格式控制串可以使用其他非空白字符,如逗號,但在輸入時必須輸入這些字符,以保證匹配就可以,所以B錯誤。Printf函數可以輸出常量也可以輸出變量,所以C錯誤。Printf函數可以用“\%”來輸出百分號%,所以D錯誤。
7[單選題] 有以下程序(strcat函數用于連接兩個字符串):
程序運行后的輸出結果是( )。
A.U-KB.ABCDE\0FG\0UKC.ABCDUKD.EFGUK
參考答案:C
參考解析:字符數組a中包含兩個‘、O’,遇到第一個‘O’時就表示字符串a結束。字符串處理函數由c吐(字符數組a,字符數組b),功能是連接兩個字符數組中的字符串,把字符串b連接到a的后面,結果放在字符數組a中。連接時將字符串a后的‘、0’取消,只在新串最后保留一個‘、0’。本題相當于將“ABCD”和“IJK”連接。因此C選項正確。
8[單選題] 若有定義語句:char a='\82';則變量a( )
A.說明不合法B.包含1個字符C.包含2個字符D.包含3個字符
參考答案:B
參考解析:char a='\82',定義字符量a,char型變量值為1個字節(jié)長度,并從右側開始運算,所以a的值應為'2'。因此B選項正確。
9[單選題] 以下選項中關于程序模塊化的敘述錯誤的是( )。
A.可采用自底向上、逐步細化的設計方法把若干獨立模塊組裝成所要求的程序
B.把程序分成若干相對獨立、功能單一的模塊,可便于重復使用這些模塊
C.把程序分成若干相對獨立的模塊,可便于編碼和調試
D.可采用自頂向下、逐步細化的設計方法把若干獨立模塊組裝成所要求的程序
參考答案:A
參考解析:程序模塊化思想中,可以采用自頂向下、逐步細化的方法。所以選項A中“自底向上”的說法是錯誤的。
10[單選題] 有以下程序:
程序運行后的輸出結果是( )。
A.IB.JC.KD.H
參考答案:B
參考解析:
(”%e\n”,’A’+x),x=oxg(16)轉為十進制x=9,因此prinff(”%e\n”,7A’+9),打印格式要求是%c,因此需要從字符A,按字母順序向后偏移9個位置,可得結果為J。故答案為B選項。
相關推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |