丰满少妇女人a毛片视频-酒色成人网-日韩欧美一-日韩精品一区二区av在线观看-成人久久免费-欧美精品一二三四区-国产午夜免费-亚洲男人第一天堂-一区二区三区福利视频-午夜激情影院-av中文天堂在线-免费一区二区-欧美日韩xxx-91区视频-亚洲另类激情专区小说图片-黄色的网站在线观看-香蕉精品在线

高分網(wǎng) > 通用學(xué)習(xí)方法 > 學(xué)習(xí)方法 >

c語(yǔ)言學(xué)習(xí)方法

時(shí)間: 如英2 學(xué)習(xí)方法

  對(duì)于C語(yǔ)言的學(xué)習(xí),不同的人有不同的經(jīng)歷和不同的方法,當(dāng)中許多方法都具備相對(duì)完整的步驟和不錯(cuò)的功效。以下是學(xué)習(xí)啦小編要與大家分享的:c語(yǔ)言學(xué)習(xí)方法,希望對(duì)大家的學(xué)習(xí)有幫助!

  c語(yǔ)言學(xué)習(xí)方法一

  C語(yǔ)言相比C++的優(yōu)點(diǎn)之一就是最小驚訝原則,一是一二是二,不會(huì)在私底下產(chǎn)生一些莫名其妙的額外產(chǎn)物。用C++做個(gè)例子,比如這樣一個(gè)函數(shù)原型void PassWithClassValue(COneClass clsParam1),稍微了解C++的朋友都會(huì)知道,如果你沒有實(shí)現(xiàn)COneClass的拷貝構(gòu)造函數(shù),編譯器會(huì)好心的幫你實(shí)現(xiàn)一個(gè),而且在調(diào)用這個(gè)函數(shù)PassWithClassValue的時(shí)候,偷偷地調(diào)用拷貝構(gòu)造函數(shù)產(chǎn)生一個(gè)臨時(shí)對(duì)象作為參數(shù)傳遞,對(duì)于某些情況,比如編寫操作系統(tǒng)這類必須優(yōu)化性能的情景下,這些自以為是的東西是非常邪惡的事情。

  C語(yǔ)言本身只提供必要的語(yǔ)言特性,其它復(fù)雜一點(diǎn)功能如文件處理、數(shù)學(xué)計(jì)算等等都以庫(kù)函數(shù)方式提供,甚至連malloc、free這種“必須有”的功能,也是以標(biāo)準(zhǔn)庫(kù)函數(shù)的方式提供,而不是作為C語(yǔ)言核心出現(xiàn)。在偉大的著名的無(wú)所不包的《K&R》開頭部分就提到了,for其實(shí)可以通過(guò)while來(lái)完成,只不過(guò)for可以寫的更簡(jiǎn)潔,言外之意,對(duì)于C語(yǔ)言for其實(shí)不是必要的。跑題一點(diǎn)說(shuō),在其它程序語(yǔ)言中Lua可以說(shuō)繼承了C語(yǔ)言簡(jiǎn)潔的設(shè)計(jì)哲學(xué),甚至連continue這種幾乎必備的關(guān)鍵字都一直拒絕加入,在Lua的maillist以及wiki里都提到過(guò)continue這個(gè)問(wèn)題,Lua語(yǔ)言維護(hù)者認(rèn)為continue對(duì)于Lua而言不是必要的,也不考慮在后續(xù)版本中添加這個(gè)關(guān)鍵字。這種簡(jiǎn)潔哲學(xué)也讓C語(yǔ)言的可移植性、便攜性特別優(yōu)秀,也使得很多嵌入式系統(tǒng)依然使用C語(yǔ)言作為主要編程工作語(yǔ)言。

  Java語(yǔ)言有一個(gè)口號(hào):“一次編寫,處處運(yùn)行”,就是跨平臺(tái)這個(gè)噱頭。實(shí)際上C語(yǔ)言從早期開始就幾乎達(dá)到了“一次編寫,處處編譯”,在ANSI在1989年統(tǒng)一了C語(yǔ)言標(biāo)準(zhǔn)以后(稱之為C89),只要特定平臺(tái)上的編譯器完整實(shí)現(xiàn)了C89標(biāo)準(zhǔn),而且你的代碼沒有使用某些特殊的擴(kuò)展(GCC以及微軟都有自己的編譯器特定擴(kuò)展),那么代碼一定可以編譯通過(guò),再實(shí)現(xiàn)一下操作系統(tǒng)相關(guān)的函數(shù)庫(kù),C語(yǔ)言的移植就是很簡(jiǎn)單的事情??梢杂肔ua作為例子,Lua本身是完全遵循C89標(biāo)準(zhǔn),沒有使用任何特定擴(kuò)展,這也保證了有C語(yǔ)言編譯器的平臺(tái),都可以編譯使用Lua??梢跃幾g運(yùn)行C語(yǔ)言的硬件平臺(tái)可以從A排到Z,真是非常有意思的事情。

  C語(yǔ)言也是一個(gè)比較少見的應(yīng)用領(lǐng)域極為廣泛的語(yǔ)言。比如編寫操作系統(tǒng)這種高難問(wèn)題,只有C++、匯編語(yǔ)言可以做到。C語(yǔ)言可以編寫服務(wù)器端軟件如Apache、Nginx,或者編寫GUI程序,如GTK。大多數(shù)程序語(yǔ)言的第一版是通過(guò)C語(yǔ)言實(shí)現(xiàn),借助前面提到的“一次編寫處處編譯”,最大的保證了這些程序語(yǔ)言的可移植性。在Web開發(fā)領(lǐng)域,C語(yǔ)言的應(yīng)用相對(duì)較少,這也是一種取舍的結(jié)果,Web開發(fā)需要使用PHP、Ruby、Python這樣的動(dòng)態(tài)語(yǔ)言,可以快速上線快速修改,可以最大程度滿足用戶時(shí)時(shí)變化的需求,這也是C語(yǔ)言的弱項(xiàng)。如果把程序語(yǔ)言的應(yīng)用領(lǐng)域從硬件到管理軟件、Web程序做一個(gè)很粗略從下到上的排列,C語(yǔ)言適合領(lǐng)域是比較底層靠近硬件的部分,而新興語(yǔ)言比較偏重于高層管理或者Web開發(fā)這種相對(duì)貼近最終用戶的領(lǐng)域。比較流行的混合開發(fā)模式是使用C語(yǔ)言編寫底層高性能部分代碼或后臺(tái)服務(wù)器代碼,而使用動(dòng)態(tài)語(yǔ)言如Python做前端開發(fā),充分發(fā)揮它們各自的優(yōu)勢(shì)力量。

  提到C語(yǔ)言的缺點(diǎn),常常是它缺少這種或者那種特性,比如有人建議加入GC,有人建議加入并行或者并發(fā)支持,有人提到?jīng)]有一個(gè)比較完整的類似C++的異常策略。這些特性有的可以通過(guò)引入第三方庫(kù)來(lái)實(shí)現(xiàn),但C語(yǔ)言的設(shè)計(jì)哲學(xué)其實(shí)決定了它不會(huì)像C++那樣“非常強(qiáng)大”。即使引入了某些人期望的特性,依然會(huì)是某些人喜歡某些人不喜歡的情形,現(xiàn)在的功能對(duì)于C語(yǔ)言應(yīng)用領(lǐng)域來(lái)說(shuō)已經(jīng)夠用,其它特性可以通過(guò)特定程序語(yǔ)言實(shí)現(xiàn),并且通過(guò)C API與C語(yǔ)言編寫的程序進(jìn)行交互。任何一個(gè)工匠都不可能只使用一個(gè)工具完成他的工作,不同工具結(jié)合起來(lái)才能更快更好的完成任務(wù)。

  提到C API,也稍微介紹一下,我們知道windows操作系統(tǒng)的api也好,Linux的系統(tǒng)api也好,或者是想給Ruby、Python編寫擴(kuò)展模塊,C語(yǔ)言形式的函數(shù)定義都是唯一的選擇。C語(yǔ)言就好像是一個(gè)中間層或者是膠水,如果想把不同編程語(yǔ)言實(shí)現(xiàn)的功能模塊混合使用,C語(yǔ)言是最佳的選擇。

  提了這么多關(guān)于C語(yǔ)言的好處,那么學(xué)習(xí)C語(yǔ)言是否適合就看你自己的判斷了,例如要進(jìn)行一個(gè)嵌入式項(xiàng)目,或者需要進(jìn)行服務(wù)器端開發(fā),或者寫一個(gè)性能相關(guān)的組件等等,C語(yǔ)言都是比較好用的選擇。另外也可以在C++的使用過(guò)程中有意的使用C語(yǔ)言的思考方式,汲取C語(yǔ)言簡(jiǎn)潔明快清晰地設(shè)計(jì)思路,對(duì)編程設(shè)計(jì)水平會(huì)有很大的提高。

  c語(yǔ)言學(xué)習(xí)方法二

  有人認(rèn)為,現(xiàn)在是java和.net的時(shí)代,有誰(shuí)還需要C以及匯編呢?孰不知,java和.net是建立在軟件之上的,是為了壟斷市場(chǎng)而建立起來(lái)的體系,猶如挖好一個(gè)金壁輝煌的坑,請(qǐng)你往下跳,還自以為站在巨人的肩膀上,事實(shí)上成了坑底之蛙。要成為一個(gè)真正的程序員,并期望成為一個(gè)程序員高手,必須從機(jī)器出發(fā),從cpu到操作系統(tǒng),再到軟件體系,高手的境界就是悟道后的明鏡靈臺(tái),軟件設(shè)計(jì)出神入化,我就是程序,程序就是我。

  旁觀者李四說(shuō):此人大笨也!我用鼠標(biāo)隨便拖幾個(gè)控件,就是一個(gè)xxx管理系統(tǒng)了,你用C語(yǔ)言怕是一年也寫不出來(lái)吧!好吧,我要承認(rèn),講這話的都已經(jīng)是mS的奴才了,別的我不了解,MFC本身就是一個(gè)封閉的架構(gòu),從MFC入手學(xué)習(xí),你只會(huì)形成一種封閉的思維模式,因?yàn)镸S希望很多人只學(xué)會(huì)表面的東西,不致成為高手,所以它大力推薦所謂的可視化的程序開發(fā)工具,也真有很多人愿意上他的當(dāng),最后真正迷失方向。說(shuō)他坐不了程序吧,他也可以作,但是如果程序復(fù)雜一點(diǎn),出現(xiàn)問(wèn)題時(shí),問(wèn)題出再哪里就搞不清楚了,反正是不清楚!

  梁肇新,大牛啊,他說(shuō):"我就搞不懂了,用鼠標(biāo)怎么寫程序呢?在我的公司里,高手的鍵盤響個(gè)不停,鼠標(biāo)偶爾響一下,新手是鼠標(biāo)響個(gè)不停,鍵盤偶爾響一下,他們的薪水相差的就不是一倍那么多了!"

  C語(yǔ)言是各大操作系統(tǒng)的基礎(chǔ),Unix、Linux、Windows其內(nèi)核都清一色是C語(yǔ)言開發(fā)的,(某些地方是和匯編語(yǔ)言混合開發(fā)的),君不見WindowsAPI都是C語(yǔ)言函數(shù)的接口?Unix/Linux絕大多數(shù)應(yīng)用都是C語(yǔ)言開發(fā)的;Windows應(yīng)用程序用純API開發(fā)已然不多,大多都是依靠某種ApplicationFramework,比如所謂的VC++,其實(shí)就是指VCIDE+C++語(yǔ)言+MFC(現(xiàn)在重點(diǎn)已轉(zhuǎn)向ATL、WTL),但是Windows服務(wù)、網(wǎng)絡(luò)、驅(qū)動(dòng)程序等底層軟件,還是C語(yǔ)言開發(fā)的。各種語(yǔ)言的編譯器,包括java虛擬機(jī),都是用C語(yǔ)言開發(fā)的。各種嵌入式設(shè)備,如手機(jī)、PDA也都是C語(yǔ)言開發(fā)的。

  第一個(gè)要裝進(jìn)行囊和你一起前進(jìn)是"規(guī)范的格式" 。所以說(shuō),規(guī)范的格式是入門的基礎(chǔ)。那這個(gè)規(guī)范的格式包括什么呢?不少啊,要堅(jiān)持才能做到!長(zhǎng)標(biāo)志符命名,代碼縮進(jìn),一對(duì)大括號(hào)范圍不超過(guò)一屏幕,等等。

  第二個(gè)要裝進(jìn)行囊的是耐心,所謂工欲善其事,必先利其器。要想成功,沒有一個(gè)相對(duì)平淡的過(guò)程是不可能的。這不僅僅指你在學(xué)習(xí)過(guò)程中要有耐心,要循序漸進(jìn),而起也說(shuō)的是另一個(gè)重要的方面:調(diào)式程序。調(diào)試是寫程序過(guò)程中一個(gè)重要的方面,如果有人能一次寫成程序,牛啊,而且是大牛,不光是大牛,還是老子騎的那頭青牛,凡人是做不道的!調(diào)試是每個(gè)程序必定經(jīng)歷的歷程。

  第一招,學(xué)什么呢?打狗棍法!呵呵

  有一個(gè)偉人說(shuō)過(guò):"重復(fù)權(quán)威是成熟的必經(jīng)之路",這是站在巨人的肩膀上的做法,習(xí)武之人首先要學(xué)的都是各種套路,比方說(shuō)辟邪劍法,然后才能融會(huì)貫通,開宗流派;我們學(xué)習(xí)寫程序也要這樣來(lái),這是一個(gè)捷徑,幫你走得更遠(yuǎn)得捷徑。

  看書,看好書!書中所寫,是前人數(shù)十年經(jīng)驗(yàn)所寫,看十本書,就相當(dāng)于汲取了前人數(shù)十年的功力,那么你的內(nèi)功也會(huì)迅速上升1甲子。:)書當(dāng)然要看好書,只有好書才營(yíng)養(yǎng)豐富。要做到讀書破萬(wàn)卷,編程如有神;枯燥的看書是很郁悶的,很容易變成化石!現(xiàn)在很多是書都是用源碼說(shuō)明問(wèn)題的,源碼就像是動(dòng)畫、就像是幻燈片,把書中的招式一一演練給你看。 自己手工輸入這一步不能省略,現(xiàn)在很多書有配套源碼,很多同學(xué)或者成年人學(xué)習(xí)的時(shí)候都耍小聰明,直接把源碼復(fù)制過(guò)去編譯運(yùn)行,hoho,這是沒有效果的。

  TC至少有一個(gè)好處,可以鍛煉我們使用組合鍵的習(xí)慣,可以鍛煉我們使用鍵盤編程的習(xí)慣。

  一、要讀就讀好書,否則不如不讀

  Kernighan和Ritchie的《TheCProgrammingLanguage》(中譯名《C程序設(shè)計(jì)語(yǔ)言》)堪稱經(jīng)典中的經(jīng)典,不過(guò)舊版的很多內(nèi)容都已過(guò)時(shí),和現(xiàn)在的標(biāo)準(zhǔn)C語(yǔ)言相去甚遠(yuǎn),大家一定要看最新的版本,否則不如不看。另外,即使是最經(jīng)典最權(quán)威的書,也沒有辦法面面俱到,所以手邊常備一本《C語(yǔ)言參考手冊(cè)》是十分必要的。《C語(yǔ)言參考手冊(cè)》就是《CReferenceManual》,是C語(yǔ)言標(biāo)準(zhǔn)的詳細(xì)描述,包括絕大多數(shù)C標(biāo)準(zhǔn)庫(kù)函數(shù)的細(xì)節(jié),算得上是最好的標(biāo)準(zhǔn)C語(yǔ)言的工具書。順便提一句,最新的《C程序設(shè)計(jì)語(yǔ)言》是根據(jù)C89標(biāo)準(zhǔn)修訂的,而《C語(yǔ)言參考手冊(cè)》描述的是C99標(biāo)準(zhǔn),二者可能會(huì)有些出入,建議按照C99標(biāo)準(zhǔn)學(xué)習(xí)。還有一本《C和指針》,寫得也是相當(dāng)?shù)夭诲e(cuò),英文名是《PointersonC》,特別地強(qiáng)調(diào)指針的重要性,算是本書的一個(gè)特點(diǎn)吧。不過(guò)這本書并不十分適合初學(xué)者,如果你曾經(jīng)學(xué)過(guò)C語(yǔ)言,有那么一些C語(yǔ)言的基礎(chǔ)但又不是很扎實(shí),那么你可以嘗試一下這本書。我相信,只要你理解了指針,C語(yǔ)言便不再神秘。

  如果你已經(jīng)啃完了一本C語(yǔ)言教材,想要更進(jìn)一步,那么有兩本書你一定要看。首先是《CTrapsandPitfalls》(中譯名《C陷井與缺陷》),很薄的一本小冊(cè)子,內(nèi)容非常非常地有趣。要注意一點(diǎn),這本書是二十多年前寫成的,里面提到的很多C語(yǔ)言的缺陷都已被改進(jìn),不過(guò)能夠了解一些歷史也不是什么壞事。然后你可以挑戰(zhàn)一下《ExpertCProgramming》(中譯名《C專家編程》),書如其名,這本書頗具難度,一旦你仔細(xì)讀完并能透徹理解,你便可以放心大膽地在簡(jiǎn)歷上寫"精通C語(yǔ)言"了。

  切記一個(gè)原則,不要讀自己目前還看不懂的書,那是浪費(fèi)生命。如果你看不懂,那你一定是缺失了某些必需基礎(chǔ)知識(shí)。此時(shí),你要仔細(xì)分析自己需要補(bǔ)充哪些內(nèi)容,然后再去書店尋找講述的這些內(nèi)容的書籍。把基礎(chǔ)知識(shí)補(bǔ)充完畢再回頭來(lái)學(xué)習(xí),才會(huì)真正的事半功倍。

  二、Unix/Linux還是Windows,這是個(gè)很大的問(wèn)題

  不同的編程環(huán)境會(huì)造就出不同思維的程序員。Windows的程序員大多依賴集成開發(fā)環(huán)境,比如VisualStudio,而Unix程序員更加鐘愛Makefile與控制臺(tái)。顯而易見,集成開發(fā)環(huán)境更容易上手,在Windows上學(xué)習(xí)C語(yǔ)言,只需要會(huì)按幾個(gè)基本的VisutalC++工具欄按鈕就可以開始寫Hello,World!了,而在Unix下,你需要一些控制臺(tái)操作的基本知識(shí)。有人也許認(rèn)為Unix的環(huán)境更簡(jiǎn)潔,但習(xí)慣的力量是很大的 。

  所以我建議初學(xué)者應(yīng)該以VisualC++6.0(不是VisualC++.NET)或者DevC++作為主要的學(xué)習(xí)環(huán)境,而且千萬(wàn)不要在IDE的使用技巧上過(guò)多糾纏,因?yàn)榻窈竽阋欢ㄒD(zhuǎn)向Unix環(huán)境的。VisualC++6.0使用很方便,調(diào)試也很直觀,但其默認(rèn)的編譯器對(duì)C標(biāo)準(zhǔn)的支持并不好,而DevC++使用gcc編譯器,對(duì)C99的標(biāo)準(zhǔn)都支持良好。使用順帶提一下,很多大學(xué)的C語(yǔ)言課程還在使用TurboC2.0作為實(shí)驗(yàn)環(huán)境,這是相當(dāng)不可取的,原因其一是TC2.0對(duì)C標(biāo)準(zhǔn)幾乎沒有支持,其二是TC2.0編譯得到的程序是16位的,這對(duì)今后理解32位的程序會(huì)造成極大的困擾(當(dāng)然,用djgpp之類的東西可以使TC2.0編譯出32位程序,不過(guò)那過(guò)于復(fù)雜了)。

  等你學(xué)完一本C語(yǔ)言的教材,你一定要轉(zhuǎn)向Unix平臺(tái)繼續(xù)學(xué)習(xí),幾乎所有的C語(yǔ)言高級(jí)教程都是基于Unix平臺(tái)的(比如《C專家編程》)。轉(zhuǎn)變的過(guò)程是痛苦的,你需要面對(duì)的是各種紛繁復(fù)雜的命令,完全不同于Windows平臺(tái)的思考方式,但是這種痛苦是值得的。Unix與C是共生的,Unix的思考方式和習(xí)慣更加符合C語(yǔ)言的思考方式和習(xí)慣。在Unix下,你可以找到無(wú)數(shù)優(yōu)秀的源代碼供你盡情閱讀,你可以方便地查看某個(gè)庫(kù)函數(shù)的聯(lián)機(jī)手冊(cè),還可以看到最優(yōu)秀的代碼風(fēng)格(說(shuō)到代碼風(fēng)格,我會(huì)專門寫一篇文章詳細(xì)敘述)。

  歸結(jié)起來(lái)就是一句話:初學(xué)C語(yǔ)言,建議使用Windows系統(tǒng)和集成開發(fā)環(huán)境,在準(zhǔn)備向"高手"方向努力時(shí),請(qǐng)先轉(zhuǎn)向Unix平臺(tái)。

  三、萬(wàn)事俱備,你就是東風(fēng)

  書已選定,環(huán)境配置完成,正所謂萬(wàn)事俱備,只欠你自己的努力了。請(qǐng)從書的前言開始,仔細(xì)地閱讀手頭的教材,很多人看書喜歡直接從第一章開始看,這是錯(cuò)誤的做法。前言是作者對(duì)整本書的大體介紹,作者一般會(huì)告訴你需要什么基礎(chǔ)才能夠順利閱讀本書,這可以幫助你檢驗(yàn)自己的基礎(chǔ)知識(shí)是否已經(jīng)具備。看完前言,還要瀏覽一下目錄,了解一下書的整體結(jié)構(gòu),順便給自己安排一下學(xué)習(xí)計(jì)劃。

  例子之后就是習(xí)題了,我建議初學(xué)者把所有的習(xí)題都獨(dú)立做一遍。

  也許你認(rèn)為這樣學(xué)習(xí)太慢,其實(shí)不然。學(xué)得細(xì)致就不用走回頭路,等你學(xué)到后面才發(fā)現(xiàn)自己前面沒搞清楚,那才是真的得不償失。一般說(shuō)來(lái),整本書讀完,你應(yīng)該完成數(shù)千行乃至上萬(wàn)行的代碼,無(wú)論是原封不動(dòng)照抄書上的,還是自己心血來(lái)潮寫就的,都是今后繼續(xù)學(xué)習(xí)的一筆財(cái)富。以我自己舉例,閱讀《Windows核心編程》時(shí)(我只閱讀了3/4的內(nèi)容),除了抄書上的代碼,還自己寫了很多例子,一共有5574行(用unix下的wc工具統(tǒng)計(jì)),時(shí)隔多日,我早已記不清Windows的系統(tǒng)編程了,但只要花幾分鐘翻出以前的代碼看看,便會(huì)重新了然于胸。所謂好記性不如爛筆頭,就是這個(gè)道理。

  仔細(xì)讀書、認(rèn)真抄寫源代碼、獨(dú)立完成習(xí)題外加更進(jìn)一步的實(shí)驗(yàn),最后將所有的代碼留下,成為自己的經(jīng)驗(yàn)和財(cái)富,絕對(duì)的辛苦,也絕對(duì)的事半功倍。當(dāng)然,這種方式只適合學(xué)習(xí)需要精通的技術(shù),如果不是學(xué)習(xí)C語(yǔ)言,你還要具體情況具體分析。

  寫到最后,還有非常非常重要的一點(diǎn)沒有提及──代碼風(fēng)格,從最開始學(xué)習(xí)就必須強(qiáng)迫自己模仿最優(yōu)秀的代碼風(fēng)格。因?yàn)榇a風(fēng)格太重要內(nèi)容也太多,我會(huì)用專門的一篇文章來(lái)詳細(xì)討論,請(qǐng)大家關(guān)注《程序員之路──關(guān)于代碼風(fēng)格》。

  在這里停一下,上面說(shuō)的便是我學(xué)習(xí)的風(fēng)格:總要經(jīng)歷一番波折,瞎折騰幾下,然后才會(huì)有偶然間的明悟-開竅了!我甚至沒見過(guò)幾個(gè)人有我這么笨,現(xiàn)在明白過(guò)來(lái)了,我總是一開始把事情想得過(guò)于復(fù)雜,造成狗咬刺猬的難堪的局面,然而竟然有意想不到的收獲!但是不建議大家模仿這種風(fēng)格,起碼追女朋友的時(shí)候不能這樣,生活中很多機(jī)會(huì)在于接手的那一瞬間,失去就永遠(yuǎn)找不回來(lái)了。

  現(xiàn)在回來(lái),后來(lái)偶然間,我看懂了一行代碼,是print語(yǔ)句,當(dāng)時(shí)興奮得要命,又仔細(xì)看了這個(gè)看了那個(gè),一下子看懂了很多東西,像是在霎那間被什么給擊中似的,立刻間醍醐灌頂。。。。

  可是,還是那句話不破不立,不阻不行。就像我現(xiàn)在有了電腦,整天泡在互聯(lián)網(wǎng)的海洋里,感受著快餐文化,好久都沒靜下心來(lái)好好想點(diǎn)東西了。

  談及C語(yǔ)言,我想凡是學(xué)過(guò)它的朋友都有這樣一種感覺,那就是"讓我歡喜讓我憂。"歡喜的是,C語(yǔ)言功能非常強(qiáng)大、應(yīng)用廣泛,一旦掌握了后,你就可以理直氣壯地對(duì)他人說(shuō)"我是電腦高手!",而且以后若是再自學(xué)其他語(yǔ)言就顯得輕而易舉了。憂慮的是,C語(yǔ)言猶如"少林武功"一般博大精深,太難學(xué)了。其實(shí)就筆者認(rèn)為C語(yǔ)言并非是"difficult(困難)"的,只要你能理清思路,掌握它的精髓,那么自學(xué)C語(yǔ)言是一件非常容易且又其樂無(wú)窮的事。今天本人就與大家一起談?wù)勅绾螌W(xué)習(xí)C語(yǔ)言或者說(shuō)學(xué)習(xí)C語(yǔ)言應(yīng)從哪幾方面著手。

  就個(gè)人感觸,無(wú)論學(xué)習(xí)哪門語(yǔ)言首先應(yīng)該了解一下自己所學(xué)語(yǔ)言的背景,也可以說(shuō)它的發(fā)展史。C語(yǔ)言屬于高級(jí)程序語(yǔ)言的一種,它的前身是"ALGOL"。其創(chuàng)始人是布朗·W·卡尼漢和丹尼斯·M·利奇。C語(yǔ)言問(wèn)世時(shí)是帶有很大的局限性,因?yàn)樗荒苡糜赨NIX系統(tǒng)上。然而隨著科學(xué)技術(shù)的進(jìn)步,計(jì)算機(jī)工業(yè)的發(fā)展,C語(yǔ)言逐漸脫離UNIX。1987年美國(guó)標(biāo)準(zhǔn)化協(xié)會(huì)制定了C語(yǔ)言的國(guó)際標(biāo)準(zhǔn),簡(jiǎn)稱"ANSIC",從此以后它便成為一種廣泛使用的程序語(yǔ)言。C語(yǔ)言的優(yōu)點(diǎn)很多,主要的有如下四點(diǎn):

  兼?zhèn)涓呒?jí)語(yǔ)言與低級(jí)語(yǔ)言的優(yōu)點(diǎn),屬于一種中間語(yǔ)言。

  它是一種結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言,非常適合結(jié)構(gòu)化程序設(shè)計(jì)。

  有較豐富的數(shù)據(jù)類型、運(yùn)算符以及函數(shù)供以選用。

  直接與內(nèi)存打交道,使修改、編輯其他程序與文檔變得輕松,簡(jiǎn)單。

  怎樣才能學(xué)好c語(yǔ)言?想盡快上手就得掌握計(jì)算機(jī)的特點(diǎn),計(jì)算機(jī)的特點(diǎn)包括:

  計(jì)算機(jī)在問(wèn)題的處理方式上要求全,將所有的可能都要告訴它。

  計(jì)算機(jī)要求程序的描述精確,無(wú)二義性。

  計(jì)算機(jī)編程是要求有很強(qiáng)的全局性和邏輯性,不存在起伏的問(wèn)題。

  計(jì)算機(jī)要求它的主人,考慮問(wèn)題要全面,所有可能的情況及處理都要告訴它,要求學(xué)會(huì)沉穩(wěn),心態(tài)要穩(wěn)定,要求交流的語(yǔ)句一定要明了含義單一。

  怎樣才能很快的學(xué)會(huì)c語(yǔ)言,更快的度過(guò)磨合期呢?C語(yǔ)言的語(yǔ)法規(guī)則記憶理解當(dāng)然是不可少的,除此之外還應(yīng)注意以下幾個(gè)方面:

  平衡心態(tài),雖然不能做到"不以物喜,不以己悲"的水平,但至少不要浮躁,不要急于求成,欲速則不達(dá)。

  培養(yǎng)自身的全局意識(shí),既能小無(wú)內(nèi),也能大無(wú)外,才行。

  嚴(yán)格按照程序設(shè)計(jì)過(guò)程設(shè)計(jì)程序,不要跳脫,天馬行空,沒有規(guī)矩是不成方圓的。

  努力提高自身的綜合素質(zhì)。程序是人思維的表達(dá)形式,是人處理問(wèn)題思路和語(yǔ)言的結(jié)合體。你對(duì)客觀看成到什么程度和你掌握的知識(shí)成正比。如果你對(duì)處理的問(wèn)題不理解,不會(huì)處理,你怎么也寫不出程序。

  學(xué)會(huì)交流,多交流,相互補(bǔ)益,同時(shí)團(tuán)隊(duì)合作也是很重要的。

  c語(yǔ)言學(xué)習(xí)方法三

  學(xué)好C語(yǔ)言的秘訣就是1234:“一字真言,兩種態(tài)度,三個(gè)框架,四項(xiàng)注意”。

  一、一字真言

  各位看官,學(xué)好C語(yǔ)言,其實(shí)只需一個(gè)字,那就是“編”。

  (一)編。

  學(xué)習(xí)C語(yǔ)言,乃至學(xué)習(xí)所有的語(yǔ)言,都講究一個(gè)動(dòng)手——不是動(dòng)手打人,而是動(dòng)手編程序。你必須通過(guò)編寫程序來(lái)熟悉知識(shí)、理解知識(shí)。倘若只學(xué)不編,只看別人的程序,自己不動(dòng)手寫,是不能從入門到精通的。要知道,在計(jì)算機(jī)界,只說(shuō)不練的人很欠揍。試想一下,你在哪里辛辛苦苦的編程序,他卻站在一邊,如老板一樣喋喋不休,對(duì)你提出這項(xiàng)意見,那項(xiàng)思路,甚至?xí)痴勛约壕幊虒?huì)如何如何,好像很牛皮的樣子,但就是不編一行代碼。估計(jì)大家碰上如此之人,只會(huì)一個(gè)動(dòng)作,那就是點(diǎn)擊“踩”。

  一個(gè)“編”字就可以學(xué)好C語(yǔ)言嗎?真的如此簡(jiǎn)單嗎?不是的,僅僅“編”是不夠的,你還需要“我編”。

  (二)我編。

  請(qǐng)注意修辭,“我”編!這個(gè)“我”其實(shí)就是只“你”,也就是學(xué)習(xí)C語(yǔ)言的人。

  大家在學(xué)習(xí)C語(yǔ)言時(shí),要多編寫程序,比如學(xué)習(xí)鏈表時(shí),要自己編寫鏈表程序,甚至自己編寫俄羅斯方塊等游戲程序來(lái)練習(xí)。不過(guò)有個(gè)前提條件,你必須自己編寫這些所有的程序才有效果,如果你從網(wǎng)絡(luò)上下載了某某源代碼,或者拷貝了同學(xué)的程序,任何大言不慚的說(shuō)是自己編寫的,那么我也只能大言不慚的告訴你,這樣做出了養(yǎng)成偷竊的習(xí)慣外,沒有任何效果!

  有同學(xué)會(huì)問(wèn),那么“親自”編程序總可以精通C語(yǔ)言了吧,其實(shí)還差一點(diǎn)點(diǎn),僅僅“編”是不夠的,只是“我編”還不足以精通,為了達(dá)到C語(yǔ)言的最高峰,你還需要“我編編編”。

  (三)我編編編。

  “編”字重復(fù)三次,這里的“三”,代表多,意思是你必須多多的編寫程序。親自編寫10行代碼等于沒有編,親自編寫1000行代碼是遠(yuǎn)遠(yuǎn)不夠的,親自編寫1萬(wàn)行代碼還馬馬虎虎,親自編寫10萬(wàn)行代碼,你絕對(duì)成為程序員中的戰(zhàn)斗員。

  乍一看10萬(wàn)行代碼,估計(jì)有同學(xué)會(huì)先直挺挺的躺下去,然后又眼珠一轉(zhuǎn)站了起來(lái)——他們想起了壞主意。“不就是10萬(wàn)行嗎,容易!現(xiàn)在的編程工具都有代碼生成功能,隨便在VC中用鼠標(biāo)拖曳幾下,搞一個(gè)MFC窗口程序,系統(tǒng)就自動(dòng)生成了幾百行的代碼。在搞幾個(gè)三方控件,幾千行代碼就生成了!”

  再次聲明,“編編編”是有前綴的,那就是“我”,也就是學(xué)習(xí)者自己,使用代碼自動(dòng)生成工具產(chǎn)生的代碼難道是“學(xué)習(xí)者”編寫的?

  要不上有政策,下有對(duì)策,“不用代碼生成器,那么就抄,照著輸入代碼就行!”哎,人不能無(wú)恥到那種地步!這十萬(wàn)行代碼要“你”親自完成,親自在腦海中發(fā)芽、生根,再親自逐行輸入。這又不是什么政績(jī)?nèi)蝿?wù),也不是什么形象工程,欺騙別人最終只能是自欺欺人。

  二、兩種態(tài)度

  一般人提起C語(yǔ)言,常常一個(gè)字如影隨形涌上心頭,那就是“難”!害怕啊,C語(yǔ)言真是太恐怖了,傳說(shuō)中的指針真是太鋒利了,一不留神就把系統(tǒng)劃破,搞出幾個(gè)死機(jī)重啟都是太正常不過(guò)了。

  其實(shí)沒有必要這么擔(dān)心,本朝太祖曾經(jīng)說(shuō)過(guò):“在戰(zhàn)略上藐視敵人,在戰(zhàn)術(shù)上重視敵人。”

  (一)戰(zhàn)略上藐視C語(yǔ)言

  其實(shí),C語(yǔ)言也就是一個(gè)普通的語(yǔ)言而已,別把它想象的太難!與Java相比,C語(yǔ)言也只是程序復(fù)雜一點(diǎn)、代碼冗長(zhǎng)一點(diǎn)、庫(kù)函數(shù)少上一點(diǎn)、三方控件難學(xué)一點(diǎn),編譯工具簡(jiǎn)陋一點(diǎn)、指針麻煩一點(diǎn),其他的都差不了多少,程序設(shè)計(jì)思想總是一樣、程序構(gòu)建總是相同的、程序語(yǔ)法總是類似的、程序邏輯總是差不多的。

  沒有必要對(duì)C語(yǔ)言談虎色變,把他當(dāng)成一門普通的語(yǔ)言就行了。要知道,就算C語(yǔ)言再難,總比匯編語(yǔ)言容易掌握、比機(jī)器語(yǔ)言容易記憶、比英語(yǔ)容易掌握。所以要自信!一切C語(yǔ)言都是紙老虎。

  (二)戰(zhàn)術(shù)上重視C語(yǔ)言

  雖然我們?cè)贑語(yǔ)言面前保持了激昂的斗志,雖然我們無(wú)所畏懼。但是真正在學(xué)習(xí)得過(guò)程中,還是務(wù)必保持謙虛謹(jǐn)慎的態(tài)度,戒驕戒躁,不要因?yàn)楦懔艘粌蓚€(gè)俄羅斯方塊游戲程序就洋洋自得,以為老子天下第一,甚至只遍了10行代碼,就到博客中到處罵人,到處“踩”人的帖子。要知道,“雄關(guān)漫道真如鐵,而今邁步從頭越”,無(wú)論你學(xué)了多少,只要還沒有走上工作崗位,那么萬(wàn)里長(zhǎng)征就只是才邁出了第一步,還有很長(zhǎng)的道路等待著你。

  三、三個(gè)框架

  學(xué)習(xí)C語(yǔ)言,“編”不是問(wèn)題,問(wèn)題是“編什么”、“怎么編”、“編多深”,下面就來(lái)解決這些問(wèn)題。

  (一)靜心不靜

  1、靜心。

  學(xué)習(xí)的過(guò)程,是一個(gè)漫長(zhǎng)而枯燥的過(guò)程,學(xué)習(xí)者必須要有吃苦耐勞的準(zhǔn)備,靜下心來(lái),從大家的視覺中消失,經(jīng)受一個(gè)長(zhǎng)時(shí)間的編程學(xué)生過(guò)程。吃盡苦中苦,方成人上人!等你重新回到大家的視野時(shí),你會(huì)有一個(gè)蛻變,那時(shí)一切的痛苦都將化為甘甜。

  溫瑞安先生有一部武俠小說(shuō),叫做《請(qǐng)借夫人一用》,我們這里也借用一下。當(dāng)然不是借用別人的女朋友,而是了解一下主人翁的學(xué)習(xí)歷程。主人翁韋青青青出場(chǎng)時(shí)渾然是一個(gè)高手,他把一千零一招的功夫柔和在一招之中,但是在其出場(chǎng)之前,江湖上沒有人知道韋青青青這一號(hào)人物,因?yàn)樗谑耆缫蝗盏膶P木毠?,正是這種練功時(shí)的不為人知,才造就了了日后的溫瑞安小說(shuō)高手。

  不談武俠,來(lái)個(gè)IT版的例子。在遙遠(yuǎn)的大洋彼岸,在微軟的IE橫行之前,在互聯(lián)網(wǎng)剛剛起步之時(shí),有一個(gè)叫做“網(wǎng)景”的瀏覽器占據(jù)了市場(chǎng)99%的份額,網(wǎng)景公司在當(dāng)時(shí)的美國(guó)更是比易中天還如日中天??墒?,大家知道這個(gè)“網(wǎng)景”瀏覽器是誰(shuí)開發(fā)的嗎?是一個(gè)學(xué)生,他在大學(xué)中不顯山不漏水,別的同學(xué)每天考慮著泡MM,他卻每天除了上課就是泡機(jī)房,是上也泡,下也泡,終于泡出了瀏覽器。

  所以說(shuō),靜下心來(lái),無(wú)論其他同學(xué)在多么興奮的展示他們的某某系統(tǒng),他們的某某網(wǎng)站,既然你選擇了學(xué)習(xí)C語(yǔ)言,那么以韋青青青為榜樣吧,總有一天,你會(huì)一舉成名天下知的。

  2、不靜

  學(xué)習(xí)C語(yǔ)言,務(wù)必不可以急躁,務(wù)必一步一個(gè)腳印,此乃靜心。但是,學(xué)習(xí)C語(yǔ)言,也不可以太過(guò)沉默,一個(gè)人呆在機(jī)房里閉門造車妄想著創(chuàng)造出某個(gè)絕世程序然后成為中國(guó)的比爾蓋茨是不可能的。

  學(xué)習(xí)靠自己,所以大部分時(shí)候我們需要自己思考、閉關(guān)修煉。但是一個(gè)人的力量終究是有限的,很多時(shí)候我們需要借助外力。比如不懂的地方咨詢老師,不明白的地方可以與同學(xué)相互討論等等,都是可以的。

  有很多同學(xué),學(xué)習(xí)時(shí)碰上困難,遇上了麻煩,于是自己冥思苦想——這是對(duì)的——還是得不到結(jié)果,于是故意回避不聞不問(wèn)——這是自欺欺人。有同學(xué)說(shuō),那是因?yàn)闊o(wú)人可問(wèn),問(wèn)老師,貌似大學(xué)老師總是神龍見頭不見尾,根本找不到;問(wèn)網(wǎng)絡(luò)大蝦,網(wǎng)絡(luò)大蝦們經(jīng)常不在線,就算在線,面對(duì)洋洋灑灑的留言也視而不見,更別提回復(fù)了;問(wèn)同學(xué),別提了太丟面子!大家同學(xué)而已,為什么要問(wèn)他,問(wèn)他豈不是說(shuō)明自己低人一等嗎,不問(wèn)!

  其實(shí),大學(xué)之中同學(xué)之間相互討論是最可行的一種做法,畢竟一個(gè)王重陽(yáng)沒有時(shí)間指點(diǎn)全真七子,網(wǎng)絡(luò)大蝦比投名狀中的兄弟還不可靠,所以除了自己多思考就是同學(xué)之間多討論了。不要擔(dān)心問(wèn)問(wèn)題會(huì)低人一等,老祖宗有一句話叫做“不恥下問(wèn)”,雖然你的水平比我低上一點(diǎn)點(diǎn),但是,我不覺得向不如自己的問(wèn)提問(wèn)是恥辱。多好的阿Q精神啊,用這點(diǎn)!

  只有靜心,才可以更好的學(xué)到知識(shí);只有不靜心,才可以更快的學(xué)到知識(shí)。

  (二)深入不深

  1、深入

  學(xué)好C語(yǔ)言,就一定不能浮躁,要深入的學(xué)習(xí)知識(shí)。

  其實(shí),以上的話就極其浮躁,極其不深入。誰(shuí)不知道要深入學(xué)習(xí)啊,但是你的告訴大家,到底什么內(nèi)容屬于深入學(xué)習(xí)的內(nèi)容。

  其實(shí),浮躁就是學(xué)習(xí)知識(shí)就是浮于表面,沒有深入理解專業(yè)知識(shí)。表現(xiàn)在編程上就是只想編寫一些所謂漂亮的、能夠拿得出手的程序,而對(duì)于一些底層的支持程序置之不理。

  有的同學(xué)喜歡編寫一些漂亮的程序,比如設(shè)計(jì)漂亮的網(wǎng)頁(yè),使用某某工具開發(fā)某某‘大型’系統(tǒng)等等,當(dāng)然這都是人之常情。正如魯迅先生所說(shuō),文章寫出來(lái)總是希望擁有更多的讀者,除非是寫給戀人的。程序編出來(lái),總是希望擁有更多用戶,除非是專門為愛人開發(fā)的。但問(wèn)題是,只編寫這類程序是不夠的,是有缺陷的。

  這些所謂的程序,往往只需要對(duì)知識(shí)應(yīng)用,并不需要刨根究底研究知識(shí)的本身,甚至有很多加入了很多相當(dāng)專業(yè)的內(nèi)容,并不適合于初學(xué)者學(xué)習(xí)。比如VC中的MFC就是一個(gè)典型的誤導(dǎo)初學(xué)者的工具。利用MFC可以很方便的編寫出DIAG界面程序或者視圖文檔程序,從表面上看風(fēng)光無(wú)限,但對(duì)初學(xué)者卻禍害無(wú)窮!假如使用VC學(xué)習(xí)C++,大部分時(shí)間將用于消息的處理,控件的處理,還要閱讀大量的視圖文檔結(jié)構(gòu)類庫(kù)說(shuō)明,這些操作將耗費(fèi)了你大量的時(shí)間,得不償失。而且VC++的大部分編程是在某些位置插入代碼,至于C++部分系統(tǒng)自動(dòng)實(shí)現(xiàn)了,留給你的是純C語(yǔ)言操作。同學(xué)請(qǐng)注意,你學(xué)習(xí)的是C++,不是VC類庫(kù),也不是VC操作!

  比如使用數(shù)據(jù)結(jié)構(gòu),就必須自己編寫有關(guān)鏈表、隊(duì)列和棧等內(nèi)容,你是在學(xué)習(xí),又不是工作,當(dāng)然得用自己編寫的東西呢。

  又比如說(shuō)C語(yǔ)言的內(nèi)存分配函數(shù),就是那個(gè)malloc和free。一般人直接調(diào)用就行了,但是計(jì)算機(jī)專業(yè)的學(xué)生不應(yīng)該止步于此,而應(yīng)該思考這兩個(gè)函數(shù)的系統(tǒng)實(shí)現(xiàn)方法,并且編程序模擬內(nèi)存分配和釋放。設(shè)計(jì)這樣的程序,不但可以增強(qiáng)動(dòng)手能力,還可以加深對(duì)計(jì)算機(jī)知識(shí)的理解,一舉多得,何樂而不為。

  2、不深

  深入學(xué)習(xí)C語(yǔ)言是極其應(yīng)該的,但是大家也必須有所側(cè)重,不能胡子眉毛一把抓,所有的東西統(tǒng)統(tǒng)深入,具體表現(xiàn)在兩個(gè)方面:

  其一、一些知識(shí)范圍不可過(guò)于深入。

  有一些知識(shí),屬于偏僻的內(nèi)容,既不是基礎(chǔ),日后工作中也很難碰上,而且還極度困難,像這樣的東西,了解即可,完全沒有必要深入。比如說(shuō)某同學(xué)心血來(lái)潮,要編寫一個(gè)漂亮的輸入法軟件,于是苦心學(xué)習(xí)了有關(guān)輸入法的所有知識(shí),還妄圖氣死清華紫光,餓死搜狗拼音,于是仔細(xì)研究輸入法的犄角旮旯。其實(shí)這些知識(shí)均相當(dāng)偏僻,了解即可,完全沒有必要打破沙鍋問(wèn)到底。

  其二、一些界面或者不必要的功能不可過(guò)于深入。

  大家編寫的程序,往往伴隨大量的交互式界面設(shè)計(jì)。事實(shí)上,編程有個(gè)二八原則,即編寫80%的核心內(nèi)容將耗費(fèi)你20%的時(shí)間,而另外20%的功能將耗費(fèi)你80%的時(shí)間。實(shí)際上,作為C語(yǔ)言學(xué)習(xí),深入編寫好那80%的核心功能就可以了,耗費(fèi)80%的時(shí)間去深入完善那些20%的功能,得不償失!

  所以,練習(xí)用的程序,最好是一些基礎(chǔ)的、底層的實(shí)現(xiàn),不要有太多花俏的圖像和交互式操作。當(dāng)然也可以設(shè)計(jì)一些簡(jiǎn)單的具備圖形界面的小游戲,但此時(shí)你應(yīng)該將精力更多注重于游戲本身的設(shè)計(jì),而不是游戲的畫面風(fēng)格和動(dòng)畫效果上。

  學(xué)習(xí)C語(yǔ)言,有所為有所不為。

  (三)枯燥不枯

  1、枯燥

  學(xué)海無(wú)涯苦作舟,學(xué)習(xí)當(dāng)然是一個(gè)枯燥的過(guò)程。用語(yǔ)言設(shè)計(jì)程序,表面上程序漂漂亮亮風(fēng)光無(wú)限,其實(shí)風(fēng)光的背后是黑漆漆的屏幕和冗長(zhǎng)的代碼。程序員是把美麗獻(xiàn)給別人,把枯燥留給自己的職業(yè)。

  所以,學(xué)習(xí)C語(yǔ)言,就必須多設(shè)計(jì)一些枯燥的、無(wú)趣的實(shí)例。當(dāng)flash程序員在展示圖片時(shí),C語(yǔ)言程序員要去學(xué)習(xí)空洞的0和1的圖片格式;當(dāng)Java程序員設(shè)計(jì)網(wǎng)站時(shí),C程序員要去理解抽象的HTTP協(xié)議;當(dāng).net程序員使用對(duì)象托管時(shí),C程序員總是要考慮內(nèi)存的申請(qǐng)與釋放;當(dāng)C++程序員在歡樂的使用STL庫(kù)時(shí),C程序員必須自己搭建所有的數(shù)據(jù)結(jié)構(gòu)。

  在C語(yǔ)言的學(xué)習(xí)路上,絕對(duì)沒有學(xué)習(xí)其他語(yǔ)言那么多鮮花,這是每一個(gè)C語(yǔ)言愛好者必須接受的事實(shí)。

  2、不枯

  其實(shí),人都是需要?jiǎng)恿Φ?,憑什么別的程序員可以通過(guò)漂亮的程序享受MM的崇敬和同學(xué)的贊嘆,而C語(yǔ)言程序員就只能在0和1的世界中與電腦溝通。其實(shí),學(xué)習(xí)C語(yǔ)言的過(guò)程完全可以是快樂的。

  大家在基礎(chǔ)內(nèi)容了解的差不多時(shí),完全可以循序漸進(jìn)設(shè)計(jì)一些簡(jiǎn)單的趣味游戲程序,從貪吃蛇到俄羅斯方塊,從搞怪碰碰球到連連看,從掃雷到雷電,甚至還可以是植物大戰(zhàn)僵尸和憤怒的小鳥,編寫一些在界面上簡(jiǎn)化的趣味游戲程序來(lái),同意可以激起自己的興趣并獲取老師、同學(xué)尤其是MM的陣陣掌聲。

  枯燥,是因?yàn)閷W(xué)習(xí)并非玩耍。不枯,是因?yàn)橐裢嫠R粯拥膶W(xué)習(xí)。

  四、四項(xiàng)注意

  (一)錯(cuò)誤觀點(diǎn):C語(yǔ)言低人一等

  由于C語(yǔ)言常常應(yīng)用于一些服務(wù)器程序,沒有漂亮的界面,在一些同學(xué)的心目中,C語(yǔ)言程序員就成了IT民工的代名詞。類似于煤礦工人,整天生活在地底下。而那些Java程序員,.net程序員則成了白領(lǐng)麗人。

  (二)錯(cuò)誤觀點(diǎn):C語(yǔ)言高人一等

  與第一種情況相反,一部分同學(xué)則認(rèn)為C語(yǔ)言才是語(yǔ)言正統(tǒng)。俗話說(shuō):真正的程序員用C,聰明的程序員用delphi。那么其他的語(yǔ)言統(tǒng)統(tǒng)是神馬牌浮云,不值一提。其他的程序員,無(wú)論聰明也好,愚蠢也罷,都是盜版水貨。

  (三)錯(cuò)誤觀點(diǎn):C語(yǔ)言是忠貞情人。

  弱水三千,只取一瓢。有人在愛情上的忠貞,有人去在語(yǔ)言上忠貞,有人如斯內(nèi)普般一生只愛一個(gè)女人,有人欲效仿之,一生只使用一種語(yǔ)言。

  正如人生而平等一樣,其實(shí),語(yǔ)言也沒有高低貴賤之分,只有適合于不適合之分。Java適合做WEB開發(fā),C語(yǔ)言適合服務(wù)器,C++適合做游戲,等等。真正的程序員,不是只使用C語(yǔ)言的人,而是到什么山唱什么歌。任何語(yǔ)言、任何數(shù)據(jù)庫(kù)、任何操作系統(tǒng)對(duì)他來(lái)說(shuō)都只是工具,呼之能來(lái)、來(lái)之能戰(zhàn)、戰(zhàn)之能勝、揮之能去。當(dāng)JQuery方便時(shí),我不直接用JavaScript;當(dāng)速度優(yōu)先時(shí),我不用Java;當(dāng)穩(wěn)定優(yōu)先時(shí),我不用Windows。總之,倚天劍也好,屠龍刀也罷,統(tǒng)統(tǒng)是工具,為我所用,為我所奴役。

  (四)光說(shuō)不練假把式

  學(xué)習(xí)C語(yǔ)言的真言是“編”,但是也有同學(xué)會(huì)反駁,“這么簡(jiǎn)單的程序,也需要我親自編寫嗎?”、“這個(gè)程序我看一眼就知道怎么做了”、“跳過(guò)這個(gè)程序,直接編寫后面的程序”、“不要把天才浪費(fèi)在這種小程序上”等等之類的言論不絕于耳。

  上面其實(shí)就是典型的“眼高手低”。

26442 鄢陵县| 冕宁县| 利辛县| 普陀区| 万源市| 紫金县| 莒南县| 张家界市| 巧家县| 宁化县| 嘉兴市| 菏泽市| 洪雅县| 周口市| 临西县| 岫岩| 安西县| 琼中| 正阳县| 肇庆市| 科技| 乳山市| 平凉市| 什邡市| 共和县| 宁都县| 琼结县| 稷山县| 璧山县| 凤翔县| 冕宁县| 台湾省| 高密市| 大港区| 大理市| 雷山县| 中宁县| 沈丘县| 罗甸县| 河津市| 四川省|