6[單選題] 有以下程序
程序運行后的輸出結果是
A.0.000000B.0.250000C.0.500000D.1.000000
參考答案:C
參考解析:本題重點考查if語句,變量x和Y均為double類型,由于變量x賦值為2.0,因此執行if((x<5.0)&&(!x)),即條件為0,繼續執行if(x<10.0),條件為1,即執行Y=1.0/x;。依據printf()函數輸出類型中f是以小數形式輸出單、雙精度實數。因此c選項正確。
7[單選題] 若有以下程序段
則程序段的輸出結果是( )
A.5.170000B.5.175000C.5.169000D.5.168000
參考答案:C
參考解析:本題考查強制類型轉換與輸出格式。%f的輸出格式是以帶小數點的數學形式輸出浮點數。首先計算x*1000,結果為5168.94然后+0.5,結果為5169.44。然后進行強制類型轉換,轉換成整型為5169,然后除以雙精度數據1000,結果也為雙精度數據5.169,輸出時按照%f的格式輸出,所以輸出結果為5.169000。
8[單選題] 以下敘述錯誤的是( )。
A.一個算法所包含的操作步驟應該是有限的
B.任何能通過編譯和運行的算法都一定能得到所期望的結果
C.算法中每一條指令必須有確切的含義
D.算法可以用各種描述方法來進行描述
參考答案:B
參考解析:算法的特點:零個或多個輸入,至少一個輸出,可行性(能編程實現),有窮性(有限步出結果),確定性(描述不能有歧義)。可知選項A,c,D正確。c語言中。通過編譯,可以運行的程序,不一定符合題目的本意,因此即使可以運行得到結果,也不一定和預期的結果一樣,否則就不需要調試和修改程序了,故B選項錯誤。答案為B選項。
9[填空題]給定程序中,函數fun的作用是:不斷從終端讀入整數,由變量a統計大于0的個數,用變量c來統計小于0的個數,當輸入0時結束輸入,并通過形參pa和pb把統計的數據傳回主函數進行輸出。
請在程序的下劃線處填入正確的內容并把下劃線刪除,使程序得出正確的結果。注意:源程序存放在BLANKl.C中。
不得增行或刪行,也不得更改程序的結構!試穎程序.
參考解析:
(1)a=0,b=0,k
(2)(k!=O)
(3)scanf(”%d”,&k)
【考點分析】
主要考察考生對循環結構的理解。
【解題思路】
填空1:a=0,b=0,k下面的scanf函數用到變量k,需要提前定義,在while循環中使用了臨時存放正負數個數的變量a,b,因此也要提前定義。
填空2:(k!=0)根據題意,輸入0時結束程序,因此當k!=0時進入循環記錄正負數的個數。
填空3:scanf(”%d“,&k)需要不斷從終端輸入整數,因此在循環體內添加輸入操作。
10[簡答題]學生記錄由學號和成績組成,N名學生的數據已放入主函數中的結構體數組中,請編寫函數fun,其功能是:把分數最低的學生數據放入b所指的數組中,注意:分數最低的學生可能不止一個,函數返回分數最低的學生人數:
注意:部分源程序在文件PROGl.C中。
請勿改動主函數main和其他函數中的任何內容,僅在函數flm的花括號中填入你編寫的若干語句。
參考解析:
【考點分析】
本題考查:查找結構體數組中的最小數據,需要通過for循環語句和if條件語句來完成。
【解題思路】
本題中第一個循環語句的作用是遍歷數組求出最低分數,第二個循環語句的作用是將數組中的元素與最低分比較,查找是否存在與最低分相等的成績。
相關推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |