教育行業(yè)A股IPO第一股(股票代碼 003032)

全國(guó)咨詢/投訴熱線:400-618-4000

零基礎(chǔ)如何學(xué)習(xí)C語(yǔ)言?C語(yǔ)言入門經(jīng)驗(yàn)分享

更新時(shí)間:2018年11月14日13時(shí)20分 來(lái)源:傳智播客 瀏覽次數(shù):

  C語(yǔ)言是面向過(guò)程的,而C++是面向?qū)ο蟮?C和C++的區(qū)別:

  C是一個(gè)結(jié)構(gòu)化語(yǔ)言,它的重點(diǎn)在于算法和數(shù)據(jù)結(jié)構(gòu)。C程序的設(shè)計(jì)首要考慮的是如何通過(guò)一個(gè)過(guò)程,對(duì)輸入(或環(huán)境條件)進(jìn)行運(yùn)算處理得到輸出(或?qū)崿F(xiàn)過(guò)程(事務(wù))控制)。

  C++,首要考慮的是如何構(gòu)造一個(gè)對(duì)象模型,讓這個(gè)模型能夠契合與之對(duì)應(yīng)的問(wèn)題域,這樣就可以通過(guò)獲取對(duì)象的狀態(tài)信息得到輸出或?qū)崿F(xiàn)過(guò)程(事務(wù))控制。 所以C與C++的最大區(qū)別在于它們的用于解決問(wèn)題的思想方法不一樣。之所以說(shuō)C++比C更先進(jìn),是因?yàn)?ldquo; 設(shè)計(jì)這個(gè)概念已經(jīng)被融入到C++之中 ”。 C與C++的最大區(qū)別:在于它們的用于解決問(wèn)題的思想方法不一樣。之所以說(shuō)C++比C更先進(jìn),是因?yàn)?ldquo; 設(shè)計(jì)這個(gè)概念已經(jīng)被融入到C++之中 ”,而就語(yǔ)言本身而言,在C中更多的是算法的概念。那么是不是C就不重要了,錯(cuò)!算法是程序設(shè)計(jì)的基礎(chǔ),好的設(shè)計(jì)如果沒(méi)有好的算法,一樣不行。而且,“C加上好的設(shè)計(jì)”也能寫出非常好的東西。

  工作中,接觸過(guò)很多想到學(xué)習(xí)c語(yǔ)言而又沒(méi)有一點(diǎn)計(jì)算機(jī)基礎(chǔ)的人。經(jīng)常有人問(wèn)”我沒(méi)有一點(diǎn)基礎(chǔ),該怎么入門c語(yǔ)言啊”??催^(guò)很多初學(xué)者久久摸不到門路,每到這個(gè)時(shí)候,腦海中總會(huì)浮現(xiàn)一個(gè)問(wèn)題:學(xué)習(xí)c語(yǔ)言真的就那么難嗎? 不難。

  很 多人學(xué)習(xí)c語(yǔ)言,上來(lái)就去背語(yǔ)法,甚至連各種高深的算法都是死背出來(lái)的,大學(xué)里流行考計(jì)算機(jī)二級(jí)C語(yǔ)言證書,手抄資料的有之,背全書者有之,終于可憐又可悲的拿到了所謂的證書,真正用c語(yǔ)言編寫程序處理問(wèn)題時(shí),滿腦子空了。可能這樣學(xué)過(guò)之后,把許多c語(yǔ)言語(yǔ)法記住了,但是卻學(xué)不會(huì)如何編寫程序處理問(wèn)題。所 以,掌握學(xué)習(xí)方法很重要。如果你覺(jué)得很難,那是因?yàn)槟闳鄙僖粋€(gè)好的方法。

  學(xué)習(xí)c語(yǔ)言也離不開(kāi)記憶語(yǔ)法,但是死記的話,肯定不行。c語(yǔ)言,無(wú) 非也就是一種工具,用它來(lái)表達(dá)我們的思路,讓計(jì)算機(jī)幫我們思考,寫程序的過(guò)程就變成了告訴計(jì)算機(jī)該怎么做的過(guò)程。很多人遇到問(wèn)題,自己都沒(méi)有思路,更別提用c語(yǔ)言寫程序了。很遇到問(wèn)題的時(shí)候不要滿腦子去想怎么用c語(yǔ)言處理這個(gè)問(wèn)題,記?。撼绦?= 數(shù)據(jù)結(jié)構(gòu) + 算法,把思路轉(zhuǎn)變到對(duì)數(shù)據(jù)的組織和對(duì)算法的思考上 來(lái)。

  數(shù)據(jù)結(jié)構(gòu)歸根結(jié)底就是一些數(shù)據(jù)的組織形式,而數(shù)據(jù)在c語(yǔ)言里都有各自的類型,各種復(fù)雜的數(shù)據(jù)結(jié)構(gòu)也都是從最基本數(shù)據(jù)類型組織起來(lái)的,所以學(xué)習(xí) c語(yǔ)言,首先要記住c語(yǔ)言里可用的數(shù)據(jù)類型都有哪些,掌握每種數(shù)據(jù)類型的定義和使用規(guī)則。任何一種計(jì)算機(jī)編程語(yǔ)言,最根本都是對(duì)數(shù)據(jù)的操作。每種語(yǔ)言都有不完全相同的數(shù)據(jù)組成形式,很多時(shí)候,對(duì)于同樣一個(gè)問(wèn)題,你可以構(gòu)建不同的數(shù)據(jù)結(jié)構(gòu)對(duì)它進(jìn)行處理。初學(xué)者,不必太深究要把數(shù)據(jù)做成什么類型可以寫出漂亮的程序。你只需要記住:你需要什么樣的數(shù)據(jù)。

  學(xué)習(xí)c語(yǔ)言,其次要學(xué)習(xí)算法。算法的好壞直接影響了程序的好壞。有人建議學(xué)程序的時(shí)候多看別人的例子程 序,研究別人是如何處理問(wèn)題的。不錯(cuò),這是必不可少的,但是不要總是去看,也要自己多思考。這里的思考不是讓你思考如何處理這個(gè)問(wèn)題,你要思考的是如何教 會(huì)計(jì)算機(jī)幫你解決這個(gè)問(wèn)題。我們寫出來(lái)的程序畢竟是讓計(jì)算機(jī)來(lái)運(yùn)行的。你必須按照計(jì)算機(jī)的特點(diǎn)來(lái)思考才可以。

C語(yǔ)言入門

  計(jì)算機(jī)在處理問(wèn)題時(shí)有自己的特點(diǎn):

  1、 計(jì)算機(jī)在問(wèn)題的處理方式上要求全,將所有的可能都要告訴它。人可以根據(jù)習(xí)慣忽略一些東西,但計(jì)算機(jī)不行。計(jì)算機(jī)沒(méi)有像人一樣的智能處理能力,它是人忠實(shí)的信徒,不管你怎么想,它都會(huì)執(zhí)行你的命令。由于你的習(xí)慣,導(dǎo)致一些別有用心的人或者無(wú)意犯錯(cuò)的人來(lái)犯錯(cuò)誤,致使計(jì)算機(jī)有時(shí)無(wú)所適從。很疲憊,甚至崩潰,報(bào)錯(cuò),造成你的程序是不成功的,所以你感覺(jué)很難。

  2、 計(jì)算機(jī)要求程序的描述精確,無(wú)二義性。人的語(yǔ)言有很強(qiáng)的隨機(jī)性和二義性。我們平時(shí)說(shuō)話時(shí),有時(shí)是一些招呼,有時(shí)說(shuō)話的邏輯性可以不太清楚,話既可以表達(dá)這樣的意思,也可以表達(dá)那樣的意思,人可以根據(jù)環(huán)境和對(duì)方想表達(dá)的含義進(jìn)行分析,最終得到正確的結(jié)果,但是計(jì)算機(jī)很弱智,雖然它很聽(tīng)話,但是他不能理解你表達(dá)的思想,只會(huì)按你交給的指令執(zhí)行,這樣導(dǎo)致執(zhí)行時(shí)報(bào)警和出錯(cuò)。

  3、 計(jì)算機(jī)編程是 要求有很強(qiáng)的全局性和邏輯性,不存在起伏的問(wèn)題。人的思維有很強(qiáng)的活躍期和蟄伏期,計(jì)算機(jī)不會(huì),它隨時(shí)待命。人在考慮問(wèn)題時(shí),有很多盡興的東西,但這不是處理問(wèn)題的整體,而是一部分,所以就出現(xiàn)做完一段代碼后,就不愿意再寫,或感覺(jué)很吃力,所以感覺(jué)很難。

  所以我們?cè)谒伎紗?wèn)題時(shí),要記住計(jì)算機(jī)的特點(diǎn),從計(jì)算機(jī)的角度去考慮問(wèn)題。當(dāng)然作為初學(xué)者,習(xí)慣了以人來(lái)思考問(wèn)題,轉(zhuǎn)變思想需要一個(gè)過(guò)程,我們可以先按照人的邏輯解決好問(wèn)題,然后作類比,假如你自己是計(jì)算機(jī)你該怎么處理問(wèn)題。當(dāng)你學(xué)會(huì)了從計(jì)算機(jī)的角度思考問(wèn)題,并能夠正確地用c語(yǔ)言的語(yǔ)法表述出來(lái)你的思路(算法)時(shí),你就真正的入門c語(yǔ)言了。

       現(xiàn)如今傳智播客的C語(yǔ)言培訓(xùn)基礎(chǔ)班又開(kāi)課了,點(diǎn)擊鏈接http://xamj520.com/subject/czly/index.shtml 即可參與。
       推薦閱讀:
       ·c語(yǔ)言編程學(xué)習(xí)入門指南
       ·c語(yǔ)言從入門到精通需要看那些書籍

0 分享到:
和我們?cè)诰€交談!