0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

初學(xué)編程防坑指南!

C語言編程基礎(chǔ) ? 來源:未知 ? 作者:李倩 ? 2018-05-07 15:42 ? 次閱讀

現(xiàn)在IT新技術(shù)日新月異。就常用編程語言而言,有C/C++匯編、Java,C#、Python等;

操作系統(tǒng)平臺(tái)有unix /linux,windows系列;

開發(fā)工具有VC、visualStudio2008、 Eclipse、NetBeans等;

每個(gè)大平臺(tái)下,還有很多的的方向:如網(wǎng)絡(luò)、數(shù)據(jù)庫、腳本、HTML、動(dòng)態(tài)網(wǎng)站、游戲開發(fā)等;有人還在學(xué)Dreamweaver做網(wǎng)頁、Flash做動(dòng)畫、Photoshop做美 工、3DMax做三維動(dòng)畫…………是的,我們什么都想學(xué)。恨不得把所有的知識(shí)統(tǒng)統(tǒng)都塞到肚子里去??吹绞裁矗拖雽W(xué)什么!

今天看VC的書,明天又看Java,后天又看C#,東搞西搞!看到別人做網(wǎng)頁。自己興趣了來了。好,學(xué)html語言,我也做網(wǎng)頁,聽說做網(wǎng)頁要會(huì)“網(wǎng)頁三劍客”,所以又想學(xué)Dreamweaver、Flash。后來開始知道有JSP、PHP、ASP.NET做動(dòng)態(tài)網(wǎng)站這玩意兒。也想去學(xué), 學(xué)學(xué)學(xué)……

這是幾乎所有初學(xué)者的通病。但是,這不是壞事,甚至可以說是好事。說明了你“求知欲”高!總比那些,生活沒有激情,整天知道泡妞、上網(wǎng)、打游戲、混日子的強(qiáng)。

但是如果你今天想學(xué)這個(gè),明天又想學(xué)那個(gè)。這樣你就能永遠(yuǎn)徘徊在技術(shù)的門外。

很多人都有過或者正在經(jīng)歷這樣的苦悶日子:總覺得有“太多東西”要學(xué)了,然而人的精力是有限的,總有永遠(yuǎn)學(xué)不完的感覺,所以心理特別急,整天惶惶不可終日,不知道先要學(xué)哪個(gè),一會(huì)兒拿起這本書,一會(huì)拿起那本書,折騰了幾個(gè)月,突然發(fā)現(xiàn)自己什么都沒有學(xué)到……

每一個(gè)大方向如果沒有上幾年的學(xué)習(xí),很難能學(xué)習(xí)出什么來。但程序設(shè)計(jì)的最根本的東西是相同的。所以我們學(xué)習(xí)要抓根本。俗話說:通一理,融百里。

學(xué)程序設(shè)計(jì)就像習(xí)武一樣,如果內(nèi)功學(xué)的好,其他功夫就很容易上手。君不見《倚天屠龍記》中的張無忌練了“九陽神功”8年,練“乾坤大挪移”只需12個(gè)時(shí)辰嗎?

古人歷經(jīng)千辛萬苦才能找到這些“武功秘籍”。我們現(xiàn)在這些后輩,比起古人來說:簡(jiǎn)直太幸運(yùn)了。

去書店,各種各樣的心功心法,劍法,拳法,應(yīng) 有盡有,看得你眼花繚亂…你選什么呢?今天練“六脈神劍”幾式,明天去學(xué)“降龍十八掌”幾招,后天又去練“發(fā)暗器”,這樣何時(shí)才有個(gè)盡頭呢?你說,你什么武功都會(huì),但是“形似而神不似”,不得要領(lǐng),不夠火候。一上擂臺(tái),就被別人一掌打趴了。試問哪個(gè)軟件公司敢要一個(gè)號(hào)稱任何編程語言都會(huì),而是每種語言只能寫出個(gè)“helloworld!”的程序員,你不被人家掃地出門才怪。

學(xué)XX還是學(xué)XX更有前途?

看了上面的話,有的小伙伴已經(jīng)開始煩了,“知道了知道了,不止一個(gè)像你這樣的所謂的‘老前輩’跟我說過‘學(xué)什么都一樣,思想才是最重要’的大 道理,可是你們站著說話不嫌腰疼呀,現(xiàn)實(shí)是有很多技術(shù)需要學(xué),比如做Web開發(fā)就有JSP、PHP、ASP.NET等好多方向,我總得選一個(gè)吧!到底學(xué)哪個(gè)有前途呢?我必須要選擇一個(gè)有前途的,選錯(cuò)了就麻煩了?!?/p>

其實(shí)像“學(xué)XX還是學(xué)XX更有前途”的話沒意義,因?yàn)椤斑x擇JSP還是選擇PHP”的前途的差別不像“選擇英語還是選擇日語”的前途差別那樣大,不存在“選錯(cuò)方向”的問題,因?yàn)槎际窍嗤ǖ模阋膊荒鼙WC你畢業(yè)以后搞的就是你學(xué)的那個(gè)方向,更不能保證你靠你學(xué)的這點(diǎn)東西就能吃一輩子。

不過就像上邊說的“做Web開發(fā)就有JSP、PHP、ASP.NET等好多方向,我總得選一個(gè)吧!”這個(gè)問題是非常實(shí)際的,因?yàn)橹挥邢葘W(xué)一個(gè)才能深入這個(gè)方向,把這個(gè)方向?qū)W通了才能想以后“一通百通”。

因此我的建議就是學(xué)校教過什么語言,你就繼續(xù)深入學(xué)習(xí)這門語言,而不要去問“這門語言有沒有前途”這樣的傻問題。盡量不要去學(xué)一門所謂“有前途”的新語言,因?yàn)槟闳W(xué)一門新語言就要把很多精力耗費(fèi)在語言、語法本身,而耽誤了編程的實(shí)戰(zhàn),而以一個(gè)已經(jīng)學(xué)過的語言來學(xué)習(xí)的話,起碼語法本身不用再去學(xué)、開發(fā)工具本身不用再去熟悉,只要研究怎么使用這門語言開發(fā)有用的程序就ok了。

不要管“哪門語言好就業(yè)、有前途”,因?yàn)槟切昂镁蜆I(yè)、有前途”都是紙老虎。盡量不要學(xué)新語言,從自己最熟悉的語言入手,深入研究,出山后你就是被用人單位爭(zhēng)搶的紅人。

企業(yè)里都需要什么方面的才能?

這個(gè)要視用人單位的要求而定了。你現(xiàn)在還沒有畢業(yè),也不知道未來要面對(duì)什么樣的崗位。因此建議大家在上學(xué)期間不要偏科,所以的課程都要好好學(xué),學(xué)好專業(yè)課,培養(yǎng)自己的“內(nèi)功心法”,然后進(jìn)入一個(gè)大公司,那么大公司自然會(huì)為你安排一個(gè)人才培養(yǎng)計(jì)劃,在工作的環(huán)境中學(xué)習(xí)就更有目的性。

學(xué)什么最容易?

由于現(xiàn)在的快速開發(fā)工具的不斷推出,使得軟件開發(fā)越來越容易,進(jìn)入軟件開發(fā)的門檻也越來越低。

很多人在IDE工具的誘騙之下,快的十天,慢的半個(gè)月就可以進(jìn)入所謂“程序員”的領(lǐng)域,成了一個(gè)所謂的“程序員”。這對(duì)于IDE提供商來說是樂得合不攏嘴的事情,但是對(duì)于軟件來說卻是一個(gè)無形的打擊。

由于快速工具的盛行,很多人把開發(fā)看作小菜一碟,特別是很多在校的大學(xué)生,都認(rèn)為現(xiàn)在教的內(nèi)容一旦出了學(xué)校都已經(jīng)是落伍,無形中產(chǎn)生了厭學(xué)的心理。

今后的軟件開發(fā)逐漸趨于兩極化,一方面有越來越多的人將從事簡(jiǎn)單的重復(fù)性開發(fā),而且這部分的開發(fā)難度會(huì)逐漸降低;另外一方面核心部分的開發(fā)會(huì)越來越復(fù)雜,這部分的入門所涉及的知識(shí)內(nèi)容會(huì)逐步增加。

所以對(duì)于今后希望從事軟件開發(fā)的同學(xué)們,需要好好的努力學(xué)習(xí),學(xué)校的東西會(huì)有他們的用處,只要現(xiàn)在把基礎(chǔ)打扎實(shí)了,即后你們?cè)谲浖念I(lǐng)域會(huì)有很好的機(jī)會(huì),不要盲目的放棄學(xué)習(xí)的機(jī)會(huì)。

有什么速成的辦法沒有?

一個(gè)人學(xué)一門技術(shù)的速成方法就是不學(xué)那些所謂“沒用”的東西,直接告訴他最終結(jié)論和操作方式。但是很多東西是在探索中、學(xué)習(xí)中才能領(lǐng)悟的,很多人在鉆研一個(gè)技術(shù)難題的過程中查資料、看書、求證,在這過程中不僅鍛煉了自己思考問題的能力,而且夯實(shí)了基礎(chǔ)知識(shí), 最重要的是在探索過程中收獲了很多意想不到的新東西,有很多朋友在鉆研一個(gè)問題的時(shí)候經(jīng)常能無意中的學(xué)會(huì)很多新東西。

上山的“速成”方法是直接坐纜車上去,可是你會(huì)比那些登山者少看到很多路邊的風(fēng)景。那么你是愿意做一個(gè)掌握“速成”方法的人,還是愿意有機(jī)會(huì)看看路邊的風(fēng)景呢?

最后一句話:切務(wù)浮沙筑高臺(tái),練從難處練,用從易處用!無速成,唯有堅(jiān)持!

另外,初學(xué)編程的人大多都有這些錯(cuò)誤認(rèn)識(shí),今天語言君就這些錯(cuò)誤認(rèn)識(shí)給小伙伴們解惑。

1

C/C++太老了,過時(shí)了,平時(shí)用得很少,現(xiàn)在流行都Java、C#等等。

解惑:不要?jiǎng)硬粍?dòng)覺得什么東西過時(shí)了,COBOL還有OO版本面世,還有FORTRAN,LISP,好古老的語言吧,現(xiàn)在還用得很廣呢?!耙磺姓Z言都是紙老虎,一通百通”,學(xué)校已經(jīng)開了編程語言的課,并且想繼續(xù)深入學(xué)習(xí)編程,那么就繼續(xù)使用學(xué)過的語言來學(xué)習(xí),不要再去學(xué)一門新的語言。

2

入門要從OO開始,培養(yǎng)用OO方式思考的習(xí)慣。

解惑:初學(xué)者一入門便擺弄Java、C++等很容易形成誤解,似乎OO=Java,C++…。一切編程語言的根本都是面向過程的,Java、C++ 等語言也是支持面向?qū)ο筇匦缘拿嫦蜻^程的語言。

面向過程就是if……else……、while、for這些東西,Java、C++等語言中難道就沒有這些語句了嗎?

過程式語言(或者說結(jié)構(gòu)化方法)的精髓不會(huì)消亡,OO里面也不可能擺脫掉一條條的語句、函數(shù)調(diào)用,結(jié)構(gòu)化方法。

OO方法不是那么容易學(xué)會(huì)的(OO語言的語法弄得很熟練不代表你懂OO),而結(jié)構(gòu)化那套方法,自個(gè)寫個(gè)千把行的程序就很能體會(huì)了,我是說寫個(gè)實(shí)用點(diǎn)的東西,比如試著自個(gè)實(shí)現(xiàn)一些數(shù)據(jù)結(jié)構(gòu)和算法,寫幾個(gè)小游戲等。寫個(gè)一千行Helloworld等于沒寫。

我覺得方法是實(shí)踐中體會(huì)出來的,不是看看書就能學(xué)會(huì)的。過程式語言的代碼一般比較簡(jiǎn)練,我們編程序最終的目的是要解決問題,是要計(jì)算,是要獲取信息,不要被OO、設(shè)計(jì)模式等迷糊了。

3

過程式語言弄久了,很難轉(zhuǎn)入OO的思維模式

解惑:我以前也沒有深想過這個(gè)理由,不過時(shí)間久了,發(fā)覺自己不過是把數(shù)據(jù)和方法集中在一起而已,看著方便,其實(shí)有很多不合理的東西,這里頭就需要 OO的理論指導(dǎo)了,還是需要時(shí)間來體會(huì)。

我相信有很多用OO語言的人也不過是在框架里頭添添代碼,調(diào)用來調(diào)用去而已,把人類當(dāng)作數(shù)據(jù)和操作的打包器。

個(gè)人覺得只有在用過程式方法做了十來年,編碼上十萬行后才有思維定勢(shì),難以習(xí)慣用OO的眼光看待系統(tǒng),然而這個(gè)轉(zhuǎn)變,我仍覺得比改變一個(gè)人的惡習(xí)容易許多。OO方法不是學(xué)了個(gè)Java,C++等就能掌握的,需要實(shí)踐,需要時(shí)間。

過程式語言也容易培養(yǎng)一個(gè)人嚴(yán)謹(jǐn)?shù)淖鍪聭B(tài)度,比如用匯編,C等寫代碼,沒有命名空間、沒有一大堆類庫,沒有模板、沒有異常,你要花很多心思處理一些細(xì)節(jié),比如警惕數(shù)組索引越界、懸掛指針、野指針等等,請(qǐng)不要覺得麻煩,這個(gè)就是計(jì)算機(jī)啊,底層就是這樣的啊。

4

C好難啊,我入門還是從Python,C#開始吧

解惑:語言只是表達(dá)思想的工具,不要只局限于一種語言,不要狂熱于某一門語言。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • JAVA
    +關(guān)注

    關(guān)注

    19

    文章

    2946

    瀏覽量

    104372
  • 編程語言
    +關(guān)注

    關(guān)注

    10

    文章

    1921

    瀏覽量

    34506
  • python
    +關(guān)注

    關(guān)注

    54

    文章

    4758

    瀏覽量

    84293

