1[填空題]從鍵盤輸入一組無符號整數并保存在數組xx[M]中,以整數0結束輸入,即第M+1個數是0(共M個數據),數與數之間以Enter鍵分隔,要求這些數的最大位數不超過4位,其元素的個數通過變量num傳人函數proc()。請補充函數proc(),該函數的功能是:從數組XX中找出十位和百位的數字之和大于5的所有無符號整數,結果保存在數組yy中,其個數由函數proc()返回。
例如,當xx[8]={3 637 369 421 35 7334 54 67}時,bb[4]={637 369 421 7334 67)。
注意:部分源程序給出如下。
請勿改動main()函數和其他函數中的任何內容,僅在函數proc()的橫線上填人所編寫的若干表達式或語句。
試題程序:
參考解析:
【1】xx[i]/100【2】bb[n++]=xx[i]【3】n
從數組XX中找出十位和百位的數字之和大于5的所有無符號整數,首先要得到每一個整數十位和百位的數字。要得到一個整數十位和百位的數字,可以通過取余來實現,因此,【1】處填“xx[i]/100”;每得到一個符合要求的整數,放在數組bb中,因此,【2】處填“bb[n++]=xx[i]”;變量n中存放的是符合要求的個數,最后返回各主函數,因此【3】處填“n”。
2[單選題] 若變量已正確定義
for(x=0,Y=0;(y!=99&&x<4);x++)
則以上for循環
A.執行3次B.執行4次C.執行無限次D.執行次數不定
參考答案:B
參考解析:本題重點考查for語句的循環次數,for(x=0,y=0;(y!=99&&x<4);x++),y!=99&&x<4即循環條件當y不等于99以及x<4時,執行循環語句,當有一個條件不成立時,均結束循環,因此循環4次,B選項正確。
3[單選題] 以下敘述中錯誤的是
A.用typedef可以說明一種新的類型名
B.typedef的作用是用一個新的標識符來代表已存在的類型名
C.可以用typedef說明的新類型名來定義變量
D.typedef說明的新類型名必須使用大寫字母,否則會出編譯錯誤
參考答案:D
考解析:本題考查typedef的使用方法,typedef對已存在的類型使用一個新的名字,新類型可以使用小寫,所以D選項錯誤。
4[簡答題]規定輸入的字符串中只包含字母和*號。編寫函數fun(),其功能是:刪除字符串中所有的*號。編寫函數時,不得使用C語言提供的字符串函數。
例如,字符串中的內容為“****A*BC*DEF*G****”,刪除后,字符串中的內容應當是“ABCDEFG”。
注意:部分源程序給出如下。
請勿改動main()函數和其他函數中的任何內容,僅在函數fun()的花括號中填入編寫的若干語句。
試題程序:
參考解析:
【解析】此題是刪除字符串中的星號。思路是通過for循環來完成對字符串的遍歷,通過if判斷,找到不是“*”的字符,將其賦值到數組a中星號前的位置,“if(a[i]!= ˊ*ˊ)”“a[j++]=a[i]”,最后返回主函數將刪除*后的字符串輸出即可。
5[單選題] 下列變量聲明合法的是( )。
A.short a=1.4e-1;
B.double b=1+3e2.8;
C.10ng do=0xfdaL;
D.float 2_ aaa=1e-3;
參考答案:A
參考解析:解答本題需了解3個知識點:①標識符是由字母、數字或下劃線組成,并且它的第一個字符必須是字母或者下劃線;②do是C語言的一個關鍵字,不能再用作變量名和函數名;③C語言規定指數形式的實型數量e或E后面的指數必須是整數。
相關推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |