


下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、計(jì)算機(jī)等級(jí)C語(yǔ)言上機(jī)考試改錯(cuò)題分類總結(jié)改錯(cuò)題總的出錯(cuò)分為兩大類:語(yǔ)法出錯(cuò)和邏輯出錯(cuò),此類題目是比較簡(jiǎn)單的題型,因此也是最容易把握的知識(shí)點(diǎn)。注意:錯(cuò)誤都是出現(xiàn)在 /*fo un d*/下面的這一行。只是下面的這一行,其他行都沒(méi)有錯(cuò)誤。不能修改其他行。做題方法:1. 首先拿到題目,先將題目詳細(xì)看看,看清題目對(duì)做題時(shí)很有幫助的,特別是一些邏輯性較強(qiáng)的題目很有用。有的同學(xué)可能會(huì)覺(jué)得題目太難了不想去讀,其實(shí)在做改錯(cuò)題目時(shí)即便你不會(huì)也能把題目做對(duì)。2 按照以下的步驟解決題目中的錯(cuò)誤的內(nèi)容,對(duì)應(yīng)著修改。修改完之后保存即可。一、語(yǔ)法錯(cuò)誤1. 關(guān)鍵字出錯(cuò):在二級(jí)C語(yǔ)言考試中僅僅考查學(xué)生對(duì)基本的關(guān)鍵字掌握情況,比
2、如:整型就是int不是Int ,知識(shí)點(diǎn)簡(jiǎn)單。2. 格式出錯(cuò):在考試中主要考查學(xué)生細(xì)心的程度,最喜歡考簡(jiǎn)單的知識(shí)點(diǎn)。(1) 少分號(hào):考查的知識(shí)點(diǎn):分號(hào)是語(yǔ)句結(jié)束的標(biāo)志。(2) for語(yǔ)句的格式:for(;)中間用分號(hào)隔開(kāi)不是用逗號(hào)隔開(kāi)。(3) if語(yǔ)句的格式:if(表達(dá)式),if后面必須加上小括號(hào)。(4) 命令行格式出錯(cuò):如in elude命令少了 #,正確的形式應(yīng)該是#in elude“” ;(5) 常用函數(shù)格式:A. 函數(shù)名后面一定是花括號(hào),不能是方括號(hào),方括號(hào)只有在數(shù)組下標(biāo)中用到。B. 要同時(shí)定義兩種以上不同的數(shù)據(jù)類型的時(shí)候必須在不同類型的數(shù)據(jù)中間加上分號(hào)。C. seanf( “%d ,a
3、ij);應(yīng)該改為 seanf( “ %d,&aij)。考查 seanf 輸入函數(shù)的格式。(6) 數(shù)組:A. 數(shù)組下標(biāo)引用時(shí)候只能用反括號(hào)。B. 二維數(shù)組中的列下標(biāo)不能省略。(7) 常用符號(hào)出錯(cuò):A. C語(yǔ)言中大于等于符號(hào)是“ >=”,但是在考試的時(shí)候可能出現(xiàn)將它寫為“=>”非”記住判斷某個(gè)字符是否是大寫字母:char ch;if(ch>=' A&&ch<='Z')printf(“ %c ,ch);判斷某個(gè)字符是否是小寫字母:char ch;if(ch>=' a'&&ch<=
4、9;z') printf(“C ,ch);判斷某個(gè)字符是否是數(shù)字:char ch;if(ch>= ' O' &&ch<=' 9' )printf( “%c ,ch);判斷某個(gè)數(shù)字是否能同時(shí)被 5和7整除:int i=35; if(i%5=0&&i%7=0)printf(“ %d ,i);判斷某個(gè)數(shù)字是否能被5或7整除:int i=35; if(i%5=0|i%7=0)printf(“%d ,i);判斷某個(gè)數(shù)字是否是偶數(shù)或奇數(shù):int i=35;if(i%2=0) printf(“ %d 是一個(gè)偶數(shù)” ,i);e
5、lse printf(“ %d 是一個(gè)奇數(shù)” ,i);二、邏輯錯(cuò)誤1. 使用了沒(méi)有定義過(guò)的變量:這種題目可以通過(guò)編譯查找出出錯(cuò)的地方并改之。(1)0 (零)和o (字母歐)的區(qū)別:(2)P (大)和p (?。┑膮^(qū)別:(3)普通變量大小寫的區(qū)別:A. 有的變量在定義的時(shí)候是小寫但是在使用的時(shí)候是大寫,或是在定義的時(shí)候是大寫在使用 的時(shí)候卻是小寫。B. 大小寫沒(méi)有出錯(cuò),程序中直接使用了沒(méi)有定義過(guò)的變量,要求學(xué)生更加細(xì)心的讀題目。2. 運(yùn)算符號(hào)出錯(cuò):(1)C語(yǔ)言中除號(hào)是“ /”不是“”(2) 賦值號(hào)(=)和等號(hào)(=)混淆,記住在if語(yǔ)句中出現(xiàn)賦值號(hào)(=)一般是講它改為等號(hào)(=)。3. 表達(dá)式的取值范
6、圍出錯(cuò):當(dāng)遇到計(jì)算表達(dá)式的累加或是累減時(shí),一定用到循環(huán)來(lái)完成相應(yīng)的操作。例如:要求計(jì)算t=1-1/2怙1/3*3-.-1/m*m 這個(gè)表達(dá)式,在這個(gè)題目中第一空有這樣的for 語(yǔ)句:for(i=2;i<m;i+)y-=1/(i*i);從題目中不難發(fā)現(xiàn)i是一個(gè)變量,它的取值范圍從整數(shù)2開(kāi)始到m-1結(jié)束,最終計(jì)算的結(jié)果為y=1-1/2*2-1/3*3- .-1/(m-1)*(m-1)和題目要求的不符,因此將i<m改為i<=m做這 樣的題目看兩點(diǎn):一看題目中的表達(dá)式,二看 for 語(yǔ)句中變量的取值范圍。語(yǔ)言中的除法運(yùn)算:這個(gè)考點(diǎn)同樣考查表達(dá)式的相關(guān)知識(shí)。例如:要求計(jì)算t=1-1/2
7、怙1/3*3- .-1/m*m這個(gè)表達(dá)式,在這個(gè)題目中第一空有這樣的 for 語(yǔ)句: for(i=2;i<m;i+)y-=1/(i*i);剛才我們將了表達(dá)式的范圍,現(xiàn)在我們考慮 y-=1/(i*i); 是否正確?賦值號(hào)左邊問(wèn)題不大,我們看看右邊 1/(i*i) ,其中 i 是整數(shù), 那么 i*i 也是整數(shù),在 C 語(yǔ)言中 1 除以比它大的數(shù)時(shí)值為零。這樣和題目的要求就不相符。記?。?1/2 的值為零,只有 2 或是 的值為。5. 找最大值和排序問(wèn)題:遇到這種題目在改錯(cuò)題中最容易考查的是大于( >)、小于( <)等符號(hào)的變化,當(dāng)你查找出錯(cuò)的地 方?jīng)]有語(yǔ)法錯(cuò)誤,也沒(méi)有使用了未定義
8、的變量時(shí),記住這個(gè)口訣:將大于改為小于,將小于改為大于!6. 函數(shù)的返回值及其參數(shù):重點(diǎn)int fun(int x,int y) main() if(x>y) return x;int a,b,c;else return y;scanf( “%d%d ”,&a,&b); c=fun(a,b);printf( “最大值為: %d ”,c);(1) 函數(shù)的返回類型: 在上面的例子中 fun 函數(shù)的返回值是 int ,如果將 int 改為 double ,很明 顯是錯(cuò)誤的。 從兩個(gè)地方來(lái)看, 首先 return x; 中 x 的類型必須和 fun 函數(shù)中的返回值相同, x 是整
9、型。 其次c=fun(a,b);中fun函數(shù)將一個(gè)返回值賦值給了變量 C,說(shuō)明函數(shù)返回的值一定是整型。記?。汉?數(shù)調(diào)用、函數(shù)的返回值和 ruturn 中數(shù)據(jù)類型必須一致!(2) return 后面的表達(dá)式及其類型:(3) 函數(shù)傳遞的參數(shù):int fun(int *x,int *y) main() if(*x>*y)return *x; int a,b,c;else return *y; scanf( “%d%d ” ,&a,&b); c=fun(&a,&b);printf( “最大值為: %d ”,c); 一定注意:傳遞的是值還是地址。比較上面兩個(gè)例子大家
10、很容易區(qū)別傳遞的是值還是地址,第一個(gè) 例子調(diào)用函數(shù)的時(shí)候傳遞的是值,因此在 fun 函數(shù)的形參中 x 和 y 僅僅是普通的變量,而第二個(gè)例子 中調(diào)用函數(shù)的時(shí)候傳遞的是地址,因此在 fun 函數(shù)的形參中 x 和 y 就是兩個(gè)指針變量。 5(4)指針的使用:int fun(int *x,int *y)if(*x>*y)return *x;else return *y;在此例中fun函數(shù)的形參是x和y,它們的類型是整型的指針,那么在 fun函數(shù)的函數(shù)體中使用 到 x 和 y 的值時(shí)一定要區(qū)分: x>y 比較的是 x 和 y 所存變量地址的大小, *x>*y 才是比較值的大小。 如果
11、存在 *x=x+y; 的類似情況一定是錯(cuò)誤的,必須要將賦值號(hào)的左右兩邊的類型變?yōu)橐恢隆?. 數(shù)組:(1)數(shù)組下標(biāo)的初始值: 數(shù)組下標(biāo)從零開(kāi)始,到長(zhǎng)度減一結(jié)束。考試技巧:當(dāng)出錯(cuò)行在定義部分 時(shí),先檢查該定義語(yǔ)句有沒(méi)有語(yǔ)法錯(cuò)誤,再看定義語(yǔ)句中的變量有沒(méi)有賦初始值,最后看變量賦的初始 值有沒(méi)有正確。 定義初始值有竅門, 遇到累加時(shí), 用來(lái)存放累加和的變量一般賦值為零, 遇到求階乘時(shí), 用來(lái)存放階乘值的變量一般賦值為一。(2)普通變量的初始值: 依照上面的技巧,我們同樣可以將它延伸到普通變量中。(3)數(shù)組和字符串長(zhǎng)度減一: 當(dāng)使用數(shù)組中的元素時(shí),最大值只能到數(shù)組長(zhǎng)度減一。字符串以'0 '
12、;作為字符串的結(jié)束標(biāo)志,因此取值最大也只能到字符串長(zhǎng)度減一(4)數(shù)組下標(biāo)往后走: 當(dāng)題目要求將一個(gè)數(shù)組中的元素直接賦值或是以某種方式復(fù)制到另一個(gè)數(shù) 組中時(shí),接受數(shù)據(jù)的數(shù)組中的下標(biāo)要自增。8特例:部分題目的解答很特殊,需要根據(jù)上下文中的內(nèi)容來(lái)解答題目;9. 素?cái)?shù)掌握求素?cái)?shù)的格式: 判斷一個(gè)數(shù)是否是素?cái)?shù)的方法很多,的是只用掌握一種即可,首先掌握判斷一個(gè)素?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,如果有一個(gè)數(shù)能整除m,說(shuō)明m不是一個(gè)素 數(shù),就不用再判斷后面的數(shù)值了, 用一條 break 語(yǔ)句提前結(jié)束函數(shù); 如果一直都不能整除, 則說(shuō)明 m 是 一個(gè)素?cái)?shù)。那么用循環(huán)語(yǔ)句表示 2 到 m-1 之間的數(shù)的語(yǔ)句為: for(i=2;i<m;i+) ,如果在這個(gè)范圍內(nèi) 的數(shù)值有一個(gè)數(shù)值能整除 m說(shuō)明m不是一個(gè)素?cái)?shù),則可以提前結(jié)束循環(huán),break;那么結(jié)束之后這個(gè) 循環(huán)中的變量I的值小于m,如果m是一個(gè)素?cái)?shù)的時(shí)候,則一直都不執(zhí)行 break語(yǔ)句;則循環(huán)語(yǔ)句結(jié)束的 時(shí)候是在i=m的時(shí)候退出循環(huán)。結(jié)束循環(huán)以后,進(jìn)行i和m的比
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 鈮酸鋰單晶薄膜行業(yè)的供應(yīng)鏈管理與風(fēng)險(xiǎn)控制
- 2025年中式快餐連鎖品牌擴(kuò)張路徑與標(biāo)準(zhǔn)化建設(shè)環(huán)境適應(yīng)性研究報(bào)告
- 甘肅機(jī)電職業(yè)技術(shù)學(xué)院《專業(yè)英語(yǔ)(通信)》2023-2024學(xué)年第一學(xué)期期末試卷
- 荊門職業(yè)學(xué)院《組織研究》2023-2024學(xué)年第一學(xué)期期末試卷
- 四川衛(wèi)生康復(fù)職業(yè)學(xué)院《人力資源管理案例分析》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025年制造業(yè)供應(yīng)鏈數(shù)字化協(xié)同管理中的供應(yīng)鏈協(xié)同產(chǎn)業(yè)協(xié)同創(chuàng)新研究報(bào)告
- 2025年制造業(yè)3D打印大規(guī)模生產(chǎn)應(yīng)用中的智能制造與工業(yè)互聯(lián)網(wǎng)融合研究報(bào)告
- 室內(nèi)五四青年活動(dòng)方案
- 小學(xué)消防安全活動(dòng)方案
- 寵物店元旦充值活動(dòng)方案
- 無(wú)人機(jī)駕駛員國(guó)家職業(yè)技能標(biāo)準(zhǔn)(2021年版)(word精排版)
- DB37T 4027-2020 食用農(nóng)產(chǎn)品可追溯供應(yīng)商通用規(guī)范 果蔬
- 增壓機(jī)通用說(shuō)明書.
- 監(jiān)理人員廉潔自律制度管理辦法
- BS EN 10222-5-2000用于壓力目的的鋼鍛件—第5部分:馬口鐵鋼奧氏體鋼和奧氏體-鐵素體不銹鋼
- 化工機(jī)械設(shè)備課程設(shè)計(jì)(板式塔)__副本
- 洗潔精-MSDS(202334)
- 東莞虎門架空線路拆除施工方案
- 機(jī)關(guān)公文寫作案例分析課件
- 物業(yè)公司工程部工作職責(zé).doc
- 山東省電力設(shè)備交接和預(yù)防性試驗(yàn)規(guī)程 - 圖文-
評(píng)論
0/150
提交評(píng)論