原文標(biāo)題:給所有初學(xué)編程的人的干貨

文章出處:【微信號(hào):xx-cyy,微信公眾號(hào):C語言編程基礎(chǔ)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    verilog初學(xué)指南

    [hide=d999999]556677[/hide]verilog初學(xué)指南
    發(fā)表于 08-13 16:21

    verilog初學(xué)指南

    [hide=d999999]000000[/hide]verilog初學(xué)指南
    發(fā)表于 08-13 16:30

    STM32編程常踩的有哪些?

    STM32編程常踩的有哪些?
    發(fā)表于 12-17 06:15

    分享一些嵌入式系統(tǒng)編程中內(nèi)存操作相關(guān)的避指南

    在嵌入式系統(tǒng)的編程中,內(nèi)存操作是我們常用到的,但往往也是易錯(cuò)的地方,怎么避免呢,今天給大家分享一些相關(guān)的避指南。數(shù)據(jù)指針...
    發(fā)表于 12-17 07:18

    編程及C C++初學(xué)者+FAQ

    編程及C C++初學(xué)者+FAQ
    發(fā)表于 09-06 14:55 ?80次下載

    《Linux C編程初學(xué)到精通》

    《Linux C編程初學(xué)到精通》
    發(fā)表于 12-10 00:09 ?26次下載

    Java編程指南

    Java編程指南
    發(fā)表于 03-19 11:26 ?3次下載

    CC++編程指南

    CC++編程指南
    發(fā)表于 10-27 14:45 ?9次下載
    CC++<b class='flag-5'>編程</b><b class='flag-5'>指南</b>

    R語言初學(xué)指南 pdf下載

    R初學(xué)指南
    發(fā)表于 02-26 09:35 ?13次下載

    購買指南 想挑選穿墻效果好的路由器有竅門

    買無線路由器,首要辨識(shí)什么路由器穿墻效果好。面對(duì)市面上五花八門的路由器,很多小白在看到紛繁的參數(shù)就凌亂了,上了無良商家的當(dāng)。小編覺得授人以魚不如授人以漁,所以給大家寫了一篇辨別什么路由器穿墻效果好的購買指南。
    發(fā)表于 05-08 15:30 ?2106次閱讀

    現(xiàn)在不管是搞軟件還是硬件,編程都得學(xué)??偨Y(jié)給初學(xué)編程人的干貨資料下載

    電子發(fā)燒友網(wǎng)為你提供現(xiàn)在不管是搞軟件還是硬件,編程都得學(xué)??偨Y(jié)給初學(xué)編程人的干貨資料下載的電子資料下載,更有其他相關(guān)的電路圖、源代碼、課件教程、中文資料、英文資料、參考設(shè)計(jì)、用戶指南、
    發(fā)表于 04-23 08:52 ?14次下載
    現(xiàn)在不管是搞軟件還是硬件,<b class='flag-5'>編程</b>都得學(xué)??偨Y(jié)給<b class='flag-5'>初學(xué)</b><b class='flag-5'>編程</b>人的干貨資料下載

    初學(xué)者必看的LABVIEW工程師編程經(jīng)驗(yàn)

    初學(xué)者必看的LABVIEW工程師編程經(jīng)驗(yàn)
    發(fā)表于 07-12 14:24 ?29次下載

    SBC 基礎(chǔ)課程——CAN/LIN SBC初學(xué)指南

    SBC 基礎(chǔ)課程——CAN/LIN SBC初學(xué)指南
    發(fā)表于 11-01 08:24 ?9次下載
    SBC 基礎(chǔ)課程——CAN/LIN SBC<b class='flag-5'>初學(xué)</b>者<b class='flag-5'>指南</b>

    微伺服初學(xué)指南

    電子發(fā)燒友網(wǎng)站提供《微伺服初學(xué)指南.zip》資料免費(fèi)下載
    發(fā)表于 11-04 14:19 ?2次下載
    微伺服<b class='flag-5'>初學(xué)</b>者<b class='flag-5'>指南</b>

    PCB設(shè)計(jì)避指南

    本文就重點(diǎn)講解PCB設(shè)計(jì)避指南,99%的PCB工程師容易忽略的!點(diǎn)進(jìn)來避 大家在PCB設(shè)計(jì)中都踩過哪些,一起來圍觀這些奇奇怪怪的
    的頭像 發(fā)表于 03-20 18:20 ?1041次閱讀
    PCB設(shè)計(jì)避<b class='flag-5'>坑</b><b class='flag-5'>指南</b>