當前位置:首頁 » 編程語言 » 笨方法學c語言全集
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

笨方法學c語言全集

發布時間: 2023-05-17 06:59:25

『壹』 急求c語言的學習竅門及方法!!!謝謝!!!

我認為要學好C語言首先必須了解等級考試C語言的大綱和內容,以及各種輔助材料的用途,這是學好C的基礎。從以前的經驗以及考網上的一些信息可知,要自學C語言必須准備以下資料:

1、 教材:大家現在都公認是清華大學譚浩強主編的那本,當然有其他的也可以,如高校出版社的。

2、 習題集:我認為清華大學的《C語言樣題匯編》不錯。書後面附有答案。

3、 上機練習:我認為南開大學的那個可以,最好是在考前從頭到尾做一遍。答案可以去考網下載區下載。

4、 大綱:這個肯定要的,可以在考網二級版那裡去下,然後列印出來。

5、 自學計劃:為了做到有計劃有目的地學習C語言,大家可以根據自己的學習(或工作)情況,制定一個自學計劃,循序漸進地學習。

6、 模擬盤:為了更好地熟悉考場環境,下一個模擬盤是必不可少的,可以在http://studywang.yeah.net/。下載,注意,在下載時要把鎖匙盤一起下回來,否則不能進入考試環境。

7、 教學光碟:如果能買到C語言的教學光碟,那當然更好,這樣可以更直觀地學習C語言了。

下面從微觀上針對C語言的幾個重點和難點,逐個談談具體的自學方法。

二 如何學習C語言的運算符和運算順序

C語言的運算功能十分豐富,運算種類遠多於其它程序設計語言。因此,當多種不同運算組成一個運算表達式,即一個運算式中出現多種運算符時,運算的優先順序和結合規則顯得十分重要。

初學者往往對此感到非常困難,覺得C語言學習太繁雜,其實只要我們對此合理進行分類,找出它們與我們在數學中所學到運算之間的不同點之後,記住這些運算也就不困難了,有些運算符在理解後更會牢記心中,將來用起來得心應手,而有些可暫時放棄不記,等用到時再記不遲。

下面是所有的運算符按優先順序不同分類列表:(對不起,因為表格顯示不正常,已被我刪除大家可以看書上的)

表中列出15種優先順序的運算符,從高到低,優先順序為1 ~ 15,最後邊一欄是結合規則,除第2、3級和第14級為從右至左結合外,其它都是從左至右結合,它決定同級運算符的運算順序。

下面我們通過幾個例子來說明:

(1) 3*20/4%10 這個表達式中出現3種運算符,是同級運算符,運算順序按從改判左至右結合,因此先計算3 * 20=60,然後被4除,結果為15,最後是%(求余數)運算,所以表達式的最終結果為15%10 = 5

(2)a = 3;b = 5;c =++ a* b ;d =a + +* b;

例子中的「;」是C語言的語句分隔符,執行順序為從左到右,第1條語句執行後a的值為3,第2條語句執行後b的值為5,第3條語句中有兩個運算符前置+ +和*,按表中所列順序,+ +先執行,*後執行,所以+ + a執行後,a的值為4,衡顫由於+ +為前置運算,所以a的值4參與運算,C的值為20,最後執行第4條語句,由於a + +為後置運算,所以a值為4參與運算,使得d的值仍為20,而a參與運算後其值加1,值為5。

這個例子執行後,a的值為5,b的值為5,c的值為20,d的值也是20。

(3)a = 3,b = 5,b+ = a,c = b* 5

例子中的「咐殲敗,」是逗號結合運算,上式稱為逗號表達式,自左向右結合,最後一個表達式的結果值就是逗號表達式的結果,所以上面的逗號表達式結果為40,a的值為3,b的值為8,c的值為40。

三、如何學習C語言的四種程序結構

(1)順序結構

這種結構的程序比較簡單,就是按照語句的排列順序依次執行的機制。順序結構的執行順序是自上而下,依次執行,因此編寫程序也必須遵守這一規定,否則你的程序執行結果就不對。

例如;a = 3,b = 5,現交換a,b的值,正確的程序為:

c = a;

a = b;

b = c;

執行結果是a = 5,b = c = 3如果改變其順序,寫成:

a = b;

c = a;

b = c;

則執行結果就變成a = b = c = 5,不能達到預期的目的,這是初學者常犯的錯誤。

順序結構可以獨立使用構成一個簡單的完整程序,常見的輸入、計算,輸出三步曲的程序就是順序結構,例如計算圓的面積,其程序的語句順序就是輸入圓的半徑R,計算S = 3.14159*R*R,輸出圓的面積S。而大多數情況下順序結構都是作為程序的一部分,與其它結構一起構成一個復雜的程序,例如分支結構中的塊體、循環結構中的循環體等。

C語言自學方法(2)

(2) 分支結構

分支結構與順序結構不同,其執行是依據一定的條件選擇執行路徑,而不是嚴格按照語句出現的物理順序。分支結構的程序設計方法的關鍵在於構造合適的分支條件和分析程序流程,根據不同的程序流程選擇適當的分支語句。

分支結構適合於帶有邏輯條件判斷的計算,設計這類程序時往往都要先繪制其程序流程圖,然後根據程序流程寫出源程序,這樣做把程序設計分析與語言分開,使得問題簡單化,易於理解。程序流程圖是根據解題分析所繪制的程序執行流程圖。

學習分支結構不要被分支嵌套所迷惑,只要弄清基本的分支結構,嵌套結構也就不難了。嵌套只不過是分支塊體中又包括分支語句而已,不是新知識,只要你基礎知識扎實,分支嵌套也難不住你,下面我們重點討論幾種基本的分支結構的學習方法。

①If(條件)

{



}

這種分支結構中的塊可以是一條語句,此時「{

}」可以省略,也可以是多條語句。它有兩條分支路徑可選,一條是條件為真,執行塊,另一條是條件不滿足,跳過塊。

如,計算x的絕對值,根據絕對值定義,我們知道,當x>=0時,其絕對值不變,而x<0時其絕對值是為x的反號,因此程序段為:if(x<0)

x=-x;

②if(條件)

{塊1}

else

{塊2}

這是典型的分支結構,如果條件成立,執行塊1,否則執行塊2,塊1和塊2都有1條或若干條語句構成。

如:求ax^2+bx+c=0的根

分析:因為當b^2-4ac>=0時,方程有兩個實根,否則(b^2-4ac<0)有兩個共軛復根。其程序段如下:

d=b*b-4*a*c;

if(d>=0)

{x1=(-b+sqrt(d))/2a;

x1=(-b-sqrt(d))/2a;

printf(「x1=%8.4f,x2=%8.4f\n」,x1,x2);

}

else

{r=-b/(2*a);

i =sqrt(-d)/(2*a);

printf(「x1=%8.4f+%8.4fi\n」r, i);

printf(「x2=%8.4f-%8.4fi\n」r,i)

}

③多路分支:其語句格式為:

if(條件1) {塊1};

else if(條件2) {塊2}

else if(條件3) {塊3}

……

else if(條件n) {塊n}

else {塊n+1}

④switch語句:

switch

語句也是多分支選擇語句,又稱為多路開關語句,到底執行哪一塊,取決於開關設置,也就是表達式的值與常量表達式相匹配的那一路,它不同if—else 語句,它的所有分支都是並列的,程序執行時,由第一分支開始查找,如果相匹配,執行其後的塊,接著執行第2分支,第3分支……的塊,直到遇到break語句;如果不匹配,查找下一個分支是否匹配。

(3)循環結構:

循環結構可以減少源程序重復書寫的工作量,用來描述重復執行某段演算法的問題,這是程序設計中最能發揮計算機特長的程序結構,C語言中提供四種循環,即goto循環、while循環、do –while循環和for循環。

四種循環可以用來處理同一問題,一般情況下它們可以互相代替換,但一般不提昌用goto循環,所以下面我們重點講解另外的三種循環。

常用的三種循環結構學習的重點在於弄清它們相同與不同之處,以便在不同場合下使用,大家好好看一下書中三種循環的格式和執行順序,如何替換使用,如把while循環的例題,用for語句重新編寫一個程序,這樣能更好地理解它們的作用。

注意:在while和do—while循環體內和for

循環中的第3語句中,應包含趨於結束的語句(如I++,I--),否則就可能成了一個死循環,這也是初學者的一個常見錯誤。

下面我們來討論下這三種循環的異同之處:

用while和do—while循環時,循環變數的初始化的操作應在循環體之前,而for循環是在語句1中進行的;while

循環和for循環都是先判斷表達式,後執行循環體,而do—while循環是先執行循環體後判斷表達式,也就是說do—while的循環體最少被執行一次,而while

循環和for就不一定了。這三種循環都可以用break語句跳出循環,用continue語句結束本次循環,而goto語句與if構成的循環,不能用break和

continue語句進行控制。

這三種結構並不是彼此孤立的,在循環中可能出現分支、順序結構,分支中也可能出現循環、順序結構而把循環、分支看成一個語句,它又是構成順序結構的一個元素,因此這三種結構相互結合,就能實現各種演算法,設計出解題程序,但若是很大的題目,這樣編出的程序往往很長,重復結構多,並且可閱讀性差,因此我們常將C程序設計成模塊化結構。

(4)模塊化程序結構

C語言的模塊化程序結構用函數來實現,即將復雜的C程序分為若干模塊,每個模塊都編寫成一個合法的C函數,然後用主函數調用函數及函數調用函數實現一大C程序:C程序=主函(main)+若干個函數。

在程序設計中,常將一些常用的功能模塊寫成函數,也可以將大程序段分割成若干函數,前者目的在於減少重復編寫程序段的工作量,後者目的在於縮短模塊長度,以便程序閱讀方便。

一個源程序文件由一個或多個函數組成,它是一個編譯單位,而一個C程序由一個或多個源程序文件組成。對較大的程序,往往分成多個文件,這樣可以分別編寫、分別編譯,提高高調試效率,一個源程序文件可以被多個C程序公用。

C程序的的執行是從main()函數開始,調用其它函數後流程回到main函數,在main中結束整個函數運行,main函數的稱是系統規定的,用戶可以修改其內容即函數體,但不能修改其名稱和參數,一個C程序必須有一個main函數,也只能有一個main函數。

所有函數都是平行的,即在定義函數時是互相獨立的一個函數度不從屬於另一個函數,即函數不能嵌套定義,但可以互相調用,但不能調用main函數。

函數分成兩類,即標准函數和用戶自定義函數,標准函數又稱庫函數,由系統提供,用戶可直接調用,C語言提供了豐富的庫函數,請考生在編寫C程序時查閱教材後的函數說明,這可節省你的編程工作量;用戶自定義函數由編程者自己編寫.

『貳』 如何高效的學好C 語言啊

美河提供.C.精髓.軟體工程方法.pdf,免費下載

鏈接:https://pan..com/s/17Q0JIVCI98FVDaRaisgA3A

提取碼:ikzw

C++是一種大型而復雜的語言,其設計目標是作為一種通用的工程語言。 本書分4個部分共19章,不僅詳細介紹了C++語言的基本語法,而且講解了 C++的高級應用(如虛函數、模板、異常等),並通過大量詳盡的代碼表達了有關軟體工程及維護的觀點。

『叄』 如何學C語言

《C程序設計語言》教學目標
* 掌握C語言的基本語法和規定。首游
* 掌握程序設計基本演算法和思路,開拓思路,
* 提高上機操作能力,掌握上機調試程序的方法
* 培養自學能力,強調自主學習。
* 養成良好的程序設計習慣。

通過總結多年的教學經驗,總結學生在學習過程中具有規律性的特點,可以發現,在本課程學習過程中學生經常出現下面這些問題:
* 注重理論學習,忽視上機編程實踐,造成"只能用筆在紙上編程"的奇怪現象。特別是一些女同學,一到機器前面就手忙腳亂,如果程序再出現錯誤,就更不知道該如何查找錯誤,如何排除錯誤了。
*入門時自以為難度大,產生畏難情緒,總是怕,最後因為怕學不好而導致沒有學好。
*前期沒有抓緊,希望通過突擊完成課程學習。本課程要靠平時的積累,幾乎不能靠臨時突擊,由於前面基礎補扎實,到了後面已經無法彌補。
*太注重學習語句的語法規定,忽視了對編程的思路和方法的訓練。有些同學再學習結束的感覺就是:對每一個語句的語法和每一條規定都明白,就是面對實際問題的時候不知道該如何思考,該如何編程。
*急於求成,總想編寫綜合性的程序,忽視基本概念,忽視基本功的訓練和練習。在編寫程序中發現問題,一追根源,全是概念或基礎問題。

