1[填空題]請補充函數proc(),該函數的功能是將字符串str中的大寫字母都改為對應的小寫字母,其他字符不變。例如,若輸入“How Are You?”,則輸出“how are you?”。
注意:部分源程序給出如下。
請勿改動main()函數和其他函數中的任何內容,僅在函數proc()的橫線上填入所編寫的若干表達式或語句。
試題程序:
參考解析:
【解析】要將字符串中所有的大寫字母改為對應的小寫字母,首先應該找出字符串中所有的小寫字母。判斷一個字符是否是大寫字母,只要看其是否在A和Z之間,因此【1】處填“str[i]%=ˊZˊ”;每找到一個大寫字母,就將其改為小寫字母。大寫字母與小寫字母之間的關系為ASCⅡ相差32,因此【2】處填“sty[i]+=32”;得到的新的字符串放在str中,要將其返回給主函數,因此[31處填“str”。
2[簡答題]下列給定程序中,函數proc()的功能是逐個比較str1,str2兩個字符串對應位置中的字符,把比ASCⅡ值大或相等的字符依次存放到str數組中,形成一個新的字符串。
例如,str1中的字符串為fshADfg,str2中的字符串為sdAEdi,則str中的字符串應為sshEdig。
請修改程序中的錯誤,使它能得到正確結果。
注意:不要改動main()函數,不得增行或刪行,也不得更改程序的結構。
試題程序:
參考解析:
【解析】題目中要求將ASCIl碼值較大的字符放到新的字符串中,因此if的條件判斷語句“if(*p>=*q)”應改為“if(*p<=*q)”;在C語言中,每一條語句的結束是以“;”來標識的,因此k++后應該加上分號。
3[單選題]下列程序執行后的輸出結果是()。
A.6B.7C.8D.9
參考答案:A
參考解析:本題考查函數的調用,從主函數傳遞到調用函數中,*a的值為0,因此當執行完調用函數后,6[0]的值為6。
4[單選題] 有以下程序
程序的運行結果是
A.14B.20C.10D.16
參考答案:A
參考解析:*(*(P+m)+k)系統默認為指針指向數組中第[m][k]個元素,因此,在for循環中,n+=*(*(P+m)+k);執行的是將數組x[0][1]和x[1][1]累加后賦值給n,最后進行輸出,答案為A選項。
5[單選題] 有兩個關系R、S如下:
由關系R通過運算得到關系s,則所使用的運算為( )。
A.選擇B.投影C.插入D.連接
參考答案:B
參考解析:投影運算是指對于關系內的域指定可引人新的運算。本題中S是在原有關系R的內部進行的,是由R中原有的那些域的列所組成的關系。所以選擇8。
6[單選題] 下列敘述中正確的是()。
A.一個邏輯數據結構只能有一種存儲結構
B.邏輯結構屬于線性結構,存儲結構屬于非線性結構
C.一個邏輯數據結構可以有多種存儲結構,且各種存儲結構不影響數據處理的效率
D.一個邏輯數據結構可以有多種存儲結構,且各種存儲結構影響數據處理的效率
參考答案:D
參考解析:數據的存儲結構是指數據的邏輯結構在計算機存儲空間中的存放形式。一種數據結構可以根據需要采用不同的存儲結構,存儲結構有順序和鏈式兩種。不同的存儲結構,其處理的效率不同。
7[單選題] 有以下程序l
該程序試圖通過指針P為變量n讀人數據并輸出,但程序有多處錯誤,以下語句正確的是( )。
參考答案:A
參考解析:選項B的正確寫法應為P=&n;選項c的正確寫法應為scanf(”%d”,P);選項D的正確寫法應為printf(”%dn”,* P)。
8[單選題] 有以下程序:
當程序運行時輸入a<回車>后,下列敘述中正確的是()。
A.變量c1被賦予字符a,c2被賦予回車符
B.程序將等待用戶輸入第2個字符
C.變量c1被賦予字符a,c2中仍是原有字符2
D.變量c1被賦予字符a,c2中將無確定值
參考答案:A
參考解析:本題考查getchar()函數,從終端讀入一個字符作為函數值。在輸入時,空格、回車符都將作為字符讀入,而且只有在用戶敲入回車鍵時,讀入才開始執行。所以當輸入a<回車>后,變量c1被賦予字符a,而變量c2被賦予回車符。
9[單選題] 設fun()函數的定義形式為void fun(char ch,float x){…}則下列對函數fun的調用語句中,正確的是()。
A.
B.
C.
D.
參考答案:C
參考解析:由題目的已知條件函數fun的定義形式void fun(char eh,float x){…}可知第一個形參為字符型,所以A不符合,第二個形參為精度型,所以D不符合,函數fun定義為void型(無返回值型),故其沒有返回值,所以選項B錯誤。選項C的第一個實參的類型為字符型,第二個實參的類型為單精度型,與函數fun的形式參數的類型相符合,所以選項C為正確答案。
10[單選題] 下述程序的運行結果是()。
A.正數B.負數C.零D.不確定的值
參考答案:A
參考解析:本題考查字符串比較函數和兩個字符串比較的原則這兩個知識點。
(1)兩字符串比較的原則是依次比較兩個字符串同一位置的一對字符,若它們的ASCⅡ碼值相同,則繼續比較下一對字符,若它們的ASCⅡ碼值不同,則ASCⅡ碼值較大的字符所在的字符串較大;若所有字符相同,則兩個字符串相等;若一個字符串全部i個字符與另一個字符串的前i個字符相同,則字符串較長的較大。
(2)strcmp(s1,s2)的返回值,當str1str2,返回值為正數。
更多精彩資訊請關注查字典資訊網,我們將持續為您更新最新資訊!