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