2017年9月全國(guó)計(jì)算機(jī)考試二級(jí)c語(yǔ)言最新上機(jī)題庫(kù)(打印版)下載.doc_第1頁(yè)
2017年9月全國(guó)計(jì)算機(jī)考試二級(jí)c語(yǔ)言最新上機(jī)題庫(kù)(打印版)下載.doc_第2頁(yè)
2017年9月全國(guó)計(jì)算機(jī)考試二級(jí)c語(yǔ)言最新上機(jī)題庫(kù)(打印版)下載.doc_第3頁(yè)
2017年9月全國(guó)計(jì)算機(jī)考試二級(jí)c語(yǔ)言最新上機(jī)題庫(kù)(打印版)下載.doc_第4頁(yè)
2017年9月全國(guó)計(jì)算機(jī)考試二級(jí)c語(yǔ)言最新上機(jī)題庫(kù)(打印版)下載.doc_第5頁(yè)
已閱讀5頁(yè),還剩39頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

2012年9月全國(guó)計(jì)算機(jī)考試二級(jí)C語(yǔ)言最新上機(jī)題庫(kù)上機(jī)考試題庫(kù)(打印版)201291【參考答案】1AI2AJ3AJ【考點(diǎn)分析】本題考查數(shù)組的引用;IF語(yǔ)句條件表達(dá)式,如果表達(dá)式的值為真,則執(zhí)行下面的語(yǔ)句,如果該值為假,則不執(zhí)行下面的語(yǔ)句?!窘忸}思路】填空1FOR循環(huán)語(yǔ)句循環(huán)體中將數(shù)組元素AI賦值給變量MAX和變量MIN。填空2通過(guò)一次FOR循環(huán),找到數(shù)組中的最大值,IF語(yǔ)句的條件表達(dá)式是MAXAJ?!窘忸}寶典】求最大值或者最小值的題目,一般都是假設(shè)一個(gè)元素最大或最小,然后通過(guò)IF條件語(yǔ)句將該元素和其他元素進(jìn)行比較操作來(lái)完成?!緟⒖即鸢浮?去掉分號(hào)2CASE1CASE2RETURN1【考點(diǎn)分析】本題考查SWITCH語(yǔ)句,其一般形式為SWITCH表達(dá)式CASE常量表達(dá)式1語(yǔ)句1;CASE常量表達(dá)式2語(yǔ)句2;CASE常量表達(dá)式N語(yǔ)句N(xiāo);DEFAULT語(yǔ)句N(xiāo)1;其中SWITCH表達(dá)式后不應(yīng)該帶有“;“,同時(shí)CASE語(yǔ)句常量后應(yīng)該是“?!窘忸}思路】C語(yǔ)言中,SWITCH語(yǔ)句之后不能有分號(hào),并且CASE語(yǔ)句常量后應(yīng)用的是冒號(hào)?!緟⒖即鸢浮縊IDFUNSTRECADOUBLEAVE00INTIFORI0IAVEAAVEASI/求各門(mén)成績(jī)的總和/AAVE/N/求平均分/【考點(diǎn)分析】本題考查結(jié)構(gòu)體類(lèi)型成員運(yùn)算,指向結(jié)構(gòu)體類(lèi)型的指針變量作函數(shù)參數(shù)。【解題思路】本題考查自定義形參的相關(guān)知識(shí)點(diǎn),程序流程是這樣的在FUN函數(shù)中求出平均分后,返回到主函數(shù)時(shí)平均分也要帶回,所以只能定義一個(gè)指針類(lèi)型的形參STRECA,此時(shí),引用成員的方式可以使用指向運(yùn)算符,即AAVE和ASI,當(dāng)然也可用AAVE和ASI。2【參考答案】1CHAR2CHNEXTWHILEPNULLAVEAVEPSPPNEXTRETURNAVE/N【考點(diǎn)分析】本題考查鏈表的操作,對(duì)鏈表的主要操作有以下幾種建立鏈表、結(jié)構(gòu)的查找與輸出、插入一個(gè)結(jié)點(diǎn)、刪除一個(gè)結(jié)點(diǎn)?!窘忸}思路】題目要求求鏈表中數(shù)據(jù)域的平均值,應(yīng)首先使用循環(huán)語(yǔ)句遍歷鏈表,求各結(jié)點(diǎn)數(shù)據(jù)域中數(shù)值的和,再對(duì)和求平均分。遍歷鏈表時(shí)應(yīng)定義一個(gè)指向結(jié)點(diǎn)的指針P,因?yàn)椤邦^結(jié)點(diǎn)“中沒(méi)有數(shù)值,所以程序中讓P直接指向“頭結(jié)點(diǎn)“的下一個(gè)結(jié)點(diǎn),使用語(yǔ)句STRECPHNEXT。3【參考答案】1M2ASISJSJTO;【參考答案】INTFUNCHARSS,CHARCINTI0FORSS0SSIFSSCI/求出SS所指字符串中指定字符的個(gè)數(shù)/RETURNI【考點(diǎn)分析】本題考查FOR循環(huán)語(yǔ)句遍歷字符串,并通過(guò)IF條件語(yǔ)句,判斷字符串是否結(jié)束。【解題思路】從字符串中查找指定字符,需要使用循環(huán)判斷結(jié)構(gòu),循環(huán)語(yǔ)句用來(lái)遍歷字符串,循環(huán)條件為字符串沒(méi)有結(jié)束,即當(dāng)前字符不是0,判斷語(yǔ)句用來(lái)判斷當(dāng)前字符是否為指定字符。最后返回指定字符的個(gè)數(shù)。5【參考答案】1X2P3S【考點(diǎn)分析】本題考查鏈表的基本操作。了解鏈表的基本思想和相關(guān)算法,理解有關(guān)鏈表插入及刪除時(shí)指針移動(dòng)的先后順序問(wèn)題,注意指針的保存和歸位?!窘忸}思路】填空1將形參X賦值給結(jié)點(diǎn)的數(shù)據(jù)域。填空2和填空3將新的結(jié)點(diǎn)和原有鏈表中結(jié)點(diǎn)進(jìn)行比較?!緟⒖即鸢浮?LONGK12NUM/10【考點(diǎn)分析】本題考查數(shù)據(jù)類(lèi)型;保存乘積的變量初始化;除法運(yùn)算符?!窘忸}思路】1K用來(lái)存放各位數(shù)字的積,初始值應(yīng)為1。2這里是一個(gè)符號(hào)錯(cuò)誤,除號(hào)用“/“來(lái)表示?!窘忸}寶典】明確C語(yǔ)言中的算術(shù)運(yùn)算符加法運(yùn)算符“為雙目運(yùn)算符,即應(yīng)有兩個(gè)量參與加法運(yùn)算。減法運(yùn)算符“為雙目運(yùn)算符。但“也可作負(fù)值運(yùn)算符,此時(shí)為單目運(yùn)算,如X,5等具有左結(jié)合性。乘法運(yùn)算符“雙目運(yùn)算,具有左結(jié)合性。除法運(yùn)算符“/“雙目運(yùn)算,具有左結(jié)合性。參與運(yùn)算量均為整型時(shí),結(jié)果也為整型,舍去小數(shù)。如果運(yùn)算量中有一個(gè)是實(shí)型,則結(jié)果為雙精度實(shí)型。求余運(yùn)算符模運(yùn)算符“雙目運(yùn)算,具有左結(jié)合性。要求參與運(yùn)算的量均為整型。求余運(yùn)算的結(jié)果等于兩數(shù)相除后的余數(shù)?!緟⒖即鸢浮縁LOATFUNFLOATA,INTNINTIFLOATAV00FORI0I3T1【考點(diǎn)分析】本題考查基本算術(shù)運(yùn)算時(shí)的類(lèi)型轉(zhuǎn)換,其轉(zhuǎn)換規(guī)則為如果雙目運(yùn)算符兩邊運(yùn)算數(shù)的類(lèi)型一致,則所得結(jié)果的類(lèi)型與運(yùn)算數(shù)的類(lèi)型一致;如果雙目運(yùn)算符兩邊運(yùn)算的類(lèi)型不一致,系統(tǒng)將自動(dòng)進(jìn)行類(lèi)型轉(zhuǎn)換,使運(yùn)算符兩邊的類(lèi)型達(dá)到一致后,再進(jìn)行運(yùn)算規(guī)律見(jiàn)下表。運(yùn)算數(shù)1,運(yùn)算數(shù)2,轉(zhuǎn)換結(jié)果類(lèi)型短整型,大整型,短整型長(zhǎng)整型整型,大整型,整型長(zhǎng)整型字符型,整型,字符型整型有符號(hào)整型,無(wú)符號(hào)整型,有符號(hào)整型無(wú)符號(hào)整型整型,浮點(diǎn)型,整型浮點(diǎn)型WHILE循環(huán)語(yǔ)句,一般考查如何根據(jù)題意確定循環(huán)條件,以及如何通過(guò)循環(huán)變量變化實(shí)現(xiàn)循環(huán)操作。【解題思路】填空1變量X定義為DOUBLE類(lèi)型,而運(yùn)算符“/“后面是整型數(shù),所以給X賦值時(shí),需要注意數(shù)據(jù)類(lèi)型,此處不能將30寫(xiě)成3。填空2WHILE循環(huán)語(yǔ)句的循環(huán)條件,根據(jù)題意確定循環(huán)變量應(yīng)大于1E3,因此此處應(yīng)填“。填空3表達(dá)式的通項(xiàng)是2【解題寶典】本題填空1還可以運(yùn)用強(qiáng)制類(lèi)型轉(zhuǎn)換來(lái)實(shí)現(xiàn)。強(qiáng)制類(lèi)型轉(zhuǎn)換是通過(guò)類(lèi)型轉(zhuǎn)換運(yùn)算來(lái)實(shí)現(xiàn)的。其一般形式為“類(lèi)型說(shuō)明符表達(dá)式“。其功能是把表達(dá)式的運(yùn)算結(jié)果強(qiáng)制轉(zhuǎn)換成類(lèi)型說(shuō)明符所表示的類(lèi)型。例如FLOATA把A轉(zhuǎn)換為實(shí)型INTXY把XY的結(jié)果轉(zhuǎn)換為整型【參考答案】1DOUBLEFUNINTN2SSDOUBLEA/B【考點(diǎn)分析】本題考查函數(shù)定義,函數(shù)定義的一般形式為“類(lèi)型標(biāo)識(shí)符函數(shù)名形式參數(shù)表列“,其中類(lèi)型標(biāo)識(shí)符指明了本函數(shù)的類(lèi)型,函數(shù)的類(lèi)型實(shí)際上是函數(shù)返回值的類(lèi)型。【解題思路】1由語(yǔ)句“RETURNS“和變量S定義為DOUBLE數(shù)據(jù)類(lèi)型可知,該函數(shù)定義時(shí)其類(lèi)型標(biāo)識(shí)符為DOUBLE類(lèi)型。2注意數(shù)據(jù)類(lèi)型DOUBLE的書(shū)寫(xiě)格式?!窘忸}寶典】確定函數(shù)類(lèi)型標(biāo)識(shí)符在填空和改錯(cuò)題中經(jīng)常考到,如果函數(shù)沒(méi)有返回值,則函數(shù)定義為VOID型;如果函數(shù)有返回值,則函數(shù)類(lèi)型應(yīng)與返回值類(lèi)型一致;如果不定義函數(shù)類(lèi)型標(biāo)識(shí)符,則系統(tǒng)默認(rèn)為INT型?!緟⒖即鸢浮縄NTFUNINTAMINTI,J,MAXA00FORI0IEPS/當(dāng)某項(xiàng)大于精度要求時(shí),繼續(xù)求下一項(xiàng)/S1S1N/2N1/求多項(xiàng)式的每一項(xiàng)/SSS1/求和/NRETURN2S【考點(diǎn)分析】本題考查迭代法求給定多項(xiàng)式的值,迭代算法讓計(jì)算機(jī)對(duì)一組指令或一定步驟進(jìn)行重復(fù)執(zhí)行,在每次執(zhí)行這組指令或這些步驟時(shí),都從變量的原值推出它的一個(gè)新值。需要注意變量的數(shù)據(jù)類(lèi)型以及賦初值操作?!窘忸}思路】首先應(yīng)該定義DOUBLE類(lèi)型變量,并且賦初值,用來(lái)存放多項(xiàng)式的某一項(xiàng)和最后的總和。從第2項(xiàng)開(kāi)始以后的每一項(xiàng)都是其前面一項(xiàng)乘以N/28【參考答案】1SI293TN【考點(diǎn)分析】本題考查FOR循環(huán)語(yǔ)句;IF語(yǔ)句條件表達(dá)式;指針變量?!窘忸}思路】填空1通過(guò)FOR循環(huán)語(yǔ)句,來(lái)判斷是否到字符串結(jié)尾,變量I用來(lái)存放字符串?dāng)?shù)組下標(biāo),則應(yīng)填入SI。填空2題目要求判斷數(shù)字字符,所以此處應(yīng)填入9。填空3將數(shù)字字符個(gè)數(shù)存入變量T中,這里需注意變量T是指針變量?!窘忸}寶典】IF語(yǔ)句的條件表達(dá)式一般會(huì)考查三方面的內(nèi)容1條件判斷,即與、N得余數(shù)R,再用余數(shù)R去除原來(lái)的除數(shù),得到新的余數(shù),重復(fù)此過(guò)程直到余數(shù)為0時(shí)停止,此時(shí)的除數(shù)就是M和N的最大公約數(shù)。程序首先判斷參數(shù)A和B的大小,如果A字符數(shù)組2,函數(shù)值大于0正數(shù);若字符數(shù)組1字符數(shù)組2,函數(shù)值等于0;若字符數(shù)組12RETURNX1【考點(diǎn)分析】本題考查迭代法求方程的實(shí)根;DOWHILE循環(huán)語(yǔ)句,其形式為DO語(yǔ)句WHILE表達(dá)式;DOWHILE循環(huán)與WHILE循環(huán)的不同在于,它先執(zhí)行循環(huán)中的語(yǔ)句,然后再判斷表達(dá)式是否為真,如果為真則繼續(xù)循環(huán);如果為假,則終止循環(huán)。因此,DOWHILE循環(huán)至少要執(zhí)行一次循環(huán)語(yǔ)句。【解題思路】用迭代方法求方程的一個(gè)實(shí)根,題目已經(jīng)給出了算法,只要按照算法用合適的程序表達(dá),就可以解題了。14【參考答案】1A2BNAME3SCOREI【考點(diǎn)分析】本題考查結(jié)構(gòu)體數(shù)據(jù)類(lèi)型;STRCPY字符串拷貝函數(shù)?!窘忸}思路】填空1題目要求先將形參A所指結(jié)構(gòu)體變量中的數(shù)據(jù)賦給函數(shù)中的結(jié)構(gòu)體變量B,所以此處BA。填空2通過(guò)STRCPY函數(shù)修改B中的學(xué)生姓名,注意結(jié)構(gòu)變量成員的表示方法。填空3PRINTF函數(shù)輸出結(jié)果?!窘忸}寶典】結(jié)構(gòu)變量成員的一般形式是結(jié)構(gòu)變量名成員名例如STUDENT1NUM即第一個(gè)學(xué)生的學(xué)號(hào)STUDENT2SEX即第二個(gè)學(xué)生的性別【參考答案】1SJSI或SJSIJ2SJ0【考點(diǎn)分析】本題考查數(shù)組元素下標(biāo);字符串結(jié)束標(biāo)識(shí)0?!窘忸}思路】由循環(huán)條件IFSIC可知,如果字符串中的字符不是C,則將保留該字符到SJ位置,然后下標(biāo)J進(jìn)行加1操作。循環(huán)結(jié)束后要在新串的結(jié)尾加上0。【參考答案】VOIDFUNCHARAINTI0,N0CHARPPAWHILEP/判斷P是否是號(hào),并統(tǒng)計(jì)號(hào)的個(gè)數(shù)/NPWHILEP/將前導(dǎo)號(hào)后的字符傳遞給A/AIPIPWHILEN0AIINAI0【考點(diǎn)分析】本題考查移動(dòng)字符串中指定字符的位置,一般采用WHILE循環(huán)語(yǔ)句,通過(guò)指針型變量來(lái)完成?!窘忸}思路】函數(shù)FUN的功能將字符串中的前導(dǎo)號(hào)全部移到字符串的尾部。本題解題思路1定義一個(gè)指針并指向字符串的首地址;2利用循環(huán)語(yǔ)句找出字符串的前導(dǎo)號(hào)的個(gè)數(shù)N;3利用循環(huán)語(yǔ)句把剩余的字符拷貝到另一個(gè)字符串中;4在字符串的末尾接上N個(gè)號(hào)。15【參考答案】1FW2STR3STR【考點(diǎn)分析】本題考查函數(shù)定義以及文件指針;FPUTS函數(shù)的功能是向指定的文件寫(xiě)入一個(gè)字符串,其調(diào)用形式為FPUTS字符串,文件指針?!窘忸}思路】填空1定義函數(shù),函數(shù)的形參是一個(gè)文件類(lèi)型的指針。填空2此處考查FPUTS函數(shù)的形式,應(yīng)填入STR。填空3依據(jù)PRINTF函數(shù)的格式,輸出字符串內(nèi)容,即PRINTF“S“,STR;?!緟⒖即鸢浮?VOIDFUNLONGS,LONGT2S1S110【考點(diǎn)分析】函數(shù)定義,指針型變量;數(shù)值N和其各個(gè)位如何表示?!窘忸}思路】1主函數(shù)中調(diào)用函數(shù)的參數(shù)為地址,因此函數(shù)FUN的形式參數(shù)應(yīng)為指針類(lèi)型。2重新組合一個(gè)數(shù),從個(gè)位開(kāi)始,然后十位,依次類(lèi)推,因此每增加一位數(shù),原數(shù)值需乘以10,即S1S1【參考答案】VOIDFUNINTA,INTB,LONGCCA/10B1010A10100B/101000【考點(diǎn)分析】本題考查如何取出數(shù)值N的各個(gè)位;知道數(shù)值N的各個(gè)位,又如何表示該數(shù)值;指針型變量的使用?!窘忸}思路】本題中主要的問(wèn)題是如何取出A和B的個(gè)位數(shù)和十位數(shù),取出后如何表示成C中相應(yīng)的位數(shù)。由于A和B都是只有兩位的整數(shù),所以分別對(duì)它們除10可得到它們的十位數(shù),分別用10對(duì)它們求余可得到它們的個(gè)位數(shù)。得到后對(duì)應(yīng)乘以1000、100、10、1就可得到C的千位數(shù)、百位數(shù)、十位數(shù)和個(gè)位數(shù)。注意使用C時(shí)要進(jìn)行指針運(yùn)算。16【參考答案】112I3API或API【考點(diǎn)分析】條件運(yùn)算符組成條件表達(dá)式的一般形式“表達(dá)式1表達(dá)式2表達(dá)式3“。其求值規(guī)則為如果表達(dá)式1的值為真,則以表達(dá)式2的值作為條件表達(dá)式的值,否則以表達(dá)式3的值作為整個(gè)條件表達(dá)式的值?!窘忸}思路】填空1該處是判斷數(shù)組元素的個(gè)數(shù)是奇數(shù)還是偶數(shù),為奇數(shù)時(shí)要使當(dāng)前位置加1,以使P指向數(shù)組中間位置。填空2和填空3這里是一個(gè)比較常見(jiàn)的數(shù)組位置調(diào)換程序,應(yīng)填入I和API?!窘忸}寶典】變量交換算法如變量A、B互換,需借助第三個(gè)變量TEMP完成,即TEMPA;AB;BTEMP?!緟⒖即鸢浮?FLOATK;2IFAA【考點(diǎn)分析】本題考查函數(shù)定義,本題為有參函數(shù)定義。PRINTF函數(shù),其一般形式為“PRINTF格式控制字符串,輸出表列;“?!癉“表示按十進(jìn)制整型輸出;“LD“表示按十進(jìn)制長(zhǎng)整型輸出;“C“表示按字符型輸出等。非格式字符串在輸出時(shí)原樣輸出,起提示作用。【解題思路】1定義函數(shù)時(shí)形參的類(lèi)型要與調(diào)用函數(shù)中實(shí)參的類(lèi)型一致,主函數(shù)中FUN傳遞的是字符串S的首地址,所以此處形參應(yīng)為指針類(lèi)型。2根據(jù)PRINTF函數(shù)格式,很容易找到錯(cuò)誤之處?!緟⒖即鸢浮緾HARFUNCHARS,CHARTINTI,JFORI0SI0I/求字符串的長(zhǎng)度/FORJ0TJ0JIFI0【考點(diǎn)分析】本題考查函數(shù)定義,指針型變量作函數(shù)參數(shù);WHILE循環(huán)語(yǔ)句?!窘忸}思路】函數(shù)的形參類(lèi)型應(yīng)與實(shí)參類(lèi)型相同,主函數(shù)中函數(shù)FUN的調(diào)用方式說(shuō)明其參數(shù)應(yīng)為指針類(lèi)型,所以形參T應(yīng)定義為L(zhǎng)ONGT。WHILE循環(huán)的功能是,每循環(huán)一次就從S中的數(shù)上取出一位進(jìn)行運(yùn)算,直到取完為止,所以循環(huán)條件為S0。【參考答案】VOIDFUNSTRECAINTI,JSTRECTFORI1IAJ1TAJ;AJAJ1;AJ1AJ;選擇法FORI0;IAJPJ;IFPITAI;AIAP;APT;插入法FORI1;ITDOUBLEAV00N0FORI0ISWHILEHNULL/通過(guò)循環(huán)找到最高分?jǐn)?shù)/IFMAXSMAXHSHHNEXTRETURNMAX【考點(diǎn)分析】本題考查結(jié)構(gòu)體類(lèi)型;指針型變量;鏈表的相關(guān)知識(shí)?!窘忸}思路】本題使用循環(huán)語(yǔ)句遍歷鏈表中的每個(gè)結(jié)點(diǎn),用判斷語(yǔ)句比較結(jié)點(diǎn)數(shù)據(jù)的域大小。注意,H是一個(gè)指向結(jié)構(gòu)體類(lèi)型的指針變量,若要引用它所指向的結(jié)構(gòu)體中的某一成員時(shí),要用指向運(yùn)算符“。26【參考答案】102J3J【考點(diǎn)分析】本題考查數(shù)組元素的引用;FOR循環(huán)語(yǔ)句。【解題思路】填空1NN矩陣,第一列元素表示為T(mén)0NJ1,第一行元素表示為T(mén)J0,將第一列賦值給第一行,因此填入0。填空2FOR循環(huán)語(yǔ)句中,變量J的變化范圍為從N1遞減到0,因此J做自減1操作。填空3最后將臨時(shí)數(shù)組R中的元素賦值給矩陣最后一列。【解題寶典】二維數(shù)組周邊元素的表示方法,通過(guò)設(shè)定數(shù)組下標(biāo)來(lái)完成。我們舉個(gè)簡(jiǎn)單的例子來(lái)說(shuō)明,如二維數(shù)組A33,我們列出它的所有數(shù)組元素A00,A01,A02A10,A11,A12A20,A21,A22那么其周邊元素有A00,A01,A02,A10,A12,A20,A21,A22。如果我們把A33改為AIJ,就不難表示出該數(shù)組的周邊元素A00,A0IA0NI1A0N1A10,A1N1ANJ10,ANJ1N1AN10,AN11AN1NI1AN1N1【參考答案】1DOUBLEFDOUBLEX2RETURNS;【考點(diǎn)分析】本題考查函數(shù)定義,其一般形式為“類(lèi)型標(biāo)識(shí)符函數(shù)名形式參數(shù)列表“,其中類(lèi)型標(biāo)識(shí)符指明了本函數(shù)的類(lèi)型,函數(shù)的類(lèi)型實(shí)際上就是函數(shù)返回值的類(lèi)型?!窘忸}思路】該程序的流程是FUN程序?qū)N項(xiàng)循環(huán)累加,F(xiàn)UN程序采用條件選擇語(yǔ)句計(jì)算函數(shù)FX的值。第一處錯(cuò)誤在于未定義函數(shù)FDOUBLEX的類(lèi)型,因此返回值類(lèi)型為DOUBLE型,所以此處函數(shù)應(yīng)定義為DOUBLE。第二處錯(cuò)誤的語(yǔ)法錯(cuò)誤?!窘忸}寶典】我們?cè)谧龈腻e(cuò)題目時(shí)候,首先應(yīng)該檢查C語(yǔ)言語(yǔ)法是否有問(wèn)題,在很多題目中都有類(lèi)似的錯(cuò)誤?!緟⒖即鸢浮緿OUBLEFUNINTMINTIDOUBLES00FORI1ISCOREI3A【考點(diǎn)分析】本題考查函數(shù)定義;結(jié)構(gòu)變量成員函數(shù)的表示方法;函數(shù)返回值。【解題思路】填空1函數(shù)定義時(shí),類(lèi)型標(biāo)識(shí)符指明了本函數(shù)的類(lèi)型,我們前面已經(jīng)多次提到,函數(shù)的類(lèi)型實(shí)際上是函數(shù)返回值的類(lèi)型。該題中,用結(jié)構(gòu)指針變量作為函數(shù)類(lèi)型標(biāo)識(shí)符。填空2通過(guò)循環(huán)語(yǔ)句對(duì)指針A所指結(jié)構(gòu)體變量中的3門(mén)成績(jī)進(jìn)行修改,所以此處為ASCOREI。填空3通過(guò)RETURN語(yǔ)句將形參A返回給主調(diào)函數(shù)?!窘忸}寶典】結(jié)構(gòu)變量各個(gè)成員的表示方法結(jié)構(gòu)指針變量成員名;或結(jié)構(gòu)指針變量成員名【參考答案】1CHARFUNCHARSQM2RETURNSP;【考點(diǎn)分析】本題考查函數(shù)定義;RETURN語(yǔ)句;【解題思路】函數(shù)FUN的形參為字符串指針數(shù)組,每個(gè)元素指向一個(gè)長(zhǎng)度為M的字符串,要找出其中最長(zhǎng)的字符串,可先假設(shè)指針數(shù)組的第1個(gè)元素所指的字符串最長(zhǎng),之后對(duì)字符串指針數(shù)組進(jìn)行遍歷,若遇字符串長(zhǎng)度大于待定最長(zhǎng)字符串的長(zhǎng)度,則令該字符串為待定最長(zhǎng)字符串,如此循環(huán)直至指針數(shù)組末尾,即可得到最長(zhǎng)字符串的地址。1此處是函數(shù)定義錯(cuò)誤,根據(jù)返回值類(lèi)型可知該函數(shù)應(yīng)定義為字符型指針函數(shù)。2由FOR循環(huán)體可知,指針SP指向長(zhǎng)度最長(zhǎng)的字符串,因此應(yīng)返回SP?!緟⒖即鸢浮縑OIDFUNINTA,INTB,LONGCCA10B/1010A/10100B101000【考點(diǎn)分析】本題考查如何取出數(shù)值N的各個(gè)位;知道數(shù)值N的各個(gè)位,又如何表示該數(shù)值;指針型變量的使用?!窘忸}思路】本題的主要問(wèn)題如何取出A和B的個(gè)位數(shù)和十位數(shù),取出后如何表示成C中相應(yīng)的位數(shù)。由于A和B都是只有兩位的整數(shù),所以分別對(duì)它們除10可得到它們的十位數(shù)A/10,分別用10對(duì)它們求余可得到它們的個(gè)位數(shù)A10。得到后對(duì)應(yīng)乘以1000、100、10、1就可得到C的千位數(shù)、百位數(shù)、十位數(shù)和個(gè)位數(shù)。注意使用C時(shí)要進(jìn)行指針運(yùn)算。30【參考答案】1TN2I0IAMID【考點(diǎn)分析】本題考查折半查找算法;函數(shù)定義;IFELSE語(yǔ)句?!窘忸}思路】1FUNINTA,INTM函數(shù)的返回值為INT類(lèi)型,所以定義函數(shù)時(shí),函數(shù)的返回類(lèi)型不能是VOID,而是INT類(lèi)型。這里INT可以省略,若省略函數(shù)類(lèi)型標(biāo)識(shí)符,系統(tǒng)將默認(rèn)為INT型。ELSEIFMAMID中,關(guān)鍵字IF需要區(qū)別大小寫(xiě),大寫(xiě)是錯(cuò)誤的?!窘忸}寶典】折半查找算法,將數(shù)列按有序化遞增或遞減排列,查找過(guò)程中采用跳躍式方式查找,即先以有序數(shù)列的中點(diǎn)位置為比較對(duì)象,如果要找的元素值小于該中點(diǎn)元素,則將待查序列縮小為左半部分,否則為右半部分。通過(guò)一次比較,將查找區(qū)間縮小一半。【參考答案】VOIDFUNCHARA,CHARPCHARTAFORTNEXT。填空2IF判斷語(yǔ)句表明當(dāng)P等于什么時(shí)就要返回,因此只能當(dāng)P等于NULL時(shí)返回,不用做后面的鏈表的逆置了。填空3把Q的指針向后移動(dòng),才能實(shí)現(xiàn)將帶頭結(jié)點(diǎn)的單向鏈表逆置。因此本空填寫(xiě)R?!緟⒖即鸢浮?RT2應(yīng)填RT或R【解題思路】從字符串S中找出子字符串的方法是從第一個(gè)字符開(kāi)始,對(duì)字符串進(jìn)行遍歷,若S串的當(dāng)前字符等于T串的第一個(gè)字符,兩字符串的指針自動(dòng)加1,繼續(xù)比較下一個(gè)字符;若比較至字符串T的末尾,則跳出循環(huán);若S串的字符與T串的字符不對(duì)應(yīng)相同,則繼續(xù)對(duì)S串的下一個(gè)字符進(jìn)行處理?!緟⒖即鸢浮縑OIDFUNCHARAMN,CHARBINTI,J,K0FORI0INUM2TS/N【考點(diǎn)分析】本題考查WHILE循環(huán)語(yǔ)句;區(qū)別求余運(yùn)算和除法運(yùn)算/?!窘忸}思路】1函數(shù)FUN中WHILE語(yǔ)句的作用是,當(dāng)新的一項(xiàng)大于給定參數(shù)時(shí),循環(huán)累計(jì)計(jì)算S的值。而題目要求最后一項(xiàng)的絕對(duì)值小于給定參數(shù),因此循環(huán)條件應(yīng)當(dāng)是WHILEFABSTNUM。2變量T用來(lái)存放最后一項(xiàng)的值,因?yàn)槊恳豁?xiàng)均為1或1除以一個(gè)數(shù),所以此處應(yīng)使用除法運(yùn)算符“/“?!緟⒖即鸢浮縑OIDFUNCHARA,CHARB,INTNINTI,K0FORI0AI0IIFIN/將不是指定下標(biāo)的字符存入數(shù)組B中/BKAIBK0/在字符串最后加上結(jié)束標(biāo)識(shí)/【考點(diǎn)分析】本題考查刪除字符串中指定字符,我們一般采用保留非指定字符的方法?!窘忸}思路】本題要求刪除字符串中指定下標(biāo)的字符,即把非指定下標(biāo)的字符保留,所以IF語(yǔ)句條件表達(dá)式的內(nèi)容是IFIN。字符串最后不要忘記加上字符串結(jié)束標(biāo)識(shí)0。33【參考答案】(1)PNEXT2Q3PNEXT【解題思路】填空1從第2個(gè)WHILE循環(huán)可知,Q的初值應(yīng)該為P的NEXT,故此空應(yīng)該填寫(xiě)PNEXT。填空2第2個(gè)WHILE循環(huán)表示的是每次從鏈表剩下的樹(shù)中找出最小的數(shù),因此此空應(yīng)該以Q是否為空來(lái)判斷循環(huán)是否結(jié)束,所以此空應(yīng)該填寫(xiě)Q。填空3當(dāng)找到一個(gè)最小的數(shù)時(shí)P應(yīng)該向后移,因此此空應(yīng)該填寫(xiě)PNEXT?!緟⒖即鸢浮?WHILES或WHILE(S0)2S【解題思路】(1)通過(guò)WHILE語(yǔ)句可對(duì)字符串所有字符進(jìn)行遍歷,循環(huán)條件是對(duì)當(dāng)前字符進(jìn)行判斷,若當(dāng)前字符不是字符串結(jié)尾,則對(duì)其進(jìn)行其他操作。(2)因?yàn)樵撗h(huán)通過(guò)指針S的移動(dòng)遍歷字符串,所以每循環(huán)一次要使指針向后移動(dòng)一個(gè)位置,而不是將指針?biāo)傅脑丶??!緟⒖即鸢浮縑OIDFUNINTW,INTP,INTNINTX,J,CHFORX0X可知本空應(yīng)該填寫(xiě)NEXT。填空3本題要求將不帶頭結(jié)點(diǎn)的單向鏈表逆置,為了使Q的指針向后移,此空應(yīng)該填寫(xiě)R。【參考答案】1IFI2|SI20或IFI20|SI202TJ0或TJ0【解題思路】(1)根據(jù)題意,將字符串S中位于奇數(shù)位置的字符或ASCII碼值為偶數(shù)的字符,依次放入字符串T中,所以IF條件中要使用“或“運(yùn)算。(2)變量J控制字符串T的下標(biāo),所以是TJ?!緟⒖即鸢浮縑OIDFUNINTS10,INTB,INTN,INTMM,INTNNINTI,JFORJ0JAISMINAIS/找出最小值/FORI0I,函數(shù)ATOL的作用是將字符串P轉(zhuǎn)成長(zhǎng)整型數(shù),它是一個(gè)庫(kù)函數(shù)?!窘忸}寶典】要實(shí)現(xiàn)字符串轉(zhuǎn)整數(shù)操作,而且不允許使用相應(yīng)的字符串函數(shù),因此我們需要通過(guò)字符減去0來(lái)實(shí)現(xiàn),即P0就得到P這個(gè)字符的相應(yīng)數(shù)字。掌握以下語(yǔ)句WHILEP0NN10P0;P;43【參考答案】1N2N130【考點(diǎn)分析】本題考查FOR循環(huán)語(yǔ)句;如何表示NN矩陣中各個(gè)元素?!窘忸}思路】填空1因?yàn)槭荖N的矩陣,所以行列數(shù)是相同的。第一個(gè)FOR循環(huán)用來(lái)循環(huán)行,因此填入一個(gè)循環(huán)界限N。填空2此行語(yǔ)句將移出矩陣的元素暫存,移出矩陣的元素的列下標(biāo)為N1,因此填入N1。填空3此行語(yǔ)句將移出矩陣的元素放入最左邊,也就是第一列,第一列元素的列下標(biāo)為0,因此填入0?!緟⒖即鸢浮?SSDOUBLEN1/N2RETURNT【考點(diǎn)分析】本題考查變量數(shù)據(jù)類(lèi)型,根據(jù)題目要求需要進(jìn)行強(qiáng)制轉(zhuǎn)換;RETURN語(yǔ)句?!窘忸}思路】1在C語(yǔ)言中,整數(shù)除以整數(shù)得出的結(jié)果也是整數(shù),所以此處要轉(zhuǎn)換數(shù)據(jù)類(lèi)型。2觀察WHILE循環(huán),假如返回值是變量S的話,那么返回的是大于Q的值,題中所要返回的是小于Q的值,所以應(yīng)該返回變量T?!緟⒖即鸢浮縄NTFUNINTTINTF00,F11,FDOFF0F1F0F1F1FWHILEFACHARQAWHILEQN/如果K大于N,則使P的前部保留N個(gè)星號(hào),其后的字符依次存入數(shù)組A中/WHILEPAIPKNIPAI0/在字符串最后加上結(jié)束標(biāo)識(shí)位/【考點(diǎn)分析】本題考查循環(huán)判斷語(yǔ)句;字符串的操作?!窘忸}思路】字符串中前導(dǎo)號(hào)不能多于N個(gè),多余的刪除。首先需要通過(guò)WHILE循環(huán)統(tǒng)計(jì)字符串前導(dǎo)號(hào)的個(gè)數(shù),然后通過(guò)IF條件語(yǔ)句完成前導(dǎo)號(hào)的個(gè)數(shù)和N的比較,如果前導(dǎo)號(hào)多于N個(gè),需要把N個(gè)號(hào)和其余字符重新保留。51【參考答案】1STU2STDINUM3STDI【考點(diǎn)分析】本題考查IF條件表達(dá)式;比較字符串函數(shù)STRCMP;指針變量的使用;函數(shù)定義及函數(shù)返回值。STRCMP函數(shù)用來(lái)比較兩個(gè)字符數(shù)組的大小,其格式為STRCMP字符數(shù)組1,字符數(shù)組2。若字符數(shù)組1字符數(shù)組2,函數(shù)值大于0正數(shù);若字符數(shù)組1字符數(shù)組2,函數(shù)值等于0;若字符數(shù)組1SSS“等價(jià)于“SS“。53【參考答案】112SI或IS304SFUNK【考點(diǎn)分析】本題考查累加或累乘操作,當(dāng)變量作為累加、累乘器時(shí),需要對(duì)其初始化,一般累加器初始化為0,累乘器初始化為1,做題時(shí)應(yīng)根據(jù)題目要求靈活運(yùn)用;變量初始化,在使用變量之前,首先要對(duì)變量進(jìn)行初始化?!窘忸}思路】函數(shù)FUN的功能是計(jì)算N的階乘。首先定義一個(gè)LONG型累計(jì)變量S,并初始化為1,然后用一個(gè)FOR循環(huán)從1循環(huán)到N,累乘給S,循環(huán)結(jié)束時(shí)S的值即為N的階乘。主函數(shù)中也定義了一個(gè)累計(jì)變量S,通過(guò)FOR循環(huán),累加從0N的所有數(shù)的階乘。【解題寶典】在C語(yǔ)言中,可以用以下幾種方式調(diào)用函數(shù)1函數(shù)表達(dá)式函數(shù)作為表達(dá)式中的一項(xiàng)出現(xiàn)在表達(dá)式中,以函數(shù)返回值參與表達(dá)式的運(yùn)算。這種方式要求函數(shù)是有返回值的。例如ZMAXX,Y是一個(gè)賦值表達(dá)式,把MAX的返回值賦予變量Z。2函數(shù)語(yǔ)句函數(shù)調(diào)用的一般形式加上分號(hào)即構(gòu)成函數(shù)語(yǔ)句。例如PRINTF“D“,A;MAXX,Y;都是以函數(shù)語(yǔ)句的方式調(diào)用函數(shù)。3函數(shù)實(shí)參函數(shù)作為另一個(gè)函數(shù)調(diào)用的實(shí)際參數(shù)出現(xiàn)。這種情況是把該函數(shù)的返回值作為實(shí)參進(jìn)行傳送,因此要求該函數(shù)必須是有返回值的。例如PRINTF“D“,MAXX,Y即把MAX函數(shù)的返回值又作為PRINTF函數(shù)的實(shí)參來(lái)使用。【參考答案】IFK1【考點(diǎn)分析】本題考查IF語(yǔ)句,考生需要根據(jù)題意來(lái)確定IF語(yǔ)句是否是正確的,IF條件語(yǔ)句經(jīng)???,考生需掌握?!窘忸}思路】語(yǔ)法錯(cuò)誤,IF條件表達(dá)式應(yīng)寫(xiě)在小括號(hào)內(nèi)。【參考答案】VOIDFUNINTAN,INTNINTI,JFORI0I1【考點(diǎn)分析】本題考查IF語(yǔ)句,考生需要根據(jù)題意來(lái)確定IF語(yǔ)句是否是正確的,IF條件語(yǔ)句經(jīng)常考,考生需掌握?!窘忸}思路】語(yǔ)法錯(cuò)誤,IF條件表達(dá)式應(yīng)寫(xiě)在小括號(hào)內(nèi)?!緟⒖即鸢浮縑OIDFUNINTAN,INTNINTI,JFORI0IMAX/如果各列中的元素比最大值大,則將這個(gè)更大的元素看作當(dāng)前該列中最大元素/MAXTTIJPPJMAX/將各列的最大值依次放入PP數(shù)組中/【解題思路】本題中函數(shù)的功能是求出二維數(shù)組中每列的最大元素。首先,假設(shè)各列中的第一個(gè)元素最大,然后利用行標(biāo)值的移動(dòng)來(lái)依次取得各列中其他元素的值,并與假設(shè)的最大值進(jìn)行比較,如果遇到更大的,則把這個(gè)更大的元素看作當(dāng)前該列中最大的元素,繼續(xù)與該列中其他元素進(jìn)行比較。56【參考答案】112S03I10【考點(diǎn)分析】本題考查變量賦初值操作;WHILE循環(huán)語(yǔ)句;已知數(shù)N的各個(gè)位數(shù)值如何表示數(shù)N?!窘忸}思路】填空1變量I用來(lái)控制被取出的偶數(shù)在新數(shù)中的位置,應(yīng)賦初值1。填空2WHILE語(yǔ)句的循環(huán)條件是S0。填空3變量I用來(lái)標(biāo)識(shí)個(gè)位、百位和千位等。【參考答案】1INTFUNINTN,INTXXM2PRINTF“D“,XXIJ【考點(diǎn)分析】本題考查函數(shù)定義形式;PRINTF格式輸出函數(shù),注意其函數(shù)形式。【解題思路】1當(dāng)用數(shù)組作為函數(shù)的形參時(shí),可以不定義數(shù)組的行數(shù),但一定要定義數(shù)組的列數(shù)。2該處錯(cuò)誤比較隱蔽,一般C語(yǔ)言上機(jī)考試很少涉及PRINTF函數(shù)中的錯(cuò)誤,此處只要明白“D“和“F“的區(qū)別就可以了。格式字符D表示以帶符號(hào)的十進(jìn)制形式輸出整數(shù)正整數(shù)不輸出符號(hào);格式字符F表示以小數(shù)形式輸出單精度、雙精度數(shù)據(jù),隱含輸出6位小數(shù)?!窘忸}寶典】PRINTF函數(shù),其一般形式為PRINTF“格式控制字符串“,輸出表列,其中格式控制字符串用于指定輸出格式。格式控制字符串是以開(kāi)頭的字符串,在后面跟有各種格式字符,以說(shuō)明輸出數(shù)據(jù)的類(lèi)型、形式、長(zhǎng)度、小數(shù)位數(shù)等。例如“D“表示按十進(jìn)制整型輸出;“LD“表示按十進(jìn)制長(zhǎng)整型輸出;“F“表示以小數(shù)形式輸出;“C“表示按字符型輸出等。非格式字符串在輸出時(shí)原樣輸出,在顯示中起提示作用。【參考答案】VOIDFUNINTA,INTB,LONGC/B10獲取B的個(gè)位,A/10獲取A的十位,A10獲取A的個(gè)位,B/10獲取B的十位/CB/10A1010B10100A/101000【考點(diǎn)分析】本題考查如何取出數(shù)N的各個(gè)位數(shù)值;知道數(shù)N的各個(gè)位數(shù)值,又如何表示該數(shù);指針型變量的使用。【解題思路】本題中主要的問(wèn)題是如何取出A和B的個(gè)位數(shù)和十位數(shù),取出后如何表示成C中相應(yīng)的位數(shù)。由于A和B都是只有兩位的整數(shù),所以分別對(duì)它們除10可得到它們的十位數(shù),分別用10對(duì)它們求余可得到它們的個(gè)位數(shù)。得到后對(duì)應(yīng)乘以1000、100、10、1,就可得到C的千位數(shù)、百位數(shù)、十位數(shù)和個(gè)位數(shù)。注意使用C時(shí)要進(jìn)行指針運(yùn)算。57【參考答案】1AI22AJ3J【考點(diǎn)分析】本題考查IF語(yǔ)句條件表達(dá)式;數(shù)組變量賦值;函數(shù)返回值?!窘忸}思路】填空1IF語(yǔ)句條件表達(dá)式,判斷數(shù)組元素是否為偶數(shù),對(duì)2求余,結(jié)果為0,則為偶數(shù);結(jié)果為1則為奇數(shù)。填空2如果該數(shù)組元素是偶數(shù),則將其值保存。填空3最后按要求將偶數(shù)個(gè)數(shù)通過(guò)RETURN語(yǔ)句返回給MAIN函數(shù)。【參考答案】1INTFUNINTN2IFN1【考點(diǎn)分析】本題考查有參函數(shù)定義;IF語(yǔ)句條件表達(dá)式中與的區(qū)別。【解題思路】1定義有參函數(shù)時(shí),形參變量要分別定義其類(lèi)型,根據(jù)主函數(shù)中的調(diào)用函數(shù)可知,此處形參變量應(yīng)定義為INT型。2IF條件判斷表達(dá)式中,N1是賦值表達(dá)式,表達(dá)式的值永遠(yuǎn)為真,不能形成判斷條件,應(yīng)將N1改為N1。【參考答案】VOIDFUNCHARA,INTNINTI0,K0CHARP,TPTA/將指針移動(dòng)到字符串末尾/WHILETTT/從后往前如果是則使K,找到最后一個(gè)所在的位置,并記錄的個(gè)數(shù)/WHILET/指針T指向前一個(gè),同時(shí)標(biāo)量K增加一/KTIFKNWHILEPFORI0ILRETURNSUM【考點(diǎn)分析】本題考查多項(xiàng)式的計(jì)算;變量數(shù)據(jù)類(lèi)型及初始化;DOWHILE循環(huán)語(yǔ)句,注意循環(huán)條件;多項(xiàng)式的求和,通項(xiàng)的確定?!窘忸}思路】題要求計(jì)算并輸出當(dāng)XLE6。64【參考答案】110213I【考點(diǎn)分析】本題考查累加、累乘;復(fù)合賦值運(yùn)算;變量賦初值;FOR循環(huán)條件?!窘忸}思路】填空1本題要求給DOUBLE型變量T賦初值,從FOR循環(huán)中我們知道,T用來(lái)存放累乘的結(jié)果,因此T的初值因該為1。填空2考查FOR循環(huán)變量的范圍,注意本題要求計(jì)算FX的前N項(xiàng),即計(jì)算1XX2,2XN1,N1,所以循環(huán)變量I應(yīng)從1遞增至N1,因此此空應(yīng)填1。填空3T用來(lái)存放每次循環(huán)增量,分析公式可知,后一項(xiàng)總是在前一項(xiàng)的基礎(chǔ)上乘以一個(gè)X,I,因此此空應(yīng)填I(lǐng)。【參考答案】1KI2BK10【考點(diǎn)分析】本題考查求余運(yùn)算符“。【解題思路】1I是當(dāng)前要被判斷的數(shù),因?yàn)镮是循環(huán)變量,所以將I的值賦給K再進(jìn)行運(yùn)算。2B是存放十位上的數(shù),但前面已經(jīng)除以了一個(gè)10,即原數(shù)的十位已經(jīng)變成了個(gè)位,所以這里用求余就可以了。【參考答案】DOUBLEFUNDOUBLEX10DOUBLEX100,S00INTIFORI0ISAIS/將當(dāng)前值保存到S中/SAI【解題思路】找出結(jié)構(gòu)體數(shù)組元素中的最小值。先認(rèn)為第1個(gè)值最小,即SA0;,如果在循環(huán)的過(guò)程中發(fā)現(xiàn)比第1個(gè)值更小的,就將指針S指向該元素,直到找到最小元素。另外,本題還涉及結(jié)構(gòu)體中的指向運(yùn)算符,請(qǐng)考生注意。73【參考答案】1AV2I3XJ【解題思路】填空1從原程序中可以看出AV代表的是平均值,而S/N表示的就是平均值,因此本空應(yīng)該填A(yù)V。填空2IF語(yǔ)句來(lái)判斷找最接近平均值的數(shù),因而此空應(yīng)該填I(lǐng)。填空3題目要求將小于平均值且最接近平均值的數(shù)作為函數(shù)返回,而J表達(dá)的是最接近平均值的數(shù)在數(shù)組中的下標(biāo),因而本空應(yīng)該填寫(xiě)XJ。【參考答案】1FLOATFUNINTN2FORI2IAV表達(dá)的是當(dāng)X數(shù)組中的數(shù)大于平均值時(shí),應(yīng)該把這些大于平均值的數(shù)放在Y數(shù)組的前半部分,因而此空應(yīng)該填YJ。填空3此空表明當(dāng)XI不等于什么時(shí),XI中的數(shù)要賦值給Y數(shù)組,由題意可知此空只能填寫(xiě)1?!緟⒖即鸢浮?FORISTRLENT1II或FORISTRLENT1I0I2IFTJTJ1【解題思路】1本題是利用選擇法對(duì)數(shù)組元素進(jìn)行比較排序。所謂選擇法,是依次用當(dāng)前取得的元素和其后面的元素進(jìn)行比較,在第一個(gè)元素和其后面的元素順次比較時(shí),可以借助中間變量來(lái)對(duì)兩個(gè)數(shù)進(jìn)行交換,要保證第一個(gè)元素始終存放數(shù)組中的最大數(shù),以后依次挑選出次大數(shù),這樣最終的數(shù)組就是有序的。STRLEN函數(shù)所求得的字符串長(zhǎng)度包括字符串結(jié)束符,所以要減1。2這里是一個(gè)分析邏輯錯(cuò)誤,題中要求按升序排序,所以應(yīng)改為IFTJTJ1?!緟⒖即鸢浮緿OUBLEFUNINTWNINTI,J,K0DOUBLEAV00FORI0II,表示在上面IFIJ0沒(méi)有成功,所以會(huì)循環(huán)執(zhí)行FORJ2;JI,這樣可以知道該數(shù)字I就是素?cái)?shù)。【參考答案】1INTI,J0,K,SUM2IFSUM423RETURNJ【解題思路】1變量J用于控制數(shù)組下標(biāo),使用前應(yīng)初始化為0。2這里混淆了“與“的區(qū)別,“是比較運(yùn)算符,“是賦值運(yùn)算符。3因?yàn)閿?shù)組的下標(biāo)值是從0開(kāi)始的,所以要返回?cái)?shù)組元素的個(gè)數(shù)時(shí)應(yīng)將下標(biāo)值加1?!緟⒖即鸢浮緿OUBLEFUNINTNINTIDOUBLES00FORI1IDATARANDM13RETURNH【解題思路】1進(jìn)行循環(huán)操作前應(yīng)初始化指針P,使其指向鏈表S。2因?yàn)榻Y(jié)點(diǎn)數(shù)據(jù)域的取值范圍為0M1,所以此處應(yīng)改為SDATARANDM1。3最后要將鏈表的頭指針?lè)祷亟o主函數(shù)?!緟⒖即鸢浮緿OUBLEFUNINTNINTI;DOUBLESUM00,TMP10/定義SUM、TMP為雙精度型,并給其賦初值/IFN100PRINTF“INPUTNN1RETURNS【解題思路】本題考查素?cái)?shù)的判定方法及求平方根函數(shù)SQRT的使用。首先確定了N的范圍,然后確定循環(huán)條件,最后根據(jù)素?cái)?shù)的判定方法確定條件語(yǔ)句。80【參考答案】1“R“23FWRITE【解題思路】填空1題目中要求從形參FILENAME所指的文件中讀入學(xué)生的數(shù)據(jù),以此可以看出本空應(yīng)該填寫(xiě)“R“。填空2此處的IF語(yǔ)句是比較學(xué)號(hào)的大小,如果學(xué)號(hào)大就和學(xué)號(hào)小的換位,以此本空填寫(xiě)。填空3題目要求所有的學(xué)生數(shù)據(jù)均以二進(jìn)制方式輸出到文件中,因此本空填寫(xiě)FWRITE?!緟⒖即鸢浮?INTFUNCHARSTR,CHARSUBSTR2FORI0STRII【解題思路】從字符串S中找出子字符串的方法是從第1個(gè)字符開(kāi)始,對(duì)字符串進(jìn)行遍歷,若S串的當(dāng)前字符等于T串的第1個(gè)字符,兩個(gè)字符串的指針自動(dòng)加1,繼續(xù)比較下一個(gè)字符;若比較至字符串的末尾,則跳出循環(huán);若S串的字符和T串的字符不對(duì)應(yīng)相同,則繼續(xù)對(duì)S串的下一個(gè)字符進(jìn)行處理?!緟⒖即鸢浮緿OUBLEFUNINTNINTIDOUBLES00,S100FORI1I中定義即可直接使用。程序中用變量S來(lái)表示總的結(jié)果,每次循環(huán)加1次S1,即加1項(xiàng)。81【參考答案】1DOUBLE2F13F2【解題思路】填空1F代表一個(gè)指向函數(shù)的指針變量,而本題所被調(diào)用的F1、F2兩函數(shù)的返回值均為DOUBLE型,因而此空應(yīng)該填寫(xiě)DOUBLE。填空2因?yàn)樵诮o函數(shù)指針變量賦值時(shí),只需給出函數(shù)名而不必給出參數(shù),因而此空應(yīng)該填寫(xiě)F1。填空3同填空2,此空應(yīng)該填寫(xiě)F2。相關(guān)知識(shí)點(diǎn)1指向函數(shù)的指針變量的一般定義形式為數(shù)據(jù)類(lèi)型指針變量名;2函數(shù)的調(diào)用可以通過(guò)函數(shù)名調(diào)用,也可以通過(guò)函數(shù)指針調(diào)用。3在給函數(shù)指針變量賦值時(shí),只需給出函數(shù)名而不必給出參數(shù)。【參考答案】1WHILEPNULL2PPNEXT【解題思路】1判斷當(dāng)前指針P指向的結(jié)點(diǎn)是否存在,若存在則對(duì)該結(jié)點(diǎn)數(shù)據(jù)域進(jìn)行判斷操作。2判斷結(jié)束后指針指向下一個(gè)結(jié)點(diǎn)?!緟⒖即鸢浮縄NTFUNCHARSTRINTI,N0,FG1CHARPSTRWHILEP/將指針P置位到字符串末尾,并統(tǒng)計(jì)字符數(shù)/NPFORI0INEXT2PNEXT3【解題思路】填空1本題考查了指針變量P賦初值,使P指向鏈表的頭結(jié)點(diǎn)的下一個(gè)結(jié)點(diǎn),因此本空應(yīng)該填寫(xiě)HNEXT。填空2本空考查了Q的作用,Q代表P的下一個(gè)數(shù),因此次空應(yīng)該填寫(xiě)PNEXT。填空3IF判斷句是比較鏈表中相鄰兩個(gè)數(shù)的大小,如果PDATAQDATA就交換這兩個(gè)數(shù)的值,因而此空填寫(xiě)?!緟⒖即鸢浮?PHNEXT2PPNEXT【解題思路】1因?yàn)殒湵淼念^結(jié)點(diǎn)沒(méi)有數(shù)據(jù)域,所以對(duì)指針P進(jìn)行初始化時(shí),要將P指向頭結(jié)點(diǎn)的下一個(gè)結(jié)點(diǎn)。2通過(guò)指針P的移動(dòng)遍歷鏈表,因此此處應(yīng)改為PPNEXT;?!緟⒖即鸢浮緿OUBLEFUNDOUBLEX,INTNINTIDOUBLES10,S110FORI1I100B10/如果年齡大于等于100,B10自增1/ELSEBAI/10/如果年齡小于100,則將其分別統(tǒng)計(jì)到BAI/10中/【考點(diǎn)分析】本題考查數(shù)組元素賦初值;IF中間ELSE語(yǔ)句?!窘忸}思路】本題是一個(gè)分段函數(shù)的問(wèn)題,用兩個(gè)循環(huán)來(lái)完成。第1個(gè)循環(huán)的作用是使B中的所有元素值都為0。這個(gè)循環(huán)不能省略,因?yàn)槿粑磳?duì)B中的元素賦初值,則它們的值是不可預(yù)測(cè)的。第2個(gè)循環(huán)的作用是分別統(tǒng)計(jì)A中各年齡段的人數(shù)。當(dāng)AI100時(shí),按題意要將其統(tǒng)計(jì)到B10中。ELSE的作用是如果年齡小于100,則將其分別統(tǒng)計(jì)到BAI/10中。由運(yùn)算優(yōu)先級(jí)可知先進(jìn)行AI/10的運(yùn)算,所得結(jié)果作為B的下標(biāo)。若AI為09時(shí),AI/10的值為0,且09歲的人數(shù)正好要存入B0中。若AI為1019時(shí),AI/10的值為1,且1019歲的人數(shù)正好要存入B1中,依次類(lèi)推。84【參考答案】1STRI102STRICH【考點(diǎn)分析】本題考查字符串中字符的移動(dòng);FOR循環(huán)語(yǔ)句?!窘忸}思路】填空1FOR語(yǔ)句的循環(huán)條件是要移動(dòng)的字符不為0,即還沒(méi)有到字符串的結(jié)尾。填空2CH中保存了字符串的第一個(gè)字符,按題目要求移動(dòng)到字符串尾,而STRI是0的前一個(gè)字符,也就是字符串尾,故將CH賦給STRI。【參考答案】1IFT02ZEROCOUNT【考點(diǎn)分析】本題考查IF語(yǔ)句,區(qū)別條件表達(dá)式中和的區(qū)別;指針型變量的賦值?!窘忸}思路】1根據(jù)題意,此處應(yīng)該是條件語(yǔ)句,而不是賦值語(yǔ)句,并且在條件表達(dá)式中不會(huì)出現(xiàn)“號(hào)。2此處是指針賦值的一個(gè)簡(jiǎn)單錯(cuò)誤,對(duì)指針指向的元素進(jìn)行賦值應(yīng)使用號(hào)?!緟⒖即鸢浮縑OIDFUNCHARW,INTMINTI,JCHARTFORI1I10/每次循環(huán)使S的位數(shù)減1,同時(shí)N加1/TT/10N/求10的N1次方/FORJ1JIAAKI/將求出的素?cái)?shù)放入數(shù)組AA中/RETURNK/返回所求出的素?cái)?shù)的個(gè)數(shù)/【解題思路】本程序使用FOR循環(huán)語(yǔ)句查找小于LIM的所有數(shù),使用內(nèi)嵌的循環(huán)判斷語(yǔ)句判斷該數(shù)是否為素?cái)?shù)。在做這道題時(shí),需要重點(diǎn)掌握素?cái)?shù)的判定方法FORJ2;JMAX3I【解題思路】填空1根據(jù)主函數(shù)中的調(diào)用函數(shù)可知,該形參應(yīng)定義為指針類(lèi)型。填空2要求出最大元素,需要將當(dāng)前最大元素與當(dāng)前元素進(jìn)行比較。填空3將指針指向最大元素,即K存儲(chǔ)最大元素的下標(biāo)I?!緟⒖即鸢浮縄FI150【解題思路】題目要求每5個(gè)數(shù)求一次平均值,因?yàn)镮表示的是數(shù)組的下標(biāo),所以應(yīng)將I先加1后再對(duì)5求余,即I150?!緟⒖即鸢浮縑OIDFUNINTM,INTK,INTXXINTI,J,NFORIM1,N0NI/如果是素?cái)?shù),放入數(shù)組XX中/XXNI【解題思路】本題主要考查素?cái)?shù)的判定方法,如果一個(gè)數(shù)不能被除了1和其自身以外的數(shù)整除,則這個(gè)數(shù)為素?cái)?shù)。本程序使用循環(huán)語(yǔ)句控制需要判斷的數(shù),在循環(huán)體中判斷該數(shù)是否為素?cái)?shù),若是則存入數(shù)組XX中。93【參考答案】1I1,J02BBJI3RETURNJ【解題思路】填空1題目要求找出100以?xún)?nèi)的自然數(shù),而自然數(shù)是從1開(kāi)始的,所以I的初始值為1。變量J聲明時(shí)沒(méi)有初始化,所以在此處初始化為0,用來(lái)記錄滿足條件的自然數(shù)的個(gè)數(shù)。填空2將滿足條件的自然數(shù)存于數(shù)組BB中,下標(biāo)加1是為下一次存儲(chǔ)做準(zhǔn)備。填空3題目要求函數(shù)FUN返回?cái)?shù)組BB元素的個(gè)數(shù),所以函數(shù)返回J?!緟⒖即鸢浮?VOIDFUNLONGS,LONGT2S1S110【解題思路】1主函數(shù)中FUN函數(shù)的調(diào)用方式說(shuō)明函數(shù)FUN中參數(shù)T應(yīng)為指針類(lèi)型。2重新組合一個(gè)數(shù),從個(gè)位開(kāi)始,然后十位,依次類(lèi)推,顯然S1S1【參考答案】VOIDFUNCHARSSINTIFORI0SSI0I/將SS所指字符串中所有下標(biāo)為奇數(shù)位置的字母轉(zhuǎn)換為大寫(xiě)/IFI21IPAI0/在字符串最后加上結(jié)束標(biāo)志位/【解題思路】程序中WHILE循環(huán)的作用是計(jì)算出字符串中前導(dǎo)號(hào)的個(gè)數(shù);IF語(yǔ)句的作用是判斷號(hào)個(gè)數(shù)是否大于N,若是則只保留N個(gè)號(hào),即從字符串前部的倒數(shù)第N個(gè)號(hào)到最后一個(gè)字符都存入數(shù)組A中,最后在字符串末尾加上結(jié)束標(biāo)記符0。95【參考答案】1DISCAIYI2TT1000【考點(diǎn)分析】本題考查FOR循環(huán)語(yǔ)句;求余運(yùn)算和除法運(yùn)算。【解題思路】先用簡(jiǎn)單的思路理解一下該程序,如果當(dāng)XY1時(shí),程序的問(wèn)題就很簡(jiǎn)單了,所以FOR語(yǔ)句的循環(huán)條件應(yīng)該是FORI1;IY;I。另外,TT/1000;中的錯(cuò)誤是混淆了“/“和“的定義,這樣的細(xì)節(jié)問(wèn)題曾多次出現(xiàn),請(qǐng)考生務(wù)必引起注意?!緟⒖即鸢浮縑OIDFUNINTS10,INTB,INTN,INTMM,INTNNINTI,J,K0/遍歷整個(gè)的二維數(shù)組/FORI0IMMI/將二維數(shù)組S中的數(shù)據(jù)按行的順序依次放到一維數(shù)組B中/FORJ0JNNJBKSIJNK/通過(guò)指針?lè)祷卦貍€(gè)數(shù)/【考點(diǎn)分析】本題考查數(shù)組元素操作。【解題思路】本題可以用兩個(gè)循環(huán)來(lái)處理,由于是按行的順序取出,所以第1個(gè)循環(huán)用于控制行下標(biāo),第2個(gè)循環(huán)用于控制列下標(biāo);若改成按列的順序取出,則循環(huán)應(yīng)改成FORI0;INN;IFORJ0;JMM;JBKSJI;要注意SJI的下標(biāo),不能用SIJ。若按行取出則列標(biāo)變化較快,若按列取出則行標(biāo)變化較快,即循環(huán)嵌套時(shí),越在內(nèi)層的循環(huán),其循環(huán)變量變化就越快。98【參考答案】1BREAK2I或I或I1或II130【考點(diǎn)分析】本題考查BREAK語(yǔ)句,通常用在循環(huán)語(yǔ)句和開(kāi)關(guān)語(yǔ)句中。當(dāng)BREAK用于開(kāi)關(guān)語(yǔ)句SWITCH中時(shí),可使程序跳出SWITCH而執(zhí)行SWITCH以后的語(yǔ)句。當(dāng)BREAK語(yǔ)句用于FOR、WHILE、DOWHILE循環(huán)語(yǔ)句中時(shí),可使程序終止循環(huán)而執(zhí)行循環(huán)后面的語(yǔ)句,通常BREAK語(yǔ)句總是與

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論