1[單選題] 有以下程序:
A.28B.27C.42D.4l
參考答案:C
參考解析:只有當3個if條件同時成立,即能夠同時被2、3、7整除時,才輸出i的值,而從0到50能夠同時被2、3、7整除的數只有42,故選擇c選項。
2[填空題]數組xx[M]保存著一組3位數的無符號正整數,其元素的個數通過變量m傳人函數proc()。請補充函數proc(),該函數的功能是:從數組xx中找出十位和百位的數字相等的所有無符號整數,結果保存在數組yy中,其個數由函數proc()返回。
例如,當xx[8]={234 339 666 850 220 448 528 440)時,bb[5]={339 666 220 448 440}。
注意:部分源程序給出如下。
請勿改動main()函數和其他函數中的任何內容,僅在函數proc()的橫線上填入所編寫的若干表達式或語句。
試題程序:
參考解析:
【解析】要找出數組xx中十位和百位數字相等的所有整數,首先要得到數組中每一個整數的十位和百位數字,因此,【1】處填“(xx[i]/10)%10”;如果十位和百位數字相等,則將該整數放在數組bb ee,因此,【2】處填“bb[n++]=xx[i]”;符合條件的整數個數放在變量n中,返回給主函數,因此,【3】處填“n”。
3[單選題] 有下列程序:
程序執行后的輸出結果是( )。
A.45B.20C.25 D.36
參考答案:C
參考解析:在for循環語句中自變量i從0開始,每次自加2,執行s+一*(t+i)語句,因為C語言規定數組名做表達式相當于數組的首地址,也就是第一個元素的地址。因此,*(t+i)代表數組的第i+1個元素,所以程序運行的結果是1+3+5+7+9=25,即變量S的值等于25。
4[簡答題]下列給定程序中,函數proc()的功能是:根據整型形參n,計算如下公式的值。
例如,若n=12,則應輸出0.618026。
請修改程序中的錯誤,使它能得出正確的結果。
注意:不要改動main()函數,不得增行或刪行,也不得更改程序的結構。
試題程序:
參考解析:
(1)錯誤:int proc(int n)
正確:float proc(int n)
(2)錯誤:for(i=2;i
正確:for(i=2;i<=n;i++)
由主函數中的調用以及函數proc()的返回值可知,函數proc()的返回值類型應為float型數據。因此,“intproc(int n)”應改為“float proc(int n)”;由題目中所給公式可知,循環中應該包含n的值,因此,“for(i=2;i
5[單選題] 以下敘述中正確的是( )。
A.do-while語句構成的循環不能用其他語句構成的循環來代替
B.do-while語句構成的循環只能用break語句退出
C.用do-while語句構成循環時,只有在while后的表達式為非零時結束循環
D.用do-while語句構成循環時,只有在while后的表達式為零時結束循環
參考答案:D
參考解析:選項A,可以用for循環代替;選項B,不滿足條件時即條件的邏輯值為假(0)時退出,break也可以;選項C,while(條件),條件為真時進行循環,為假(0)時退出。
相關推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |