找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2872|回復(fù): 16
打印 上一主題 下一主題
收起左側(cè)

C++語言怎樣編程啊?

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:405761 發(fā)表于 2018-10-6 10:06 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
如題
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:405761 發(fā)表于 2018-10-6 11:54 | 只看該作者
有人嗎?
回復(fù)

使用道具 舉報

板凳
ID:155507 發(fā)表于 2018-10-6 12:55 | 只看該作者
C++是最難的語言。這個世界上最難的編程語言可能非C++莫屬了。你千萬不要以為幾天就可以學(xué)好C++,C++的學(xué)習(xí)曲線是相當(dāng)BT的,C++是一門很自由的語言,自由到了有點BT和恐怖的地步。

基本功
數(shù)學(xué)(隨著深入學(xué)習(xí),你會需要更高深的數(shù)學(xué)知識)、英語(用于查找最新資料以及養(yǎng)成編寫程序的正確命名習(xí)慣)


1. 選書,市面上的書非常多,在此不想作任何推薦,因為意義不大,每本書都因人而異。最重要的是:你要找到你習(xí)慣的書,翻開C++入門書后,能夠看得懂或者比較習(xí)慣于它里面的文字描述(偶爾出現(xiàn)不懂的專業(yè)術(shù)語可以暫時留著,繼續(xù)往下看)。

2. 選書2,由于C++是一門實踐性很強的語言課程,所以在選書的時候最好找到這種書:書中有詳細(xì)關(guān)于使用C++上機軟件的步驟(我們稱這種軟件為IDE(集成開發(fā)環(huán)境),比如Visual C++ 6.0/.Net , DevC++ ,Intel C++ 等等)。

3. 學(xué)習(xí)之初,買到書之后,就應(yīng)該按書上去操作IDE,熟悉并能操作基本的功能。比如新建、保存、另存為,以及各種常識性內(nèi)容:文件后綴的意義.cpp為源文件,.h為頭文件,.c為專門的C語言源文件,以及生成的exe文件放在什么目錄下,等等。

4. 學(xué)習(xí)之初2,熟悉了IDE的使用后,再繼續(xù)看書,把每一段可以編譯并運行的代碼輸入IDE編輯區(qū),編譯運行,看效果是否是預(yù)料之中,并小范圍修改代碼,改寫后再看,達(dá)到對代碼的一個感性認(rèn)知與理性認(rèn)知的結(jié)合。

5. 長途跋涉,對書的咀嚼很重要,最好一字不漏,因為對于一個陌生事物,你一旦遺漏,可能要耗費很多精力在搞清楚后續(xù)內(nèi)容上,但,記住,只是讓你不要遺漏書中所描述的內(nèi)容,不是說遇到實在不太理解的東西后就駐足不前,你把問題都記下,繼續(xù)往后看,時刻試圖去用后面的東西聯(lián)系前面的困惑,看是否能有所突破。

6. 切記,學(xué)C++最重要的是把你所見到的代碼在IDE上寫一遍,運行并反復(fù)改動代碼,達(dá)到對你遇到的所有代碼都有一個功能-語法的對應(yīng)。你知道改后的效果,并要以此格式去類推。

7. 思維要清晰,如何能夠清晰?客觀,如何能夠客觀?不要把東西想復(fù)雜化了。比如一個語法,你只需要關(guān)心它能產(chǎn)生什么作用(盡量用自己通俗的邏輯去接納它),而對于它的其他隱藏作用和未知的東西,你暫時不用考慮。所見即所得。

8. 化簡,化簡很重要,解決問題的時候,當(dāng)問題對你來說看似復(fù)雜,你應(yīng)該分清主次,并把最關(guān)鍵的內(nèi)容抽象出來,當(dāng)做獨立的問題,并思考你能否解決。再擴展回歸到復(fù)雜問題。

9. 與、或、非、相等、不等;這幾個邏輯術(shù)語,能夠讓你的所有疑問都消除,當(dāng)你寫的程序錯誤率很高時,要學(xué)會前因后果分析,以及靈活運用注釋,把不相干的注釋掉,看最后哪條語句才是病句。最后還需要學(xué)會調(diào)試工具(初期可以用輸出語句來代替出錯點檢測)。

10. 好了,接下來,也是最重要的總結(jié)了,只要你能把握,就能夠初難后易,貫通到底:
① 獨立思考解決程序問題,當(dāng)你的思維能夠習(xí)慣性地考慮到足夠多的可能性后,你會習(xí)慣越來越容易的解決別人難以把握的問題。
② 逆向思維,由于程序所體現(xiàn)的東西是二元性質(zhì)的,即不是這樣,就是那樣,永遠(yuǎn)不會模凌兩可,所以你從結(jié)果可以一步一步倒推到原因。
③ 堅信你所學(xué)到的C++內(nèi)容能夠解決你所遇到的所有你需要解決的程序設(shè)計問題。其實僅僅從邏輯上來說,你學(xué)完任何入門C++書的前7章基本能解決邏輯上絕大部分問題了。很多高深的經(jīng)典問題比如TSP和尋路等等(當(dāng)然,可能你還需要一些數(shù)據(jù)結(jié)構(gòu)知識),但是
你應(yīng)該相信,即使你沒學(xué)過多少后續(xù)理論,也能在一定程度上局部解決你遇到的任何程序設(shè)計邏輯題。注意事項
• 初學(xué)者常犯的錯誤是:
• 分號忘記
• 大括號不匹配,中括號不匹配,小括號不匹配(你應(yīng)該先打括號,再填入內(nèi)容:切記,高手都這樣)。如果你不這么做,會出現(xiàn)這樣的困惑:((()()()((()()((((()()((... 這個右邊你能一眼看出要補充多少右括號嗎?以及哪個括號對應(yīng)哪個括號?
• 賦值'=' 與等于 '==' 混淆。
• 作用域問題:沒聲明就使用變量,沒初始化就是用變量,變量名沖突(同一個作用域一樣的變量名字被聲明了)等等。
• if語句大括號體內(nèi)范圍不明確,最好不論是if、for、while,只要涉及到大括號的語法結(jié)構(gòu),都不要省略,并明確在視覺上對稱,以免混淆哪個應(yīng)該在哪個包括區(qū)域內(nèi)。
• 指針,要清晰指針和一般變量的區(qū)別和使用方法,怎么弄清?不斷的寫代碼,改代碼,測試,所見即所得,至少你寫的代碼得到的結(jié)果不會和理論相悖,并能驗證你對它們的理解是否有誤。
• 類和對象,需要通過寫代碼去不斷驗證你對重載、繼承、多態(tài)、內(nèi)聯(lián)、友元、靜態(tài)、指針對象等等概念的理解和它們之間的正確關(guān)系。
• 模板,同樣少不了你要不斷敲代碼改寫代碼去驗證你所認(rèn)為的是否和實際相符合。改變認(rèn)知的過程及其重要,學(xué)習(xí)就是不斷構(gòu)造認(rèn)知,以及修正觀點的過程。

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復(fù)

使用道具 舉報

地板
ID:387733 發(fā)表于 2018-10-6 13:02 | 只看該作者
這個問題問得太籠統(tǒng)了吧

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復(fù)

使用道具 舉報

5#
ID:155507 發(fā)表于 2018-10-6 13:11 | 只看該作者

1、把C++當(dāng)成一門新的語言學(xué)習(xí)(和C沒啥關(guān)系!)。

2、看《Thinking In C++》,不要看《C++編程思想》。

3、看《The C++ Programming Language》和《Inside The C++ Object Model》,不要因為他們很難而我們自己是初學(xué)者所以就不看。

4、不要被VC、BCB、BC、MC、TC等詞匯所迷惑–他們都是集成開發(fā)環(huán)境,而我們要學(xué)的是一門語言。

5、不要放過任何一個看上去很簡單的小編程問題——他們往往并不那么簡單,或者可以引伸出很多知識點。

6、會用Visual C++ ,并不說明你會C++。

7、學(xué)class并不難,template、STL、generic programming也不過如此,難的是長期堅持實踐和不遺余力的博覽群書。

8、如果不是天才的話,想學(xué)編程就不要想玩游戲–你以為你做到了,其實你的C++水平并沒有和你通關(guān)的能力一起變高–其實可以時刻記。簩W(xué)C++是為了編游戲的。

9、看Visual C++的書,是學(xué)不了C++語言的。

10、浮躁的人容易說:XX語言不行了,應(yīng)該學(xué)YY;——是你自己不行了吧!?

11、浮躁的人容易問:我到底該學(xué)什么;——別問,學(xué)就對了;

13、浮躁的人容易說:我要中文版!我英文不行!——不行?學(xué)呀!

14、浮躁的人容易問:XX和YY哪個好;——告訴你吧,都好——只要你學(xué)就行。

15、浮躁的人分兩種:a)只觀望而不學(xué)的人; b)只學(xué)而不堅持的人。

16、把時髦的技術(shù)掛在嘴邊,還不如把過時的技術(shù)記在心里。

17、C++不僅僅是支持面向?qū)ο蟮某绦蛟O(shè)計語言。

18、學(xué)習(xí)編程最好的方法之一就是閱讀源代碼。

19、在任何時刻都不要認(rèn)為自己手中的書已經(jīng)足夠了。

20、請閱讀《The Standard C++ Bible》(中文版:標(biāo)準(zhǔn)C++寶典),掌握C++標(biāo)準(zhǔn)。

21、看得懂的書,請仔細(xì)看;看不懂的書,請硬著頭皮看。

22、別指望看第一遍書就能記住和掌握什么–請看第二遍、第三遍。

23、請看《Effective C++》和《More Effective C++》以及《Exceptional C++》。

24、不要停留在集成開發(fā)環(huán)境的搖籃上,要學(xué)會控制集成開發(fā)環(huán)境,還要學(xué)會用命令行方式處理程序。

25、和別人一起討論有意義的C++知識點,而不是爭吵XX行不行或者YY與ZZ哪個好。

26、請看《程序設(shè)計實踐》,并嚴(yán)格的按照其要求去做。

27、不要因為C和C++中有一些語法和關(guān)鍵字看上去相同,就認(rèn)為它們的意義和作用完全一樣。

28、C++絕不是所謂的C的“擴充”–如果C++一開始就起名叫Z語言,你一定不會把C和Z語言聯(lián)系得那么緊密。

29、請不要認(rèn)為學(xué)過XX語言再改學(xué)C++會有什么問題–你只不過又在學(xué)一門全新的語言而已。

30、讀完了《Inside The C++ Object Model》以后再來認(rèn)定自己是不是已經(jīng)學(xué)會了C++。

31、學(xué)習(xí)編程的秘訣是:編程,編程,再編程。

32、請留意下列書籍:《C++面向?qū)ο蟾咝Ь幊?C++ Effective Object-Oriented Software Construction)》、《面向?qū)ο筌浖䴓?gòu)造(Object-Oriented Software Construction)》、《設(shè)計模式(Design Patterns)》、《The Art of Computer Programming》。

33、記。好嫦?qū)ο蠹夹g(shù)不只是C++專有的。

34、請把書上的程序例子親手輸入到電腦上實踐,即使配套光盤中有源代碼。

35、把在書中看到的有意義的例子擴充。

36、請重視C++中的異常處理技術(shù),并將其切實的運用到自己的程序中。

37、經(jīng);仡欁约阂郧皩戇^的程序,并嘗試重寫,把自己學(xué)到的新知識運用進(jìn)去。

38、不要漏掉書中任何一個練習(xí)題–請全部做完并記錄下解題思路。

39、C++語言和C++的集成開發(fā)環(huán)境要同時學(xué)習(xí)和掌握。

40、既然決定了學(xué)C++,就請堅持學(xué)下去,因為學(xué)習(xí)程序設(shè)計語言的目的是掌握程序設(shè)計技術(shù),而程序設(shè)計技術(shù)是跨語言的。

41、就讓C++語言的各種平臺和開發(fā)環(huán)境去激烈的競爭吧,我們要以學(xué)習(xí)C++語言本身為主。

42、當(dāng)你寫C++程序?qū)懙揭话雲(yún)s發(fā)現(xiàn)自己用的方法很拙劣時,請不要馬上停手,請盡快將余下的部分粗略的完成以保證這個設(shè)計的完整性,然后分析自己的錯誤并重新設(shè)計和編寫(參見43)。

43、別心急,設(shè)計C++的class確實不容易;自己程序中的class和自己的class設(shè)計水平是在不斷的編程實踐中完善和發(fā)展的。

44、絕不要因為程序“很小”就不遵循某些你不熟練的規(guī)則–好習(xí)慣是培養(yǎng)出來的,而不是一次記住的。

45、每學(xué)到一個C++難點的時候,嘗試著對別人講解這個知識點并讓他理解–你能講清楚才說明你真的理解了。

46、記錄下在和別人交流時發(fā)現(xiàn)的自己忽視或不理解的知識點。

47、請不斷的對自己寫的程序提出更高的要求,哪怕你的程序版本號會變成Version 100.XX。

48、保存好你寫過的所有的程序–那是你最好的積累之一。

49、請不要做浮躁的人。

50、熱愛C++!

評分

參與人數(shù) 1黑幣 +12 收起 理由
609763691 + 12 謝謝,辛苦了,看了還是有一些想法

查看全部評分

回復(fù)

使用道具 舉報

6#
ID:375250 發(fā)表于 2018-10-6 13:30 | 只看該作者
C++可以試試ARUINO編寫程序那個風(fēng)格可以,51還是一般用C和匯編
回復(fù)

使用道具 舉報

7#
ID:303383 發(fā)表于 2018-10-6 13:39 | 只看該作者
提示: 作者被禁止或刪除 內(nèi)容自動屏蔽
回復(fù)

使用道具 舉報

8#
ID:405829 發(fā)表于 2018-10-6 14:29 | 只看該作者
家里有人也想學(xué),沒基礎(chǔ),不知道能不能堅持學(xué)下去

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復(fù)

使用道具 舉報

9#
ID:405825 發(fā)表于 2018-10-6 14:30 | 只看該作者
學(xué)習(xí)任何一門高級編程語言,都不是易事.實踐是最有效的捷徑.獨立思考是必不可少的.

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復(fù)

使用道具 舉報

10#
ID:150905 發(fā)表于 2018-10-6 14:42 | 只看該作者
太想看了,如果還有這樣的好書請樓主再多上傳一些造福大家,謝謝啦!
回復(fù)

使用道具 舉報

11#
ID:405884 發(fā)表于 2018-10-6 16:54 | 只看該作者
簡易你去學(xué)學(xué)PYTHON,比起C語言容易多了,畢竟C語言是所有語言里最難得
回復(fù)

使用道具 舉報

12#
ID:407057 發(fā)表于 2018-10-9 15:44 | 只看該作者
1基礎(chǔ)語言學(xué)好
2實踐
回復(fù)

使用道具 舉報

13#
ID:408355 發(fā)表于 2018-10-11 23:53 | 只看該作者
如果只是單片機,應(yīng)該還是用C是最合適的
回復(fù)

使用道具 舉報

14#
ID:408355 發(fā)表于 2018-10-11 23:53 | 只看該作者
如果只是單片機。C語言足夠而且應(yīng)該是最合適的
回復(fù)

使用道具 舉報

15#
ID:408389 發(fā)表于 2018-10-12 08:54 | 只看該作者
如果只是單片機。C語言足夠而且應(yīng)該是最合適的,高級一點例如stm32就要會點c艸了

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復(fù)

使用道具 舉報

16#
ID:408447 發(fā)表于 2018-10-12 10:24 | 只看該作者
建議看一本C語言的書
回復(fù)

使用道具 舉報

17#
ID:408891 發(fā)表于 2018-10-13 09:44 | 只看該作者
其實c++難的原因是因為靈活度大。學(xué)的東西也多,建議先學(xué)c。主抓流程控制,函數(shù),和指針,把面向過程搞明白,才能學(xué)好c++
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表