對上機考試改錯題的做題方法和總結,改錯題的錯誤主要分爲以下幾類:
1、if或while語句
若錯誤行是if或者while語句,則要注意以下點:
1)首先判斷是否正確書寫if或while關鍵字;
2)然後看有沒有用小括號把整個表達式括起來,若沒有則加上小括號;
3)若條件表達式中有指針變量而且沒有指針運算符時,則加上指針運算符;
4)若if條件表達式中只有一個等於號即數學等號(=),則要改寫成兩個等於號即邏輯等號(= =);
5) 若if條件表達式爲其他的比較運算符,則一般是進行逆轉或加一個等於號;
2、for語句
若錯誤行是for語句,則要注意以下幾點:
1)首先判斷for有沒有書寫正確;
2)然後看for中的表達式是不是用分號(;)隔開,若不是則改爲分號。
記住是分號(;),不是逗號(,)!
3) 再者,分析for中的三個表達式,是否符合題意;
第一個表達式表示起始條件,
第二個表達式表示終止條件,
第三個表達式表示循環變量的變化。
3、return語句
若錯誤行爲return語句,則要注意以下幾點:
1)首先看是不是正確書寫return關鍵字;
2)然後看是不是缺少分號,若是則加上分號即可;
3)再者判斷return後的變量或表達式是否正確;
這種錯誤需要根據題意來分析,分析返回變量或表達式的值和類型。
4、賦值語句
若錯誤行是賦值語句,則要看賦值是否正確,然後看賦值運算符是否寫正確。
5、定義語句
若錯誤行是定義語句,則要注意:
1)首先分析變量類型名是否寫對;
2)然後分析給變量賦初值是否正確;
3)若以上均不是,則看是不是少定義了某個變量或少了花括號;
6、表達式錯誤問題:
若錯誤行中有整數1除以某個表達式或變量時,必須把整數1改爲1.0;若變量或表達式是整型時,則只能進行強制類型轉換。
7、字符串類問題
若錯誤行中有字符串結束符,則特別要要注意結束符有沒有寫錯。但是要區分清楚字符‘o’和數字’0’。
8、指針類問題
若錯誤行中有指針變量,並且該變量名之前沒有指針運算符,則一般都是加上指針運算符;
9、函數首部類問題:
若錯誤行是函數首部,則要注意:
1)首先看該行最後有沒有分號,若有則刪掉分號;若中間有分號則要改爲逗號;
2)形參和實參類型不一致問題
①若實參是個地址或數組名或指針變量名,則對應的形參肯定是指針或數組;
②若實參是二維數組名,則對應的'形參應該是指針數組或是二維數組;
③若後面用到某形參的時候有指針運算符,則該形參比爲指針類型;
④若形參是二維數組或指向M個元素的指針變量,則該二維的長度必須與main中對於數組的第二維的長度相同。
3)函數類型不一致問題
①若函數中沒有return語句,則函數類型爲void;
②若函數中有return語句,則函數的類型必須與rerun後的變量類型一致;
記住,調用函數的類型與main中的該函數的類型一致!
10.語法錯誤問題:
1)語句缺少分號。若錯誤號中語句沒有以分號結束則加上分號;
2)變量名不一致。C語言是區分大小寫的,若錯誤行中有大寫字母一般都改爲小寫字母;
11.邏輯錯誤問題:
這種題型主要是表達式錯誤,佔的題量比較多而且我們沒有統一的做題方法,需要我們具體問題具體分析。
12.書寫錯誤問題:
特別注意我們的註釋部分,註釋是以/*開始,以*/結尾,不能有多餘的,有也只能在/*和*/裏面。注意,比如“/***註釋部分*****/*/”是錯誤的!