1[簡答題]下列給定程序中fun函數(shù)的功能是:求表達式s=aa…aa-…-aaa-aa-a
(此處aa…aa,表示n個a,a和n的值在1~9之間)
例如,a=3,n=6,則以上表達式為:
s=333333-33333-3333-333-33-3其值是296298。
a和n是fun函數(shù)的形參,表達式的值作為函數(shù)值傳回main函數(shù)。
請改正程序中的錯誤,使它能計算出正確的結果。
注意:不要改動main函數(shù),不得增行或刪行,也不得更改程序的結構!
試題程序:
參考解析:
【參考答案】
(1)long s=0,t=0;
(2)t=t/10;
【考點分析】
本題考查:變量賦初值操作;求余運算和除法運算的區(qū)別。
【解題思路】
(1)t用來存放每次循環(huán)后的多位數(shù),第一次循環(huán)時,t應當是個位數(shù),所以t的初始值應為0。
(2)根據(jù)題意,這里不需要求余數(shù),而是要去掉個位數(shù),重新組合為一個數(shù),因此運用除法運算。
【解題寶典】
去掉數(shù)值n的個位數(shù)的方法是采用除法運算,如果需要取出個位數(shù)則使用求余運算,不要混淆。
2[簡答題]編寫函數(shù)fun,其功能是:求出1~1000之間能被7或11整除,但不能同時被7和11整除的所有整數(shù),并將其放在a所指的數(shù)組中,通過n返回這些數(shù)的個數(shù)。
注意:部分源程序給出如下。
請勿改動主函數(shù)main和其他函數(shù)中的任何內容,僅在函數(shù)fun的花括號中填入你編寫的若干語句。
試題程序:
參考解析:
【參考答案】
【考點分析】
本題考查:if語句,用來判斷能被7整除或者能被ll整除,但又不能同時被7和11整除的數(shù),此處需充分理解“邏輯與”和“邏輯或”的區(qū)別;for循環(huán)語句的循環(huán)條件用來控制循環(huán)變量取值范圍。’
【解題思路】
該題需要運用循環(huán)判斷結構來實現(xiàn),其中循環(huán)語句比較容易,只要確定循環(huán)變量的范圍即可,下面來看判斷語句。題目要求找出能被7或11整除,但不能同時被7和11整除的所有整數(shù),能同時被7和11整除的整數(shù)一定能被77整除,且不能被77整除的數(shù)不一定就是能被7或11整除的數(shù),因而,可得出程序中的if語句。注意(i%7==o||i%11==0)兩邊必須要有小括號。
3[單選題] 設有定義:char p E]={’1’,‘2’,’3’},*q=p;,以下不能計算出一個char型數(shù)據(jù)所占字節(jié)數(shù)的表達式是( )。
A.sizeof(p)B.sizeof(char)C.sizeof(*q)D.sizeof(p[0])
參考答案:A
參考解析:根據(jù)題目中的定義可以知道sizeof(p),計算的是數(shù)組P中所有元素所占用的字節(jié)數(shù),而不是ch”型數(shù)據(jù)所占字節(jié)數(shù)。
4[單選題] 以下fun函數(shù)的功能是將形參s所指字符串內容顛倒過來
在橫線處應填同入的內容是
A.+1B.-1C.+0D.k=0
參考答案:B
參考解析:本題考查字符串處理函數(shù)strlen,strlen計算一個字符串的長度,包含結尾符,所以本題中j的初始化應該是從最后一個字符開始,所以應該將得到的字符串長度減1,選項B正確。
5[單選題] 設有定義語句:
則以下敘述正確的是
A.aa[0]存放了字符串“abcd“的首地址
B.aa數(shù)組的兩個元素只能存放含有4個字符的一維數(shù)組的首地址
C.aa數(shù)組的值分別是字符串”abcd”和”ABCD”
D.fla是指針變量,它指向含有兩個元素的字符型數(shù)組
參考答案:A
參考解析:本題中定義了一個指針數(shù)組,數(shù)組中存放的是字符指針,aa數(shù)組的兩個元素分別包含了5個字符,所以可以存放5個字符的一維數(shù)組的首地址,所以B選項錯誤。aa數(shù)組的值是指向那兩個字符串的字符指針,而不是那兩個字符串,所以C選項錯誤。Eta本身是一個指向兩個字符指針的指針,所以D選項錯誤。
相關推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |