C語言學習方法 ——這是我從多篇文章中整理出來的! 1.給初學者的建議: 1.學好數(shù)學,重視數(shù)據(jù)結構(在能編寫一段小的計算程序之后就可以看了, 2.主要目的是提高代碼的執(zhí)行效率!) 3.BASIC——pascal——C(數(shù)據(jù)結構)——匯編——編譯原理(頭腦中要大體了解)——數(shù)據(jù)結構——C++(與數(shù)據(jù)結構同等重要)——基于操作平臺的編程——數(shù)據(jù)庫 要求:對與數(shù)據(jù)結構:要能用高級語言實現(xiàn)各種數(shù)據(jù)結構。 4.學C主要學習過程化的程序設計, 5.學會把自己的程序分成許多函數(shù)或過程 6.看看高人寫的C程序,學習他的程序格式, 比如:變量命名,函數(shù)的劃分,算法的實現(xiàn) 7.學完C,可以開始學匯編,參考書目:《IBM PC匯編程序設計》(清華黃皮), 補注:當你發(fā)現(xiàn)程序寫到一定義程度而很難再提高的時候,就是可回來再看看數(shù)據(jù)結構、離散數(shù)學和編譯原理! 決定編程能力的高低主要因素:編程習慣,數(shù)學能力(邏輯思維,分析問題), 對數(shù)據(jù)結構的認識能力,經(jīng)驗多少(包括多使用語言的掌握能力) 2.C語言學習六步曲 1>驗證性練習 2>按原文輸入 3>不看書,自己錄入 4>運行程序 5>調(diào)試程序 每次只改錯一個地方,切記?。?! 記下英文錯誤提示信息,以及解決方法! 6>研究典型C程序,提高C語言綜合應用能力 3.養(yǎng)成良好的C語言編程風格 1>縮進:TAB鍵,少嵌套(影響程序執(zhí)行和閱讀) 2>大括號的位置:單獨一行 3>命名系統(tǒng):掌握常用變量命名規(guī)則,多使用有意義的英文單詞,常用的縮寫,下劃線, 數(shù)字,避免過長的變量名和函數(shù)名,使用兇牙利命名法則。 4>函數(shù):要短小精悍,一個函數(shù)實現(xiàn)一個功能,一般只覆蓋一到二屏。局部變量不要超過 10個,否則將函數(shù)拆分為更小的函數(shù)。 5>注釋:程序塊注釋和行注釋。注釋應遵循的規(guī)則,解釋做什么,而非怎么做;在函數(shù) 之前說明函數(shù)做了什么事,和它為什么要這樣做。 6>空格與空行:用空格與空行增加程序的易讀性。 4.C語言程序設計的步驟: 分析問題:確定要產(chǎn)生的和要輸入的數(shù)據(jù),研制算法,在有限步的輸入中獲取輸出。 畫出輪廓:分級劃分,逐步細化。 實現(xiàn)程序:編寫程序,測試與調(diào)試程序,提供數(shù)據(jù)與打印結果。 5.學習C語言應注意的問題: 1>掌握C語言基礎——弄清概念,熟記算法;勤于編程和上機掌握語言結構。 2>重視編程技巧——1>正確定義變量類型; 2>準確使用語言符號; int a=9; int c; printf("%d",(c=a+10,c+10)); 輸出: 3>正確使用指針:每引用一個指針變量必需賦予嚴格的定義和準確的地址。 4>巧用系統(tǒng)函數(shù)頭文件和自定義頭文件,注意:自定義的頭文件只能在主函數(shù)中包含一次,且自定義頭文件中不能再有主函數(shù)。 3>認真調(diào)試程序
編程初學者的良言警句: 1三個誤區(qū): 1>認為計算機技術等于編程技術。其實編程是計算機應用中復雜程度最低的勞動; 2>咬文嚼字,死摳語法; 3>不顧基礎,盲目追趕時髦。 因為此較為重要,所以我按原文摘錄: (終于點到題目上來了。大多數(shù)的人都希望自己的東西能夠馬上跑起來,變成錢。這種想法對一個已經(jīng)進入職業(yè)領域的程序員或者項目 經(jīng)理來說是合理的,而且IT技術進步是如此的快,不跟進就是失業(yè)。但是對于初學者來說(尤其是時間充裕的大中專在校生),這種想法 是另人費解的。一個并未進入到行業(yè)競爭中來的初學者最大的資本便是他有足夠的時間沉下心來學習基礎性的東西,學習why 而不是how。 時髦的技術往往容易掌握,而且越來越容易掌握,這是商業(yè)利益的驅使,為了最大化的降低軟件開發(fā)的成本。但在IT領域內(nèi)的現(xiàn)實就是這 樣,越容易掌握的東西,學習的人越多,而且淘汰得越快。每一次新的技術出來,都有許多初學者跟進,這些初學者由于缺乏必要的基礎 而使得自己在跟進的過程中花費大量的時間,而等他學會了,這種技術也快淘汰了?;A的課程,比方數(shù)據(jù)結構,操作系統(tǒng)原理等等雖然 不能讓你立馬就實現(xiàn)一個linux(這是許多人嘲笑理論課程無用的原因),但它們能夠顯著的減少你在學習新技術時學習曲線的坡度。而且 對于許多關鍵的技術(比方Win32 SDK 程序的設計,DDK的編程)來說甚至是不可或缺的。 一個活生生的例子是我和我的一個同學,在大一時我還找不到開機按紐,他已經(jīng)會寫些簡單的匯編程序了。我把大二的所有時間花在 了匯編,計算機體系結構,數(shù)據(jù)結構,操作系統(tǒng)原理等等這些課程的學習上,而他則開始學習HTML和VB,并追趕ASP的潮流。大三的時候我 開始學習Windows 操作系統(tǒng)原理,學習SDK編程,時間是漫長的,這時我才能夠用VC開發(fā)出象模象樣的應用程序。我曾一度因為同學的程序 已經(jīng)能夠運行而自己還在學習如何創(chuàng)建對話框而懊惱不已,但臨到畢業(yè)才發(fā)現(xiàn)自己的選擇是何等的正確。和我談判的公司開出的薪水是他 的兩倍還多。下面有一個不很恰當?shù)谋确剑杭僭O學習VB編程需要4個月,學習基礎課程和VC的程序設計需要1年。那么如果你先學VB,再來 學習后者,時間不會減少,還是1年,而反過來,如果先學習后者,再來學VB,也許你只需要1個星期就能學得非常熟練。)
|