為了學好本課程,沒有什麼竅門,建議大家採用如下的"笨"方法:
*認真聽講,積極思考,提高上課效率。教師上課講述的都是課程的重點和難點,聽好課程可以達到"事半功倍"的目的。
*主動上機,多多實踐,提高動手能力。通過上機實踐來驗證所學的理論,通過在機器上查找錯誤來鞏固概念,通過提高上機能力來促進理論學習,開闊編程思路,提高反映速度,提高分析問題解決問題的能力,鍛煉心理素質,提高心理承受能力。
*學習初期重點掌握語言的語法和規定。這是基礎。
*後期重點掌握編程的思路和基本演算法。這是重點。
*學會自學,加強交流,及時答疑解惑。可以採用多種形式進行交流,可以是傳統的面面進行答疑,也可以是利用網路通過郵件、BBS進行網上交流。不要將疑問積累到最後羨芹核。
*開闊眼界,打開思路,多看幾本書。C語言的書非常多,各有自己的特色,要找到適合自己的參考數目

2 回復:C語言學習方法-----北京理工大學李鳳霞教授等專家談
1.不要看到別人的回復第一句話就說:給個代碼吧!你應該想想為什麼。當你自己想
出來再參考別人的提示,你就知道自己和別人思路的差異。
2.初學者請不要看太多太多的書那會誤人子弟的,先找本系統的學,很多人用了很久
都是只對部分功能熟悉而已,不系統還是不夠的。
3.看幫助,不要因為很難而自己是初學者所兄掘以就不看;幫助永遠是最好的參考手冊,
雖然幫助的文字有時候很難看懂,總覺得不夠直觀。
4.不要被對象、屬性、方法等詞彙所迷惑;最根本的是先了解最基礎知識。
5.不要放過任何一個看上去很簡單的小問題--他們往往並不那麼簡單,或者可以引伸
出很多知識點;不會舉一反三你就永遠學不會。
6.知道一點東西,並不能說明你會寫腳本,腳本是需要經驗積累的。
7.學腳本並不難,JSP、ASP、PHP等等也不過如此--難的是長期堅持實踐和不遺餘力的博覽
群書;
8.看再多的書是學不全腳本的,要多實踐
9.把時髦的技術掛在嘴邊,還不如把過時的技術記在心裡;
10.學習腳本最好的方法之一就是多練習;
11.在任何時刻都不要認為自己手中的書已經足夠了;
12.看得懂的書,請仔細看;看不懂的書,請硬著頭皮看;
13.別指望看第一遍書就能記住和掌握什麼--請看第二遍、第三遍;
14.請把書上的例子親手到電腦上實踐,即使配套光碟中有源文件;
15.把在書中看到的有意義的例子擴充;並將其切實的運用到自己的工作中;
16.不要漏掉書中任何一個練習--請全部做完並記錄下思路;
17.當你用腳本到一半卻發現自己用的方法很拙劣時,請不要馬上停手;請盡快將余
下的部分粗略的完成以保證這個代碼的完整性,然後分析自己的錯誤並重新編寫和工
作。
18.別心急,寫腳本確實不容易;水平是在不斷的實踐中完善和發展的;
19.每學到一個腳本難點的時候,嘗試著對別人講解這個知識點並讓他理解----你能
講清楚才說明你真的理解了;
20.記錄下在和別人交流時發現的自己忽視或不理解的知識點;
21.保存好你做過的所有的源文件----那是你最好的積累之一;
22.對於網路,還是希望大家能多利用一下,很多問題不是非要到論壇來問的,首先
你要學會自己找答案,比如google、網路都是很好的搜索引擎,你只要輸入關鍵字就
能找到很多相關資料,別老是等待別人給你希望,看的出你平時一定也很懶!
23.到一個論壇,你學會去看以前的帖子,不要什麼都不看就發帖子問,也許你的問
題早就有人問過了,你再問,別人已經不想再重復了,做為初學者,誰也不希望自己
的帖子沒人回的。
24.雖然不是打擊初學者,但是這句話還是要說:論壇論壇,就是大家討論的地方,
如果你總期望有高手總無償指點你,除非他是你親戚!!討論者,起碼是水平相當的
才有討論的說法,如果水平真差距太遠了,連基本操作都需要別人給解答,誰還跟你
討論呢。能找到很多相關資料,別老是等待別人給你希望,看的出你平時一定也很懶!
25.到一個論壇,你學會去看以前的帖子,不要什麼都不看就發帖子問,也許你的問
題早就有人問過了,你再問,別人已經不想再重復了,做為初學者,誰也不希望自己
的帖子沒人回的。
26.雖然不是打擊初學者,但是這句話還是要說:論壇論壇,就是大家討論的地方,
如果你總期望有高手總無償指點你,除非他是你親戚!!討論者,起碼是水平相當的
才有討論的說法,如果水平真差距太遠了,連基本操作都需要別人給解答,誰還跟你
討論呢。
別做浮躁的人
浮躁的人容易問:我到底該學什麼;----別問,學就對了;
浮躁的人容易問:JS有錢途嗎;----建議你去搶銀行;
浮躁的人容易說:我要中文版!我英文不行!----不行?學呀!
浮躁的人分兩種:只觀望而不學的人;只學而不堅持的人;
浮躁的人永遠不是一個

『肆』 C語言學習資源整理

C語言學習資源匯總

一、C語言入門課程

1.實驗樓一C語言入門教程

教程+在線開發環境的方式,教程文檔詳細的講解C語言基礎知識,在線開發環境和本地一樣,可以梁握隨時動手跟著教程操作,動手學習的方式非常適合入門初學者。

2.gitbook一一笨方法學C

內容較完整豐富,相當於一本書籍了,適合新手入門學習。

3.菜鳥教程一C 語言教程

純在線文字教程,講解的不是那麼詳細,不過簡單易懂,適合入門初學者學習,看完後可對C語言有個大概的認知。

4.幕課網--C語言入門

教程+"環境",講解的比較細致,也很簡單易懂,跟著教程可傻瓜式操作學習,適合入門新手。局渣盯

5.網易雲課堂一-C語言基礎入門

純視頻方式,每個視頻15分鍾左右,介紹的比較詳細,如果喜愛看視頻來學習的話,可以看看。

二、C語言實戰項目

免費的項目教程:

C語言製作2048;

C語言快速實現五子棋、鬥地主的發牌器;

C語言製作簡單計桐和算器;

用 C語言編寫自己的編程語言。

三、C語言筆記文章整理

學完基礎、做完項目之後,就會有各種問題,這個時候就需要學習筆記啦,或自己總結,或看別人的總結都可以。

1.C 語言中的指針和內存泄漏。

2.如何寫出優美的 C 代碼。

3.C語言的整型溢出問題,酷 殼 - CoolShell.cn。

4.易被遺忘的C/C++要點總結。

5.C/C++的mem函數和strcpy函數的區別和應用。

6.C語言的變數作用域及頭文件。

