1[單選題]設有以下程序段:
要求輸入字符串給結構體變量rec的title成員,錯誤的輸入語句是( )。
A.seanf(”%s”Ptrtitle);
B.scanf(”%s”,rec.title);
C.scanf(’’%s”,(*pu).title);
D.scanf(”%s”,ptr->title);
參考答案:A
參考解析:符號“_>”是指針特用的,符號“.”用于指定元素的成員。ptr是指針,只能用符號“一>”,因此選項A錯誤。+P是指定元素(Fee)可以使用“.”運算,因此選項D正確。選項B,Fee.title代表數組title,同理選項C正確。答案為A選項。
2[簡答題]下列給定程序中,函數proc()的功能是:求出以下分數序列的前m項之和。
2/1,3/2,5/3,8/5,13/8,21/13,…
和值通過函數值返回main()函數。例如,若m=6,則應輸出10.007051。
請修改程序中的錯誤,使它能得出正確的結果。
注意:不要改動main()函數,不得增行或刪行,也不得更改程序的結構。
試題程序:
%參考解析:
(1)錯誤:proc(int n)
正確:double proc(int n)
(2)錯誤:c=a;a+=b;b+=C;
正確:c=a;a+=b;b=c;
【解析】由main()函數中的proc()函數調用可知,函數proc()的返回值為double型數據。因此,“proc(int n)”應改為“double proc(int n)”。根據數列的特點可知,下一項的分子是上一項的分子和分母之和,下一項的分母為上一項的分子。根據數列的這個特點,“c=a;a+=b;b+=c;”應改為“c=a;a+=b;b=c;”。
3[簡答題]請編寫一個函數,用來刪除字符串中的所有空格。
例如,輸入abc de f gh,則輸出為abcdefgh。
注意:部分源程序給出如下。
請勿改動main()函數和其他函數中的任何內容,僅在函數proc()的花括號中填入所編寫的若干語句。
試題程序:
參考解析:
【解析】根據題目中要求刪除字符串中所有的空格,需要檢查字符串中的每一個字符。將不是空格的字符放入原來的字符串中,形成新的字符串。在新的字符串的末尾加上結束符。
4[簡答題]請編寫函數proc(),該函數的功能是:將str所指字符串中ASCⅡ值為偶數的字符刪除,串中剩余字符形成一個新串放在t所指的數組中。
例如,若str所指字符串中的內容為aBcdef9789,其中字符8的ASCⅡ碼值為偶數……字符8的ASCⅡ碼值為偶數……都應當刪除,其他依此類推。最后t所指的數組中的內容應是ace979。
注意:部分源程序給出如下。
請勿改動main()函數和其他函數中的任何內容,僅在函數proc()的花括號中填入所編寫的若干語句。
試題程序:
參考解析:
【解析】要把字符串str中ASCⅡ碼值為偶數的字符刪除,需要判斷字符串str 中每一個字符的ASCⅡ值,將ASCⅡ碼值為奇數的字符放入字符串t中,ASCⅡ碼值為偶數的字符不予處理。最后為新的字符串t加上結束符。
5[單選題] 有以下結構體說明、變量定義和賦值語句:
則以下scanf函數調用語句有錯誤的是( )。
A.scanf(”%s”,s[0].name);
B.scanf(”%d”,&s[0].age);
C.scanf(”%c”,&(ps一>sex));
D.scanf(”%d”,ps一>age):
參考答案:D
參考解析:本題考查結構體的相關知識,題目中需要輸入一個變量,scanf要求參數為指針,而D選項中ps一>age為一個變量,不是指針,所以錯誤。
相關推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |