學(xué)C語言不知道從哪兒下手?學(xué)習(xí)框架都幫你列好了!
隨著高考結(jié)束,在未來計算機專業(yè)講又要迎來一批新生小鮮肉!C語言入門到入土,從長發(fā)飄飄到禿頂?shù)睦翔F也越來越多,其中,想自學(xué)成才的也占了不少數(shù);想笨鳥先飛的也占有不少數(shù)。
傳說中的C語言就是那么刺激和高挑戰(zhàn)
沒有基礎(chǔ)的人也可以直接學(xué)習(xí),速度會慢一點
C語言上手可能不是很容易,首先你的花費一周時間掌握最基本的內(nèi)容。(PS:沒有基礎(chǔ)的人也可以直接學(xué)習(xí),速度會慢一點)
- 常用的基本數(shù)據(jù)類型(int,float,double,char)的使用,必然包含常用的輸入和輸出函數(shù)。
- 程序的三大結(jié)構(gòu)學(xué)習(xí):順序結(jié)構(gòu),選擇結(jié)構(gòu),循環(huán)結(jié)構(gòu)。
- 模塊化程序設(shè)計的函數(shù)了解下
你再花2周學(xué)習(xí)些:
- 指針
- 結(jié)構(gòu)體
- 文件
此時,有些人就在簡歷中得意的自稱"會"C語言了。
但是學(xué)到如此程度,在實際編程中會經(jīng)常遇到挫折,主要源自理解不夠深入,僅僅體驗了一下C語言語法而已。
隨意列舉一些新手普遍存在的問題:
- 不了解C語言模塊化設(shè)計,變量名,指針概念含混。
- 更換編譯器,程序出現(xiàn)怪異的結(jié)果。
- 怎樣定義和聲明C語言全局變量和函數(shù)最好?
- 在C語言中,一個結(jié)構(gòu)不能包含指向自己的指針嗎?
- 什么是C語言最好的代碼布局風(fēng)格?
- 為什么不能向接受constchar**的函數(shù)傳入char**?
- 用縮寫“if(p)”檢查空指針是否可靠?
- char*指針指向一些int變量,如何跳過?
- 怎樣建立和理解非常復(fù)雜的聲明?
師傅給我剃個光頭
擁有某項技能的程序員的價值,可以用學(xué)習(xí)技能所需的成本來衡量。你用2周學(xué)習(xí)達到的這種程度,對于企業(yè)就是沒有價值的,因為老板可以讓一個公司里任意其他語言的程序員經(jīng)過2-3周的學(xué)習(xí)就能達到你現(xiàn)在的程度。
C語言的簡潔緊湊、靈活方便。快速開發(fā)對項目有價值,但這不是你的價值,是C語言的價值。所以提高自身價值,也就是不讓別人輕易追上你。以極低的成本替代你。
你只能快跑,進一步學(xué)習(xí),C語言語言層面還需要學(xué)習(xí)下面一些內(nèi)容:
1.C語言運行機制,編譯過程。
2.C語言模塊化思想。
3.深入理解C語言面向過程的設(shè)計思路。
4.C語言編程思維。
5.C語言文件同步操作
上述都是語言層面的,屬于內(nèi)功。實戰(zhàn)中當然也需要一些更為具體的外功,訓(xùn)練外功可以從熟悉C語言標準庫開始,這些模塊能進入標準庫說明他們足夠好并且在實際項目中足夠常用,列舉一些極為常用的:
1.正則表達式
2.Socket網(wǎng)絡(luò)編程
3.讀取PE文件操作
4.進程內(nèi)存查詢與修改
5.常用的數(shù)據(jù)結(jié)構(gòu)與算法
老板我要換種洗發(fā)水
無論練習(xí)內(nèi)功或外功,結(jié)合實戰(zhàn)都是最好的訓(xùn)練方式和檢驗手段,可以根據(jù)個人情況以及喜好選擇,如:
- 網(wǎng)絡(luò)編程借用第三方網(wǎng)站為跳板做實時信息查詢.(例如身份證查詢)
- 使用第三方庫開發(fā)小游戲案列,例如推箱子,掃雷,連連看,消消樂
- 編寫小應(yīng)用,個人詞典啊
- 使用C語言做算法題,ACM,還有各種地方的什么杯(飛機杯,罩杯)
- 使用C語言做數(shù)學(xué)建模或者數(shù)學(xué)計算
- 使用第三方庫做終端模式的播放器
- OpenGL做圖形處理
個人建議選擇小項目進行實訓(xùn),有些新手上來就想定一個大目標,做的時候很挫折,往往半途而廢。把小東西先實現(xiàn),然后優(yōu)化。接下來添加新功能,慢慢迭代把小東西做大。這樣在做的時候,每實現(xiàn)一個小功能你都會有成就感,激勵繼續(xù)前進。
可能經(jīng)過比較漫長的一段時間,你成為了一個熟練的C語言小癟三,還有些高級話題可以繼續(xù)學(xué)習(xí):
- windows編程
- Linux編程
這些高級話題在開發(fā)中經(jīng)常使用,它們可以幫你更便利實現(xiàn)功能。
通常自稱一個月光速學(xué)了會C語言的人基本都不是天才,只是浮躁,目標定的比較低而已,認知局限而已。
不要太過急功近利,慢慢玩,精進。
當然啦,自學(xué)C語言想拔高精進大多都是困難的
我有點方哦
- 沒有良師講解,有些知識點和技術(shù)沒法消化
- 自身理解力不夠,稍微高深一些的就看不懂了
- 還有的……
- 時間不夠,自制力也不夠
沒錯說的就是你老鐵
這個時候你就需要和一群志同道合的的人一起學(xué)習(xí),陪著你一起提高哦~