7.10個經典的C語言面試基礎演算法及代碼。

四、其他資源

再整理一些資源,零七碎八的,對於學習C語言的過程中會很有幫助的。

1.awesome-c(英文)、awesome-c-cn(中文版)

2.源碼閱讀--十個C開源項目。

3.一千行以下有哪些值得學習的小型開源項目? - 互聯網-知乎。

4.值得推薦的C/C++框架和庫。

5.C與 C++ 的真正區別在哪裡?

6.初學者的編程自學指南。

7.免費學習編程的10個好工具。

8.11款學習編程的好玩的瀏覽器游戲(譯)。

9.每個程序員都應該收藏的演算法復雜度速查表。

『伍』 如何學習c語言

很多人對學習C語言感到無從下手,經常問我同一個問題:究竟怎樣學習C語言?我是一個教師,已經開發了很多年的程序,和很多剛剛起步的人一樣,學習的第一個計算機語言就是C語言。經過這些年的開發,我深深的體會到C語言對於一個程序設計人員多麼的重要,如果不懂C語言,你想寫底層程序這幾乎聽起來很可笑,不懂C語言,你想寫出優秀高效的程序,這簡直就是天方夜譚。為什麼C語言如此重要呢? 第一:C語言語法結構很簡潔精妙,寫出的程序也很高效,很便於描述演算法,大多數的程序員願意使用C語言去描述演算法本身,所以,如果你想在程序設計方面有所建樹,就必須去學它。第二:C語言能夠讓你深入系統底層,你知道的衡笑操作系統,哪一個不是C語言寫的?所有的windows,Unix,Linux,Mac,os/2,沒有一個里外的,如果你不懂C語言,怎麼可能深入到這些操作系統當中去呢?更不要說你去寫它們的內核程序了。第三:很多新型的語言都是衍生自C語言,C++,Java,C#,J#,perl...哪個不是呢?掌握了C語言,可以說你就掌握了很多門語言,經過簡單的學習,你就可以用這些新型的語言去開發了,這個再一次驗證了C語言是程序設計的重要基礎。還有啊,多說一點:即使現在招聘程序員,考試都是考C語言,你想加入it行業,那麼就一定要掌握好C語言。那麼究竟怎樣學習C語言呢?1:工欲善其事,必先利其器這里介紹幾個學習C語言必備的東東:一個開發環境,例如turbo C 2.0,這個曾經占據了DOS時代開發程序的大半個江山。但是現在windows時代,用turbo C有感覺不方面,編輯程序起來很吃力,並且拖放,更沒有函數變數自動感應功能,查詢參考資料也不方便。建議使用Visual C++,這個東西雖然比較大塊頭,但是一旦安裝好了,用起來很方便。一本學習教程,現在C語言教材多如牛毛,但推薦大家使用《C語言程序設計》譚浩強主編 第二版 清華大學出版社,此書編寫的很適合初學者,並且內容也很精到。除此以外,現在有很多輔助學習的軟體,畢竟現在是Window時代了,學習軟體多如牛毛,不象我們當初學習,只有讀書做題這么老套。我向大家推薦一個「集成學習環境(C語言)」,里邊的知識點總結和常式講解都非常好,還有題庫測試環境,據說有好幾千題,甚至還有一個windows下的trubo C,初學者甚至不用裝其它的編譯器,就可以練習編程了,非常適合初學者。還有一個「C語言學習系統」軟體,不過感覺只是一個題庫系統,如果你覺得題做的不夠,不妨也可以試試。 2:葵花寶典學習計算機語言最好的方法是什麼?答曰:讀程序。沒錯,讀程序是學習C語言入門最快,也是最好的方法。如同我,現在學習新的J#,C#等其他語言,不再是抱著書本逐行啃,而是學習它們的常式。當然,對於沒有學過任何計算機語言的初學者,最好還是先閱讀教程,學習完每一章,都要認真體會這一章的所有概念,然後不放過這一章中提到的所有常式,然後仔細研讀程序,直到每一行都理解了,然後找幾個編程題目,最好是和常式類似的或一樣的,自己試圖寫出這段已經讀懂的程序,不要以為常式你已經讀懂了,你就可以寫出和它一樣的程序,絕對不一定,不相信你就試一試吧,如果寫不出來,也不要著急,回過頭來再繼續研究常式,想想自己為什麼咐旁含寫不出來,然後再去寫這段程序,反反復復,直到你手到擒來為止,祝賀你,你快入門了。3:登峰造極寫程序的最高境界其實就是掌握各種解決問題的手段(數據結構)和解決問題的方法(演算法)。是不是寫出底層程序就是程序設計高手呢?非也,寫底層程序,無非是掌握了硬體的結構,況且硬體和硬體還不一樣,要給一個晶元寫驅動程序,無非就是掌握這塊晶元的各種寄存器及其組合,然後寫值讀值,僅此而已。這不過是熟悉一些io函數罷了。那麼怎樣才算精通程序設計呢?怎樣才能精通程序設計呢?啟亮舉個例子:你面前有10個人,找出一個叫「張三」的人,你該怎麼辦?第一種方法:直接對這10個人問:「誰叫張三」。第2種方法:你挨個去問「你是不是張三?」,直到問到的這個人就是張三。第三種方法:你去挨個問一個人「你認不認識張三,指給我看」。不要小看這個問題,你說當然會選第一種方法,沒錯恭喜你答對了,因為這個方法最快,效率最高,但是在程序設計中找到解決問題的最優方法和你用的手段卻是考驗一個程序員程序設計水平的重要標志,而且是不容易達到的。剛才這個問題類似於數據結構和演算法中的:Map數據結構,窮舉查找和折半查找。所以掌握好數據結構和一些常用演算法,是登峰造極的必然之路。最後給大家推薦嚴尉敏的《數據結構》清華大學出版社,希望每一個想成為程序設計高手的人研讀此書

『陸』 怎樣學C語言啊,感覺C好難哦。

