本文目錄一覽:
我考研專業課考C語言,就是老譚的那本 C程序設計 。請問怎麼複習最有效啊?
複習,其實最有效的方法就是兩個字:動手
無論是哪一種的複習與考試,或是學習其它知識,都不能只是簡單地用眼睛看,用大腦思考,其更重要的是動手去計算,動手去解答問題,而動手的概念主要有兩種:
其一、實際操作類。就是需要實物進行的操作,例如製作簡單的紙飛機、複雜的機械人,這都是需要實物來實際動手操作才能理會其內涵的知識,光靠看書看資料是不能根本解決問題的。
其二、模擬考核類。就是找一些試卷進行答題,然後再核對哪裡答錯了,答錯的題目要反覆多看幾遍,主要的是看看錯在哪裡,思考下為什麼會答錯。對於答對了的題目也要再看一遍,鞏固下記憶。之後再重新答題,如此反覆練習,則是最有效的複習方式。
對於C語言的複習,則可以利用C語言編程軟件來練習編程技巧,可根據書本上給出的題目進行編程,最終得到正確的答案。
初次得到答案也不要停止學習,要思考下利用其它方法來得到同樣的答案,因為C語言是一個很靈活的語言,對於任何一個問題的解決方法,都有幾個甚至幾十個不同的解決辦法。
C語言學習技巧
1、學習C語言,要從入門到精通,需要讀哪些書(從簡單的到難的排序,越詳細越好,最好都能注釋下選擇這本書的理由)?
入門階段:還是老譚那本。
理由:雖然不能說它寫得有多好,但是你現在要做的是入門,要快速的掌握c的基本語法,這本書很好理解,能夠讓你在最短的時間內大致掌握這門語言的概更。
第二階段:《c程序設計語言》(The C Programming Language)和《C語言解惑》(The C puzzle book)
理由:《the c programming language》號稱c語言聖經。其實它也只是一本介紹基礎語法的書,不做入門教程是因為對於初學者來說,它難度稍大,之所以推薦,是因為它能讓你—系統而嚴密的—把C語言知識構架整理一遍。《c語言解惑》,系統的整理了c語法中容易讓你產生迷惑或容易犯錯的地方(如a+++++b等),這時候你才算真正開始學習c語言了.(以上兩本現在出重印了,應該在書店可以買到)
第三階段:《C陷阱與缺陷》(C Traps and Pitfalls)和《高質量c/c++編程指南》
理由:《c陷阱與缺陷》是讓對c的理解有質變得一本書,如如何理解(*(void(*)())0)()等問題,我的感覺是看完這本書讓我真正從小菜鳥變成了老菜鳥。《高質量…》,終於有一本國產的了,呵呵,我認為這本書是把你從土匪變成正規軍的最好指南,該書涉及編程風格、效率、重載、健壯性等一些列之前很難注意的問題。(以上兩本《c陷阱…》已絕版,不過網上可以下載到中英文版,《高質量…》本身就是網絡書,很容易找到)
其它推薦書:《c專家編程》《c和指針》
C語言考試技巧
一.特點和注意事項 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)多加「」的情況。如int str[ ]; scanf(「%s」,str);
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)若nm,則用n除以m求餘數r;(2)若r=0,則m為最大公約數,若r≠0,則將r賦值於m,m賦值於n,繼續用n除以m求餘數r;(3)直到r=0,m為最大公約數。根據算法判斷每一條語句是否正確。 (6)求最小公倍數的算法:等於兩個數的乘積除以它們的最大公約數。 (7)矩陣時以行為外循環,列為內循環,可以同時計算周邊元素的和。
計算機二級C語言考試重點以及複習技巧
1、語言的基本語法25分。主要有C語言的主要特點、各種數據類型、運算符與運算表達式、基本I/O結構應用、基本的程序控制結構、宏的基本定義、文件的基本應用等。
2、程序閱讀題30分。考核的主要內容為:選擇結構、循環結構的應用、數組的應用、指針特別是指針與字符數組的關係應用、函數應用(參數傳輸,全局變量,局部變量應用等)。3、程序設計15分。主要是應該熟悉程序控制結構,數組,函數的應用。
複習內容:
C語言的基本概念
C語言的主要特徵和程序結構。頭文件,函數的開始和結束標誌。源程序的書寫格式。數據類型和運算
基本數據類型和常量的表示法。各種變量的定義和初始化。
運算規則和表達式。
賦值表達式、算術表達式、關係表達式、邏輯表達式、條件表達式、逗號表達式。
運算符的優先級、類型的自動轉換和強制類型轉換,
C語言的基本語句
基本語句:表達式語名、空語句、複合語句。數據的輸入與輸出、輸入輸出函數的調用。選擇結構語句。if語句。switch語句。
選擇結構的嵌套。循環結構語句。for語句。while語句和do-while語句。continue語句和break語句。
構造類型和指針類型數據
數組、結構、聯合類型的說明和正確使用。
指針。
指針與指針變量的概念,指針與地址運算符。
變量、數組、字符串、函數、結構體的指針,以及指向變量、數組、字符串、函數、結構體的指針變量。通過指針引用以上各類型數據。指針數組,指向指針的指針。
存儲區動態分配和釋放。
函數
函數的基本結構和定義方法。
函數的調用和參數傳遞。
函數的嵌套調用、遞歸調用。
變量的作用域。
Main
()函數的命令行參數引用。
內部函數與外部函數。
庫函數的正確使用。
文件只要求緩衝文件系統(即高級磁盤I/O系統)。
文件的概念:文本文件和二進制文件。
文件類型指針。
文件的基本操作:文件的打開與關閉、文件的讀寫、文件指針的操作。
原創文章,作者:STQQ,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/132619.html