


下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、計(jì)算機(jī)等級C語言上機(jī)考試改錯題分類總結(jié)為錯題總的出錯分為兩大類:語法出錯和邏輯出錯,此類題目是比較簡單的題型,因此也是最容易把握的知識點(diǎn)。注意:錯誤都是出現(xiàn)在/*found*/下面的這一行。只是下面的這一行,其他行都沒有錯誤。不能修改其他行。做題方法:1. 首先拿到題目,先將題目詳細(xì)看看,看清題目對做題時很有幫助的,特別是一些邏輯性較強(qiáng)的題目很有用。有的同學(xué)可能會覺得題目太難了不想去讀,其實(shí)在做改錯題目時即便你不會也能把題目做對。2. 按照以下的步驟解決題目中的錯誤的內(nèi)容,對應(yīng)著修改。修改完之后保存即可。一、語法錯誤1. 關(guān)鍵字出錯:在二級C語言考試中僅僅考查學(xué)生對基本的關(guān)鍵字掌握情況,比如:
2、整型就是int不是Int,知識點(diǎn)簡單。2. 格式出錯:在考試中主要考查學(xué)生細(xì)心的程度,最喜歡考簡單的知識點(diǎn)。(1) 少分號:考查的知識點(diǎn):分號是語句結(jié)束的標(biāo)志。(2) for語句的格式:for(;)中間用分號隔開不是用逗號隔開。(3) if語句的格式:if(表達(dá)式),if后面必須加上小括號。(4) 命令行格式出錯:如include命令少了#,正確的形式應(yīng)該是#include“stdio.h”;常用函數(shù)格式:A.函數(shù)名后面一定是花括號,不能是方括號,方括號只有在數(shù)組下標(biāo)中用到。B.要同時定義兩種以上不同的數(shù)據(jù)類型的時候必須在不同類型的數(shù)據(jù)中間加上分號。C.scanf(“d”,aij);應(yīng)該改為s
3、canf("d",&aij)。考查scanf輸入函數(shù)的格式。(5) 數(shù)組:A.數(shù)組下標(biāo)引用時候只能用反括號。B.二維數(shù)組中的列下標(biāo)不能省略。(6) 常用符號出錯:A.C語言中大丁等丁符號是“>=”,但是在考試的時候可能出現(xiàn)將它寫為“=>”B.當(dāng)題目中需要比較某個字符是否是大寫字母或是小寫字母、數(shù)字時,必須將“與”、“或”、第1頁共5頁“非”記住。判斷某個字符是否是大寫字母:charch;if(ch>='A'&&ch<='Z')printf("c”,ch);判斷某個字符是否是小寫字母:c
4、harch;if(ch>='a'&&ch<='z')printf(“c”,ch);判斷某個字符是否是數(shù)字:charch;if(ch>='0'&&ch<='9')printf(“c”,ch);判斷某個數(shù)字是否能同時被5和7整除:inti=35;if(i%5=0&&i%7=0)printf("d”,i);判斷某個數(shù)字是否能被5或7整除:inti=35;if(i%5=0|i%7=0)printf("d”,i);判斷某個數(shù)字是否是偶數(shù)或奇數(shù):int
5、i=35;if(i%2=0)printf("d是一個偶數(shù)”,i);elseprintf(“d是一個奇數(shù)”,i);:、邏輯錯誤1. 使用了沒有定義過的變量:這種題目可以通過編譯查找出出錯的地方并改之。(1) 0(零)和o(字母歐)的區(qū)別:(2) P(大)和p(小)的區(qū)別:(3) 普通變量大小寫的區(qū)別:A.有的變量在定義的時候是小寫但是在使用的時候是大寫,或是在定義的時候是大寫在使用的時候卻是小寫。B.大小寫沒有出錯,程序中直接使用了沒有定義過的變量,要求學(xué)生更加細(xì)心的讀題目。2. 運(yùn)算符號出錯:(1) C語言中除號是“/”不是“”(2) 賦值號(=)和等號(=)混淆,記住在if語句中出
6、現(xiàn)賦值號(=)一般是講它改為等號(=)。3. 表達(dá)式的取值范圍出錯:當(dāng)遇到計(jì)算表達(dá)式的累加或是累減時,一定用到循環(huán)來完成相應(yīng)的操作。例如:要求計(jì)算t=1-1/2*2-1/3*3-.-1/m*m這個表達(dá)式,在這個題目中第一空有這樣的for語句:for(i=2;i<m;i+)y-=1/(i*i);從題目中不難發(fā)現(xiàn)i是一個變量,它的取值范圍從整數(shù)2開始到m-1結(jié)束,最終計(jì)算的結(jié)果為y=1-1/2*2-1/3*3-.-1/(m-1)*(m-1)和題目要求的不符,因此將i<m改為i<=m。做這計(jì)算機(jī)等級C語言上機(jī)考試改錯題分類總結(jié)樣的題目看兩點(diǎn):一看題目中的表達(dá)式,二看for語句中變量
7、的取值范圍。4. C語言中的除法運(yùn)算:這個考點(diǎn)同樣考查表達(dá)式的相關(guān)知識。例如:要求計(jì)算t=1-1/2*2-1/3*3-.-1/m*m這個表達(dá)式,在這個題目中第一空有這樣的for語句:for(i=2;i<m;i+)y-=1/(i*i);剛才我們將了表達(dá)式的范圍,現(xiàn)在我們考慮y-=1/(i*i);是否正確?賦值號左邊問題不大,我們看看右邊1/(i*i),其中i是整數(shù),那么i*i也是整數(shù),在C語言中1除以比它大的數(shù)時值為零。這樣和題目的要求就不相符。記?。?/2的值為零,只有1.0/2或是1.0/2.0的值為0.5。5. 找最大值和排序問題:遇到這種題目在改錯題中最容易考查的是大丁(>)
8、、小丁(<)等符號的變化,當(dāng)你查找出錯的地方?jīng)]有語法錯誤,也沒有使用了未定義的變量時,記住這個口訣:將大丁改為小丁,將小丁改為大?。?. 函數(shù)的返回值及其參數(shù):重點(diǎn)intfun(intx,inty)main()if(x>y)returnx;inta,b,c;elsereturny;scanf(“d%d”,&a,&b);c=fun(a,b);printf(“最大值為:%d”,c);函數(shù)的返回類型:在上面的例子中fun函數(shù)的返回值是int,如果將int改為double,很明顯是錯誤的。從兩個地方來看,首先returnx;中x的類型必須和fun函數(shù)中的返回值相同,x是整型
9、。其次c=fun(a,b);中fun函數(shù)將一個返回值賦值給了變量C,說明函數(shù)返回的值一定是整型。記?。汉瘮?shù)調(diào)用、函數(shù)的返回值和ruturn中數(shù)據(jù)類型必須一致!(1) return后面的表達(dá)式及其類型:函數(shù)傳遞的參數(shù):intfun(int*x,int*y)main()(if(*x>*y)return*x;inta,b,c;elsereturn*y;scanf(“d%d",&a,&b);c=fun(&a,&b);printf(“最大值為:%d”,c);一定注意:傳遞的是值還是地址。比較上面兩個例子大家很容易區(qū)別傳遞的是值還是地址,第一個例子調(diào)用函數(shù)的
10、時候傳遞的是值,因此在fun函數(shù)的形參中x和y僅僅是普通的變量,而第二個例子中調(diào)用函數(shù)的時候傳遞的是地址,因此在fun函數(shù)的形參中x和y就是兩個指針變量。5(4) 指針的使用:intfun(int*x,int*y)(if(*x>*y)return*x;elsereturn*y;在此例中fun函數(shù)的形參是x和y,它們的類型是整型的指針,那么在fun函數(shù)的函數(shù)體中使用到x和y的值時一定要區(qū)分:x>y比較的是x和y所存變量地址的大小,*x>*y才是比較值的大小。如果存在*x=x+y;的類似情況一定是錯誤的,必須要將賦值號的左右兩邊的類型變?yōu)橐恢隆?. 數(shù)組:數(shù)組下標(biāo)的初始值:數(shù)組下
11、標(biāo)從零開始,到長度減一結(jié)束。考試技巧:當(dāng)出錯行在定義部分時,先檢查該定義語句有沒有語法錯誤,再看定義語句中的變量有沒有賦初始值,最后看變量賦的初始值有沒有正確。定義初始值有竅門,遇到累加時,用來存放累加和的變量一般賦值為零,遇到求階乘時,用來存放階乘值的變量一般賦值為一。(1) 普通變量的初始值:依照上面的技巧,我們同樣可以將它延伸到普通變量中。(2) 數(shù)組和字符申長度減一:當(dāng)使用數(shù)組中的元素時,最大值只能到數(shù)組長度減一。字符申以'0'作為字符申的結(jié)束標(biāo)志,因此取值最大也只能到字符申長度減一(3) 數(shù)組下標(biāo)往后走:當(dāng)題目要求將一個數(shù)組中的元素直接賦值或是以某種方式復(fù)制到另一個數(shù)
12、組中時,接受數(shù)據(jù)的數(shù)組中的下標(biāo)要自增。8. 特例:部分題目的解答很特殊,需要根據(jù)上下文中的內(nèi)容來解答題目;9. 素?cái)?shù)掌握求素?cái)?shù)的格式:判斷一個數(shù)是否是素?cái)?shù)的方法很多,的是只用掌握一種即可,首先掌握判斷一個素?cái)?shù)的方法;素?cái)?shù)的定義:1、是自然數(shù)2、只能被1和本身整除,2到本身減一之間的數(shù)不能整除該數(shù)。判斷m是否為素?cái)?shù)的格式:for(i=2;i<m;i+)if(m%i=0)break;if(m=i)表明m是素?cái)?shù);素?cái)?shù)只能被1和m,那么用2到m-1之間的數(shù)除m,如果有一個數(shù)能整除m,說明m不是一個素?cái)?shù),就不用再判斷后面的數(shù)值了,用一條break語句提前結(jié)束函數(shù);如果一直都不能整除,則說明m是一個素?cái)?shù)。那么用循環(huán)語句表示2到m-1之間的數(shù)的語句為:for(i=2;i<m;i+),如果在這個范圍內(nèi)的數(shù)值有一個數(shù)值能整除m,說明m不是一個素?cái)?shù),則可以提前結(jié)束循環(huán),break;那么結(jié)束之后這個循環(huán)中的變量I的值小丁m,如果m是一個素?cái)?shù)的時候,則一直都不執(zhí)行break語句;則循環(huán)語句結(jié)束的時候是在i=m的時候退出循環(huán)。結(jié)束循環(huán)以后,進(jìn)行i和
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)護(hù)工作服采購合同
- 維修保養(yǎng)合同范本:機(jī)械設(shè)施
- 高級顧問聘用合同
- 合伙協(xié)議合同簡化版范本
- 酒店投資合作合同范本
- 化學(xué)品運(yùn)輸服務(wù)承包合同
- 私人裝修合同協(xié)議書范本
- 企業(yè)設(shè)備抵押融資合同樣本
- 寵物臨時寄養(yǎng)服務(wù)合同范本
- 合同簽約盛宴:五十二條經(jīng)典致辭美句鑒賞
- 05PowerPoint 2016演示文稿軟件電子課件 計(jì)算機(jī)基礎(chǔ)知識(Windows 7+Office 2016)
- 妊娠期高血壓剖宮產(chǎn)術(shù)后護(hù)理教學(xué)查房
- 暫予監(jiān)外執(zhí)行
- 急性腎小球腎炎講稿
- 義務(wù)教育語文課程標(biāo)準(zhǔn)(2022)測試題帶答案(20套)
- 公共廁所工程報價明細(xì)表
- 股骨頸骨折ppt精品
- 2023年江蘇農(nóng)牧科技職業(yè)學(xué)院單招職業(yè)適應(yīng)性測試題庫及答案解析
- 毛澤東詩詞鑒賞分析
- 小學(xué)數(shù)學(xué)-納稅教學(xué)設(shè)計(jì)學(xué)情分析教材分析課后反思
評論
0/150
提交評論