1[填空題]str為一個字符序列,序列由字符0和1組成。請補充函數(shù)proc(),該函數(shù)的功能是:查找該字符序列中0字符連續(xù)出現(xiàn)的最長長度(即0字符的個數(shù)),如果有幾個0字符串長度相同,只記錄最后一個0字符串的相關信息。通過m和k返回最長0字符串的長度和最后0字符的下標。
例如,如果輸入“0100001000”,結果為:0字符串最長長度為4,起始和結尾下標依次為2、5。
注意:部分源程序給出如下。
請勿改動main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的橫線上填入所編寫的若干表達式或語句。
試題程序:
參考解析:
【1】char*str,int*m,int*k 【2】bb[j]++【3】*m<一bb[j]
【解析】形參的個數(shù)和類型由調(diào)用該函數(shù)的實參的類型和個數(shù)決定,由main()函數(shù)中的proc()函數(shù)可知’【1】處填“char*str,int*m,int*k”;由函數(shù)proc()可知,數(shù)組bb中存放每一個連續(xù)的0字符串中0的個數(shù),因此【2】處填“bb[j]++”;最后把個數(shù)最多的放在變量*m中,下標放在*k中,因此【3】處填“*m<=bb[j]”。
2[簡答題]規(guī)定輸入的字符串中只包含字母和*號。請編寫函數(shù)fun,其功能是:除了字符串前導的*號之外,將串中其他+號全部刪除。在編寫函數(shù)時,不得使用C語言提供的字符串函數(shù)。
例如,字符串中的內(nèi)容為“****A * BC * DEF*G*******”,刪除后,字符串中的內(nèi)容應當是“****ABCDEFG”。
參考解析:
【參考答案】
【考點分析】
本題考查:指針型變量定義;while循環(huán)語句;if語句條件 表達式;字符串結束標識‘\0’。
【勰題思路】
函數(shù)fun的功能:除了字符串前導的*號之外,將串中其 他*號全部刪除。解答本題,首先定義一個臨時指針P,初始 指向原串首地址;其次利用循環(huán)語句把字符串前導*號復制 到原串;然后繼續(xù)移動指針,把串中和串尾的非*號字符復 制到原串;最后為修改后的字符串賦結束字符‘\0’。
【解題寶典】
要刪除字符串中的指定字符,通常采用保留非指定字符 的方法?梢詫⒎侵付ㄗ址A粼谠磳⑿枰A舻淖 符從原串的起始位置重新賦值;也可以保留到新串,即新建 一個字符串,存放要保留的字符。
3[簡答題]下列給定程序中,函數(shù)proc()的功能是:輸出M行M列整數(shù)方陣,然后求兩條對角線上的各元素之和并將其返回。
請修改程序中的錯誤,使它能得出正確的結果。
注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結構。
試題程序:
參考解析:
(1)錯誤:int proc(int n,int xx[][])
正確:int proc(int n,int xx[][M])
(2)錯誤:printf(″%4f″,xx[i][j]);
正確:printf(″%4d″,xx[i][j]);
【解析】從主函數(shù)中的調(diào)用語句可知,實參中的一個為二維數(shù)組,因此其形參類型也應該一樣,而二維時,其列下標必須是常量,因此把“int proc(int n,int xx[][])”改為“intproe(int n,int xx[][M])”。從形參中可知xx數(shù)組是整型數(shù)組,因此其輸出的控制應為整型,故把printf中的”%4f”改為″%4d″。
4[單選題] 若有定義“int a=5,b=7;”,則表達式a%=(b%2)運算后,a的值為( )。
A.0B.1C.11 D.3
參考答案:A
參考解析:本題考查“%”運算符的使用。運算符“%”是整數(shù)除法的余數(shù)。本題中表達式a%=(b%2)等價于a=a%(b%2)=5%(7%2)=5%1=0。
5[單選題] 設有定義:int a=0,b=1;,以下表達式中,會產(chǎn)生“短路”現(xiàn)象,致使變量b的值不變的是
A.a++&&b++B.a++||++bC.++a&&b++D.+a ||++b
參考答案:A
參考解析:運算符“++”放在變量前面時,表示將變量+1,再參與其他操作,a++&&b++時,由于a值是0直接判定與運算結果為0,忽視b++的值。因此b值不發(fā)生改變,答案為A選項。
相關推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |