1樓:夜禮服假面
一.特點和注意事項 1、填空題
(1)上機填空題一般包含2個(或3個)空。 (2)要填空的位置用___、___、___表示。
(3)考生在考試時應刪除標識___、___、___後填入相應的符號。
特別要注意的是:只能在要填空的位置上進行修改,不要添行、刪除、合併或分解,不要改動程式行的順序,更不要自己另程式設計序。 2.改錯題
(1)上機改錯題中有2個(或3個)錯誤需要修改。
(2)試題中用“/******found******/”來提示在下一行(或下面第二行)有錯。 (3)錯誤的性質基本分為語法錯誤和邏輯錯誤,也有些試題要求把語句新增在下劃線處。
(4)特別要注意的是:只能在出錯的行上進行修 二.做題技巧
以下是對上機考試改錯題的做題方法和總結,改錯題的錯誤主要分為以下幾類:
一般情況,錯誤主要分為語法錯誤和邏輯錯誤。
先檢查語法錯誤,編譯程式後發現沒有錯誤及警告,說明沒有語法錯誤,只有邏輯錯誤;邏輯錯誤必須根據程式的功能及預期結果來考查。
因此,對於程式改錯題,應先編譯查詢其中的語法錯誤,通過編譯器的提示容易找到錯誤的地方及原因,然後再尋找邏輯錯誤。修改了語法錯誤後再次編譯,直到修改完所有的語法錯誤。而查詢邏輯錯誤時,需要執行程式根據結果來檢查。
1、if或while語句
若錯誤行是if或者while語句,則要注意以下點: 1)首先判斷是否正確書寫if或while關鍵字;
2)然後看有沒有用小括號把整個表示式括起來,若沒有則加上小括號; 3)若條件表示式中有指標變數而且沒有指標運算子時,則加上指標運算子; 4)若if條件表示式中只有一個等於號即數學等號(=),則要改寫成兩個等於號即邏輯等號(==);
若if條件表示式為其他的比較運算子,則一般是進行逆轉或加一個等於號; 2、for語句
若錯誤行是for語句,則要注意以下幾點: 1)首先判斷for有沒有書寫正確;
2)然後看for中的表示式是不是用分號(;)隔開,若不是則改為分號。 3、記住是分號(;),不是逗號(,)!
再者,分析for中的三個表示式,是否符合題意; 第一個表示式表示起始條件, 第二個表示式表示終止條件,
第三個表示式表示迴圈變數的變化。 4、return語句
若錯誤行為return語句,則要注意以下幾點: 1)首先看是不是正確書寫return關鍵字;
2)然後看是不是缺少分號,若是則加上分號即可;
3)再者判斷return後的變數或表示式是否正確;
這種錯誤需要根據題意來分析,分析返回變數或表示式的值和型別。 5、賦值語句
若錯誤行是賦值語句,則要看賦值是否正確,然後看賦值運算子是否寫正確。 6、定義語句
若錯誤行是定義語句,則要注意: 1)首先分析變數型別是否符合;
2)然後分析賦初值是否正確,求和初值賦0,求積初值賦1;
3)若以上均不是,則看是不是少定義了某個變數或少了花括號; 7、關鍵字拼寫錯誤。如:main-mian(錯誤) printf - pirntf (錯誤)
return- return(錯誤) while- while (錯誤)
8、表示式錯誤問題
表示式錯誤佔的份量最多,並且沒有統一的改法,我們只能通過題目要求來分析並修改),
1)若錯誤行中有整數1除以某個表示式或變數時,必須把整數1改為1.0;若變數或表示式是整型時,則只能進行強制型別轉換。
2)變數必須先賦值,後才參與運算,沒有賦值就不能參與運算;例如,long k;k*=num%10;
3)運算子書寫錯誤,例如,把/寫成\(num\=10);,==寫成=。 4)丟失括號() 9、字串類問題
1)若錯誤行中有字串結束符,則特別要要注意結束符有沒有寫錯(‘\0’不要寫成"\0”)。
2)新組建的字串一定要加結束識別符號(‘\0’); 3)要區分清楚字元‘o’和數字‘0’。
4)字串複製、比較必須使用用字串處理函式(strcpy或strcmp)實現,不能用賦值語句或關係運算子。 10、指標類問題
若錯誤行中有指標變數,並且該變數名之前沒有指標運算子,則般都是加上指標運算子;即注意p和*p的區別; 11、函式首部類問題:
若錯誤行是函式首部,則要注意:
1)首先看該行最後有沒有分號,若有則刪掉分號;若中間有分號則要改為逗號;
2)形參和實參型別不一致問題
① 若實參是個地址或陣列名或指標變數名,則對應的形參肯定是指標或陣列;
②若實參是二維陣列名,則對應的形參應該是指標陣列或是二維陣列; ③若後面用到形參時有指標運算子,則該形參應為指標型別;
④若形參是二維陣列或指向m 個元素的指標變數,則該二維的長度必須與main中對於陣列的第二維的長度相同。 3)函式型別不一致問題
①若函式中沒有return語句,則函式型別為void;
②若函式中有ret urn語句,則函式的型別必須與rerun後的變數型別一致;
記住,呼叫函式的型別與main中的該函式的型別一致! 12、語法錯誤問題:
1)語句缺少分號。若錯誤號中語句沒有以分號結束則加上分號;
2)變數名不一致。c語言是區分大小寫的,若錯誤行中有大寫字母一般都改為小寫字母;
3)若錯誤行中有一條橫線,則必須將橫線刪除再填空。填空題中亦是如此。 13、邏輯錯誤問題:
這種題型主要是表示式錯誤,佔的題量比較多而且沒有統一的做題方法,需要我們具體問題具體分析。對於邏輯錯誤,可按下列步驟查詢:
①先讀試題,看清題目的功能要求。
②通讀程式,看懂程式中演算法的實現方法。 ③細看程式,發現常見錯誤點。 14、書寫錯誤問題:
特別注意我們的註釋部分,註釋是以/*開始,以*/結尾,不能有多餘的,有也只能在/*和*/裡面。注意,比如“/***註釋部分*****/*/”是錯誤的!
二、程式設計時容易犯的錯誤
1.書寫識別符號時,忽略了大小寫的區別
c語言認為大些字母和小寫字母時兩個不同的字元,如在編譯程式過程中,系統會把a和認為時兩個不同的變數名。習慣上,符號常量名用大寫表示,變數名用小寫表示,以增加程式的可能性。
2.忽略了變數的型別,進行了不合法的運算
3.忽略了“=”與“= =”的區別;c語言中,“=”是賦值運算子,“= =”是關係運算子
4.忘記加分號
考生應特別注意這種情況,分號是c語言中不可缺少的一部分,語句末尾必須有分號,但有時候千萬不能加;
5.輸入變數時忘記加地址運算子“&”,而在不應加“&”的位置加了地址運算子
(1)忘記加“&”的情況。
如int a,b; scanf(“%d%d”,a,b);
此時,無法正確給a和b讀入資料。scanf函式的作用是:按照a、b在記憶體中所分配的地址將a、b的值存進去。
“&a”指a在記憶體中的地址,因此正確的書寫格式為scanf(“%d%d”,&a,&b);。
(2)多加“&”的情況。如
c語言編譯程式對陣列名的處理是:陣列名代表陣列的起始地址,scanf函式中的輸入項是字元陣列名,因此不必再加地址符&,應該去掉。
6.輸入資料的方式餘要求格式(萬用字元)不符。例如:scanf(“%d,%d”,&a,&b);
c規定:如果在“格式控制”字串中,除了格式說明以外還有其他字元,則在輸入資料時應輸入與這些字元相同的字元。下面輸入是合法的:3,4
此時不用逗號而用空格或其他字元是不對的,如:3 4(中間為空格)3:4(中間為冒號);
三、相關概念
(1)素數:定義是除了能被1和自身整除外,不存在其他任何能整除該數的自然數。因此,在判斷一個數是否為素數時,只要有除了1和本身能整除它,還有一個數能整除它,就判定此數不是素數。
(2)判斷一個年份是否為閏年:如果年份能被4 整除但是不能被100整除,或者能被400整除,這兩種情況滿足之一都是閏年。
(3)利用選擇法進行從小到大的排序。選擇法的思路為:把第一個元素與其後面的元素比較,如果比後面的大,則交換,比較完所有的元素後,第一個位置的元素是最小的元素;在把第二個元素與其後面的元素進行比較,結果是除了第一個元素外,第二個元素是最小的元素;以此類推。
(4)數的按位分離演算法是:對10取模求個位上的數字,整除10後再對10取模求十位上的數字,整除100後再對10取模求百位上的數字。
(5)最大公約數的演算法是:(1)若n>m,則用n除以m求餘數r;(2)若r=0,則m為最大公約數,若r≠0,則將r賦值於m,m賦值於n,繼續用n除以m求餘數r;(3)直到r=0,m為最大公約數。根據演算法判斷每一條語句是否正確。
(6)求最小公倍數的演算法:等於兩個數的乘積除以它們的最大公約數。 (7)矩陣時以行為外迴圈,列為內迴圈,可以同時計算周邊元素的和。
2樓:匿名使用者
”無他,但手熟爾“。
任何考試上的技巧都敵不過平日裡的認真學習,反覆練習。就算通過某些技巧,僥倖通過考試,從長遠來說,百害而無一利。不要把時間花費到這上面,踏踏實實的學習才是正道。
3樓:匿名使用者
基本上級的難題就是那種多層迴圈的套嵌,多練習練習就好了,做題之前吧思路理清楚,基本上機的題目思路就那麼幾種,記住就一點都不難了的。至於筆試麼多記多背就當考政治也行。
4樓:匿名使用者
偶感覺**比二級好考的多了,
5樓:匿名使用者
多學多練,祝你好運!
C語言考試題大一c語言考試題急
這些都是最基本的題,但要想全部做對,還真不容易我已經盡量保證我下面的答案都是對的 就算錯也錯不會超過1 2個的 填空題1 1 2 93 96 鍵的那個符號,1鍵前面 4 a 0 a 1 a 2 5 1600 6 文字檔案 二進位制檔案 7 fopen fclose fseek 選擇題1 c 2 b3...
c語言考試求答案
6,9,16,20大家的答案有點不太一樣,樓主可以親手試試,畢竟還得自己做做才能更好的掌握。1.d2.b3.b 4.d5.d 6.a7.b 8.a9.b 10.b 11.d 12.c 13.b 14.a 15.c 16.b 17.b 18.c 19.a 20.a 21.c 發現考試求答案的真多啊。不...
C語言期末考試試題及答案,C語言期末考試試題及答案
已改正,主要利用了atoi這個函式,將字串轉換為整數。先將字串中數字字元儲存到乙個臨時字元陣列,然後利用atoi轉換為整數儲存到m中,然後源字串中其他非數字字元,全部儲存到r中。include include include long getnum char s,char r else j r k ...