C程序設計的內容很豐富,按照現在的教學大綱,教學的主要內容是基礎知識、四種結構的的程序設計、函數與數組的應用和一些簡單的演算法。在學習時,同學們應該把主要精力放在這些部分,通過實踐(練習和上機調試等熟練掌握。當然,在初學C語言時,可能會遇到有些問題理解不透,或者表達方式與以往數學學習中不同(如運算符等),這就要求不氣餒,不明白的地方多問多想,鼓足勇氣進行學習,待學完後面的章節知識,前面的問題也就迎刃而解了,這一方面我感覺是我們同學最欠缺,大多學不好的就是因為一開始遇到困難就放棄,曾經和好多同學談他的問題,回答是聽不懂、不想聽、放棄這樣三個過程,我反問,這節課你聽過課嗎?回答又是沒有,根本就沒聽過課,怎麼說自己聽不懂呢?相應的根本就沒學習,又談何學的好?
學習C語言始終要記住「曙光在前頭」和「千金難買回頭看」,「千金難買回頭看」是學習知識的重要方法,就是說,學習後面的知識,不要忘了回頭弄清遺留下的問題和加深理解前面的知識,這是我們學生最不易做到的,然而卻又是最重要的。比如:在C語言中最典型的是關於結構化程序設計構思,不管是那種教材,一開始就強調這種方法,這時也許你不能充分體會,但是學到函數時,再回頭來仔細體會,溫故知新,理解它就沒有那麼難了。學習C語言就是要經過幾個反復,才能前後貫穿,積累應該掌握的C知識。
那麼,我們如何學好《C程序設計》呢?
一.學好C語言的運算符和運算順序
這是學好《C程序設計》的基礎,C語言的運算非常靈活,功能十分豐富,運算種類遠多於其它程序設計語言。在表達式方面較其它程序語言更為簡潔,如自加、自減、逗號運算和三目運算使表達式更為簡單,但初學者往往會覺的這種表達式難讀,關鍵原因就是對運算符和運算順序理解不透不全。當多種不同運算組成一個運算表達式,即一個運算式中出現多種運算符時,運算的優先順序和結合規則顯得十分重要。在學習中,只要我們對此合理進行分類,找出它們與我們在數學中所學到運算之間的不同點之後,記住這些運算也就不困難了,有些運算符在理解後更會牢記心中,將來用起來得心應手,而有些可暫時放棄不記,等用到時再記不遲。
先要明確運算符按優先順序不同分類,《C程序設計》運算符可分為15種優先順序,從高到低,優先順序為1 ~ 15,除第2、3級和第14級為從右至左結合外,其它都是從左至右結合,它決定同級運算符的運算順序。下面我們通過幾個例子來說明:
(1) 5*8/4%10 這個表達式中出現3種運算符,是同級運算符,運算順序按從左至右結合,因此先計算5 *8=40,然後被4除,結果為10,最後是%(求余數)運算,所以表達式的最終結果為10%10 = 0;
(2)a = 3;b = 5;c =++ a* b ;d =a + +* b;
對於c=++a*b來說,按表中所列順序,+ +先執行,*後執行,所以+ + a執行後,a的值為4,由於+ +為前置運算,所以a的值4參與運算,C的值計算式為4*5=20而不是3*5=15了;而對於d=a++*b來說,由於a + +為後置運算,所以a值為4參與運算,使得d的值仍為20,而a參與運算後其值加1,值為5。這個例子執行後,a的值為5,b的值為5,c的值為20,d的值也是20;
(3)(a = 3,b = 5,b+ = a,c = b* 5)
例子中的「,」是逗號結合運算,上式稱為逗號表達式,自左向右結合,最後一個表達式的結果值就是逗號表達式的結果,所以上面的逗號表達式結果為40,a的值為3,b的值為8,c的值為40。
(4)a=5;b=6;c=a>b?a:b;
例中的a>b?a:b是一個三目運算,它的功能是先做關系運算a>b部分,若結果為真,則取問號後a的值,否則取冒號後b的值,因此c的值應該為6,這個運算可以用來代替if…else…語句的簡單應用。

二.學好C語言的四種程序結構
(1)順序結構
順序結構的程序設計是最簡單的,只要按照解決問題的順序寫出相應的語句就行,它的執行順序是自上而下,依次執行。
例如;a = 3,b = 5,現交換a,b的值,這個問題就好象交換兩個杯子水,這當然要用到第三個杯子,假如第三個杯子是c,那麼正確的程序為: c = a; a = b; b = c; 執行結果是a = 5,b = c = 3如果改變其順序,寫成:a = b; c = a; b = c; 則執行結果就變成a = b = c = 5,不能達到預期的目的,初學者最容易犯這種錯誤。順序結構可以獨立使用構成一個簡單的完整程序,常見的輸入、計算,輸出三步曲的程序就是順序結構,例如計算圓的面積,其程序的語句順序就是輸入圓的半徑 r,計算s = 3.14159*r*r,輸出圓的面積s。不過大多數情況下順序結構都是作為程序的一部分,與其它結構一起構成一個復雜的程序,例如分支結構中的復合語句、循環結構中的循環體等。
(2) 分支結構
順序結構的程序雖然能解決計算、輸出等問題,但不能做判斷再選擇。對於要先做判斷再選擇的問題就要使用分支結構。分支結構的執行是依據一定的條件選擇執行路徑,而不是嚴格按照語句出現的物理順序。分支結構的程序設計方法的關鍵在於構造合適的分支條件和分析程序流程,根據不同的程序流程選擇適當的分支語句。分支結構適合於帶有邏輯或關系比較等條件判斷的計算,設計這類程序時往往都要先繪制其程序流程圖,然後根據程序流程寫出源程序,這樣做把程序設計分析與語言分開,使得問題簡單化,易於理解。程序流程圖是根據解題分析所繪制的程序執行流程圖。
學習分支結構不要被分支嵌套所迷惑,只要正確繪制出流程圖,弄清各分支所要執行的功能,嵌套結構也就不難了。嵌套只不過是分支中又包括分支語句而已,不是新知識,只要對雙分支的理解清楚,分支嵌套是不難的。下面我介紹幾種基本的分支結構。
①if(條件)
{
分支體
}
這種分支結構中的分支體可以是一條語句,此時「{ }」可以省略,也可以是多條語句即復合語句。它有兩條分支路徑可選,一是當條件為真,執行分支體,否則跳過分支體,這時分支體就不會執行。如:要計算x的絕對值,根據絕對值定義,我們知道,當x>=0時,其絕對值不變,而x<0時其絕對值是為x的反號,因此程序段為:if(x<0) x=-x;
②if(條件)
{分支1}
else
{分支2}
這是典型的分支結構,如果條件成立,執行分支1,否則執行分支2,分支1和分支2都可以是1條或若干條語句構成。如:求ax^2+bx+c=0的根
分析:因為當b^2-4ac>=0時,方程有兩個實根,否則(b^2-4ac<0)有兩個共軛復根。其程序段如下:

d=b*b-4*a*c;
if(d>=0)
{x1=(-b+sqrt(d))/2a;
x1=(-b-sqrt(d))/2a;
printf(「x1=%8.4f,x2=%8.4f\n」,x1,x2);
}
else
{r=-b/(2*a);
i =sqrt(-d)/(2*a);
printf(「x1=%8.4f+%8.4fi\n」r, i);
printf(「x2=%8.4f-%8.4fi\n」r,i)
}
③嵌套分支語句:其語句格式為:
if(條件1) {分支1};
else if(條件2) {分支2}
else if(條件3) {分支3}
……
else if(條件n) {分支n}
else {分支n+1}
嵌套分支語句雖可解決多個入口和出口的問題,但超過3重嵌套後,語句結構變得非常復雜,對於程序的閱讀和理解都極為不便,建議嵌套在3重以內,超過3重可以用下面的語句。
④switch開關語句:該語句也是多分支選擇語句,到底執行哪一塊,取決於開關設置,也就是表達式的值與常量表達式相匹配的那一路,它不同 if…else 語句,它的所有分支都是並列的,程序執行時,由第一分支開始查找,如果相匹配,執行其後的塊,接著執行第2分支,第3分支……的塊,直到遇到break語句;如果不匹配,查找下一個分支是否匹配。這個語句在應用時要特別注意開關條件的合理設置以及break語句的合理應用。
(3)循環結構:
循環結構可以減少源程序重復書寫的工作量,用來描述重復執行某段演算法的問題,這是程序設計中最能發揮計算機特長的程序結構,C語言中提供四種循環,即goto循環、while循環、do –while循環和for循環。四種循環可以用來處理同一問題,一般情況下它們可以互相代替換,但一般不提倡用goto循環,因為強制改變程序的順序經常會給程序的運行帶來不可預料的錯誤,在學習中我們主要學習while、do…while、for三種循環。常用的三種循環結構學習的重點在於弄清它們相同與不同之處,以便在不同場合下使用,這就要清楚三種循環的格式和執行順序,將每種循環的流程圖理解透徹後就會明白如何替換使用,如把while循環的例題,用for語句重新編寫一個程序,這樣能更好地理解它們的作用。特別要注意在循環體內應包含趨於結束的語句(即循環變數值的改變),否則就可能成了一個死循環,這是初學者的一個常見錯誤。
在學完這三個循環後,應明確它們的異同點:用while和do…while循環時,循環變數的初始化的操作應在循環體之前,而for循環一般在語句1中進行的;while 循環和for循環都是先判斷表達式,後執行循環體,而do…while循環是先執行循環體後判斷表達式,也就是說do…while的循環體最少被執行一次,而while 循環和for就可能一次都不執行。另外還要注意的是這三種循環都可以用break語句跳出循環,用continue語句結束本次循環,而goto語句與 if構成的循環,是不能用break和 continue語句進行控制的。
順序結構、分支結構和循環結構並不彼此孤立的,在循環中可以有分支、順序結構,分支中也可以有循環、順序結構,其實不管哪種結構,我們均可廣義的把它們看成一個語句。在實際編程過程中常將這三種結構相互結合以實現各種演算法,設計出相應程序,但是要編程的問題較大,編寫出的程序就往往很長、結構重復多,造成可讀性差,難以理解,解決這個問題的方法是將C程序設計成模塊化結構。
(4)模塊化程序結構
C語言的模塊化程序結構用函數來實現,即將復雜的C程序分為若干模塊,每個模塊都編寫成一個C函數,然後通過主函數調用函數及函數調用函數來實現一大型問題的C程序編寫,因此常說:C程序=主函數+子函數。因些,對函數的定義、調用、值的返回等中要尤其注重理解和應用,並通過上機調試加以鞏固。
三.掌握一些簡單的演算法
編程其實一大部分工作就是分析問題,找到解決問題的方法,再以相應的編程語言寫出代碼。這就要求掌握演算法,根據我們的《C程序設計》教學大綱中,只要求我們掌握一些簡單的演算法,在掌握這些基本演算法後,要完成對問題的分析就容易了。如兩個數的交換、三個數的比較、選擇法排序和冒泡法排序,這就要求我們要清楚這些演算法的內在含義,其中選擇法排序和冒泡法排序稍難,但只要明白排序的具體過程,對代碼的理解就不難了。如用選擇法對10個不同整數排序(從小到大),選擇法排序思路:設有10個元素a[1]~a[10],將a[1]與a[2]~a[10]比較,若a[1]比a[2]~a[10]都小,則不進行交換,即無任何操作;若a[2]~a[10] 中有一個比a[1]小,則將其中最大的一個(假設為a[i])與a[1]交換,此時a[1]中存放了10個中最小的數。第二輪將a[2]與a[3]~a [10]比較,將剩下9個數中的最小者a[i]與a[2]交換,此時a[2] 中存放的10個數中第2小的數;依此類推,共進行9輪比較,a[1]到a[10]就已按從小到大的順序存放。即每一輪都找出剩下數中的最小一個,代碼如下:
for(i=1;i<=9;i++)
for(j=i+1;j<=10;j++)
if(a[i]>a[j]
{temp=a[i];
a[i]=a[j];
a[j]=temp;
}

* 掌握C語言的基本語法和規定。
* 掌握程序設計基本演算法和思路,開拓思路,
* 提高上機操作能力,掌握上機調試程序的方法
* 培養自學能力,強調自主學習。
* 養成良好的程序設計習慣。

通過總結多年的教學經驗,總結學生在學習過程中具有規律性的特點,可以發現,在本課程學習過程中學生經常出現下面這些問題:
* 注重理論學習,忽視上機編程實踐,造成"只能用筆在紙上編程"的奇怪現象。特別是一些女同學,一到機器前面就手忙腳亂,如果程序再出現錯誤,就更不知道該如何查找錯誤,如何排除錯誤了。
*入門時自以為難度大,產生畏難情緒,總是怕,最後因為怕學不好而導致沒有學好。
*前期沒有抓緊,希望通過突擊完成課程學習。本課程要靠平時的積累,幾乎不能靠臨時突擊,由於前面基礎補扎實,到了後面已經無法彌補。
*太注重學習語句的語法規定,忽視了對編程的思路和方法的訓練。有些同學再學習結束的感覺就是:對每一個語句的語法和每一條規定都明白,就是面對實際問題的時候不知道該如何思考,該如何編程。
*急於求成,總想編寫綜合性的程序,忽視基本概念,忽視基本功的訓練和練習。在編寫程序中發現問題,一追根源,全是概念或基礎問題。

為了學好本課程,沒有什麼竅門,建議大家採用如下的"笨"方法:
*認真聽講,積極思考,提高上課效率。教師上課講述的都是課程的重點和難點,聽好課程可以達到"事半功倍"的目的。
*主動上機,多多實踐,提高動手能力。通過上機實踐來驗證所學的理論,通過在機器上查找錯誤來鞏固概念,通過提高上機能力來促進理論學習,開闊編程思路,提高反映速度,提高分析問題解決問題的能力,鍛煉心理素質,提高心理承受能力。
*學習初期重點掌握語言的語法和規定。這是基礎。
*後期重點掌握編程的思路和基本演算法。這是重點。
*學會自學,加強交流,及時答疑解惑。可以採用多種形式進行交流,可以是傳統的面面進行答疑,也可以是利用網路通過郵件、BBS進行網上交流。不要將疑問積累到最後。
*開闊眼界,打開思路,多看幾本書。C語言的書非常多,各有自己的特色,要找到適合自己的參考數目

2 回復:C語言學習方法-----北京理工大學李鳳霞教授等專家談
1.不要看到別人的回復第一句話就說:給個代碼吧!你應該想想為什麼。當你自己想
出來再參考別人的提示,你就知道自己和別人思路的差異。
2.初學者請不要看太多太多的書那會誤人子弟的,先找本系統的學,很多人用了很久
都是只對部分功能熟悉而已,不系統還是不夠的。
3.看幫助,不要因為很難而自己是初學者所以就不看;幫助永遠是最好的參考手冊,
雖然幫助的文字有時候很難看懂,總覺得不夠直觀。
4.不要被對象、屬性、方法等詞彙所迷惑;最根本的是先了解最基礎知識。
5.不要放過任何一個看上去很簡單的小問題--他們往往並不那麼簡單,或者可以引伸
出很多知識點;不會舉一反三你就永遠學不會。
6.知道一點東西,並不能說明你會寫腳本,腳本是需要經驗積累的。
7.學腳本並不難,JSP、ASP、PHP等等也不過如此--難的是長期堅持實踐和不遺餘力的博覽
群書;
8.看再多的書是學不全腳本的,要多實踐
9.把時髦的技術掛在嘴邊,還不如把過時的技術記在心裡;
10.學習腳本最好的方法之一就是多練習;
11.在任何時刻都不要認為自己手中的書已經足夠了;
12.看得懂的書,請仔細看;看不懂的書,請硬著頭皮看;
13.別指望看第一遍書就能記住和掌握什麼--請看第二遍、第三遍;
14.請把書上的例子親手到電腦上實踐,即使配套光碟中有源文件;
15.把在書中看到的有意義的例子擴充;並將其切實的運用到自己的工作中;
16.不要漏掉書中任何一個練習--請全部做完並記錄下思路;
17.當你用腳本到一半卻發現自己用的方法很拙劣時,請不要馬上停手;請盡快將余
下的部分粗略的完成以保證這個代碼的完整性,然後分析自己的錯誤並重新編寫和工
作。
18.別心急,寫腳本確實不容易;水平是在不斷的實踐中完善和發展的;
19.每學到一個腳本難點的時候,嘗試著對別人講解這個知識點並讓他理解----你能
講清楚才說明你真的理解了;
20.記錄下在和別人交流時發現的自己忽視或不理解的知識點;
21.保存好你做過的所有的源文件----那是你最好的積累之一;
22.對於網路,還是希望大家能多利用一下,很多問題不是非要到論壇來問的,首先
你要學會自己找答案,比如google、網路都是很好的搜索引擎,你只要輸入關鍵字就
能找到很多相關資料,別老是等待別人給你希望,看的出你平時一定也很懶!
23.到一個論壇,你學會去看以前的帖子,不要什麼都不看就發帖子問,也許你的問
題早就有人問過了,你再問,別人已經不想再重復了,做為初學者,誰也不希望自己
的帖子沒人回的。
24.雖然不是打擊初學者,但是這句話還是要說:論壇論壇,就是大家討論的地方,
如果你總期望有高手總無償指點你,除非他是你親戚!!討論者,起碼是水平相當的
才有討論的說法,如果水平真差距太遠了,連基本操作都需要別人給解答,誰還跟你
討論呢。能找到很多相關資料,別老是等待別人給你希望,看的出你平時一定也很懶!
25.到一個論壇,你學會去看以前的帖子,不要什麼都不看就發帖子問,也許你的問
題早就有人問過了,你再問,別人已經不想再重復了,做為初學者,誰也不希望自己
的帖子沒人回的。
26.雖然不是打擊初學者,但是這句話還是要說:論壇論壇,就是大家討論的地方,
如果你總期望有高手總無償指點你,除非他是你親戚!!討論者,起碼是水平相當的
才有討論的說法,如果水平真差距太遠了,連基本操作都需要別人給解答,誰還跟你
討論呢。
別做浮躁的人
浮躁的人容易問:我到底該學什麼;----別問,學就對了;
浮躁的人容易問:JS有錢途嗎;----建議你去搶銀行;
浮躁的人容易說:我要中文版!我英文不行!----不行?學呀!
浮躁的人分兩種:只觀望而不學的人;只學而不堅持的人;
浮躁的人永遠不是一個

結語:當我們把握好上述幾方面後,只要同學們能克服畏難、厭學、上課能專心聽講,做好練習與上機調試,其實C語言並不難學。

『柒』 怎麼學好c語言

1.先學習C語言的基礎知識。現在正在學C語言的在校學生可以直接進入第2步學習。
2.按照《C語言程序設計入門學習六步曲》進行上機練習。
3.在上機練習時要養成良好的編程風格。點擊查看C語言的編程風格

4.積極參加C、C++興趣小組,養成和老師與同學交流習慣,從而相互收益。有時別人不經意的一句話可能使你茅塞頓開--「一句話點醒夢中人」。

5.及時總結自己的學習經驗,養成寫C語言日記的習慣。軟體有編程日記功能。

6.從網上或教材上找一個自己感興趣的題目(選題時根據自己的能力,可先易後難,培養自己的成就感,如果有了成就感,即使再苦再累還是感覺C語言學習是一件快樂的事,同學們喜歡打游戲,經常通宵達旦地玩游戲也樂而不疲就是這個道理)進行實戰訓練,提高自己的C語言綜合應用能力。

7. 由於C語言靈活、強大,初學者要全面地掌握它是不可能的,因此在學習C語言的過程中,不要在細枝末節上浪費精力(比如++、--用於表達式的計算,實際上是沒有意義的),但一定要熟練掌握C語言的流程式控制制語句、數組、函數、指針等基礎知識的應用,為學習面向對象程序設計打下堅實的基礎。如果這些知識你學不好,要後續學習好C++、可視化的程序設計Visual C++或C++Builder就像空中樓閣,是不現實的。
C語言程序設計入門學習六步曲

我們抱怨最多的一句話是:老師,上課我也能聽懂,書上的例題也能看明白,可是到自己動手做編程時,卻不知道如何下手。發生這種現象的原因有三個:

一、所謂的看懂聽明白,只是很膚淺的語法知識,而我們編寫的程序或軟體是要根據要解決問題的實際需要控製程序的流程,如果你沒有深刻地理解C語言的語句的執行過程(或流程),你怎麼會編寫程序解決這些實際問題呢?

二、用C語言編程解決實際問題,所需要的不僅僅是C語言的編程知識,還需要相關的專業知識。例如,如果你不知道長方形的面積公式,即使C語言學得再好你也編不出求長方形的面積的程序來。

三、C語言程序設計是一門實踐性很強的課程,「紙上談兵」式的光學不練是學不好C語言的。例如,大家都看過精彩自行車雜技表演,假如,你從來沒有騎過自行車,光聽教練講解相關的知識、規則、技巧,不要說上台表演、就是上路你恐怕都不行。

出現問題原因清楚了,那麼如何學習呢?請你看【C語言學習六步曲】

在程序開發的過程中,上機調試程序是一個不可缺少的重要環節。「三分編程七分調試」,說明程序調試的工作量要比編程大得多。這里以如何上機調試C程序來說明C語言的學習方法。

第一步、驗證性練習

在這一步要求按照教材上的程序實例進行原樣輸入,運行一下程序是否正確。在這一步基本掌握C語言編程軟體的使用方法(包括新建、打開、保存、關閉C程序,熟練地輸入、編輯C程序;初步記憶新學章節的知識點、養成良好的C語言編程風格)。
初學者最容易犯的錯誤是:

1、沒有區分開教材上的數字1和字母l,字母o和數字0的區別,造成變數未定義的錯誤。另一個易錯點是將英文狀態下的逗號,分號;括弧()雙引號""輸入出入成中文狀態下的逗號,分號;括弧(),雙引號「」造成非法字元錯誤。

2、C語言初學者易犯語法錯誤:使用未定義的變數、標示符(變數、常量、數組、函數等)不區分大小寫、漏掉「;」、「{」與「}」、「(」與「)」不匹、控制語句(選擇、分支、循環)的格式不正確、調用庫函數卻沒有包含相應的頭文件、調用未C聲明的自定義函數、調用函數時實參與形參不匹配、數組的邊界超界等。

3、修改C語言語法錯誤時要注意以下兩點:

(1)、由於C語言語法比較自由、靈活,因此錯誤信息定位不是特別精確。例如,當提示第10行發生錯誤時,如果在第10行沒有發現錯誤,從第10行開始往前查找錯誤並修改之。

(2)、一條語句錯誤可能會產生若干條錯誤信息只要修改了這條錯誤,其他錯誤會隨之消失。特別提示:一般情況下,第一條錯誤信息最能反映錯誤的位置和類型,所以調試程序時務必根據第一條錯誤信息進行修改,修改後,立即運行程序,如果還有很多錯誤,要一個一個地修改,即,每修改一處錯誤要運行一次程序。
第二步、照葫蘆畫瓢
在第一步輸入的C程序的基礎上進行試驗性的修改,運行一下程序看一看程序結果發生了什麼變化,分析結果變化的原因,加深新學知識點的理解。事實上這和第一步時同步進行的,實現「輸入」加深知識的記憶,「修改」加深對知識的理解。記憶和理解是相輔相成的,相互促進。

例如:將最簡單的Hello World!程序
#include "stdio.h"
int main()
{
printf("Hello World!\n");
return 0;
}
中的

printf("Hello World!\n");

中的Hello World!改成你的姓名,運行一下程序,看有什麼變化?

再如求1+2+3...+100的和的程序

#include <stdio.h>

main()

{

int i,sum=0;

for(i=1;i<=100;i++)
{
sum=sum+i;
}
printf("sum=%d\n",sum);
}

第1次將for(i=1;i<=100;i++)中的100改成50,運行一下程序,看有什麼變化?

第2次將for(i=1;i<=100;i++)中的i++改成i=i+2,運行一下程序,看有什麼變化?

找出程序結果變化的原因,就加深了對C語句的理解。

第三步、不看教材看是否能將前兩步的程序進行正確地輸入並運行。

在這一步要求不看教材,即使程序不能運行,看能否將其改正,使其能正確運行。目的是對前兩步的記憶、理解進一步強化。

第四步、增強程序的調試能力

在教材中每章都有C語言初學者易犯的錯誤,按照易出錯的類型,將教材中的正確的程序改成錯誤的程序,運行一下程序,看出現的錯誤信息提示,並記下錯誤信息,再將程序改成正確的,運行一下程序。這樣反復修改,就能夠學習C語言程序發生錯誤的原因和修改錯誤的能力。

注意:每次只改錯一個地方,目的是顯示發生該錯誤的真正原因,避免一次改動多個地方,搞清發生錯誤的真正原因,切記!!!!

注意:上機調試程序時要帶一個記錄本,記下英文錯誤提示信息和解決該錯誤問題的方法,積累程序調試經驗,避免在編程犯同樣的錯誤,切記!!!!。

例如,將Hello World程序中語句

printf("Hello World!\n");

中的;改成中文的分號;

運行一下程序,看有什麼結果?

調試程序是一種實踐性很強的事,光紙上談兵是是沒用的,就像游泳運動員只聽教練講解示範,而不親自下水練習,是永遠學不會游泳的。

即使在優秀的程序員編寫程序也會犯錯誤的,可能事最低級的語法錯誤,但他能快速發現錯誤並改正錯誤,而我們C語言初學者面對錯誤提示,不知道發生了什麼錯誤,如何改正,這就事差別。

第五步、研究典型的C語言程序,提高程序設計能力

C語言初學者遇到最多的困惑是:上課也能聽懂,書上的例題也能看明白,可是到自己動手做編程時,卻不知道如何下手。發生這種現象的原因是:所謂的看懂聽明白,只是很膚淺的語法知識,而沒有深刻地理解C語言的語句的執行過程(或流程)。

計算機是按照人的指令(編寫的程序)去執行的,如果不知道這些C語句在計算機中是如何執行的,你怎麼回靈活運用這些知識去解決實際問題呢?

解決問題的方法是要先理解C語言各種語句的流程(即計算機是如何執行這些語句的過程),然後研讀現成C語言經典程序,看懂別人事如何解決問題的,以提高自己的程序設計能力。
第六步、研究課程設計源成序,提高C語言的綜合應用能力.