您好,登錄后才能下訂單哦!
自學(xué)C語言和C++需要注意什么?針對這個問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
1、入門后多看代碼
在有一定基礎(chǔ)以后一定要多看別人的代碼。注意代碼中的算法和數(shù)據(jù)結(jié)構(gòu)。畢竟學(xué)C之后的關(guān)口就是算法和數(shù)據(jù)結(jié)構(gòu)。提到數(shù)據(jù)結(jié)構(gòu),指針是其中重要的一環(huán),絕大多數(shù)的數(shù)據(jù)結(jié)構(gòu)是建立在指針之上的,如鏈表、隊列、樹、圖等等,所以只有學(xué)好指針才能真正學(xué)好C。別的方面也要關(guān)注一下,諸如變量的命名、庫函數(shù)的用法等等。有些庫函數(shù)是經(jīng)常用到的。對于這些函數(shù)的用法就要牢牢記住。
2、要自己動手
編程序是個實干的活,光說不練不行。剛開始學(xué)的時候可以多練習(xí)書上的習(xí)題。對于自己不明白的地方,自己編個小程序?qū)嶒炓幌率亲詈玫姆椒ǎ芙o自己留下深刻的印象。自己動手的過程中要不斷糾正自己不好的編程習(xí)慣和認(rèn)識錯誤。有一定的基礎(chǔ)以后可以嘗試編一點小游戲,照著編作為練習(xí)?;A(chǔ)很扎實的時候,可以編一些關(guān)于數(shù)據(jù)結(jié)構(gòu)方面的東西。之后.....學(xué)匯編、硬件知識。
3、選擇一個好的編譯器
GCC或者VS都是一個好的選擇
4、關(guān)于養(yǎng)成良好的編程習(xí)慣
(1) 在比較復(fù)雜的代碼后面要有注釋。如果光溜溜一堆代碼,別人就不可能看懂你的代碼,而且也不利于查找錯誤。除非你一直編東西給自己看。能在代碼里說明白的就一定要在代碼里體現(xiàn)。比如變量名、函數(shù)名,在命名的時候盡量說明是干什么用的。
(2)注意語句的嵌套不能過長,一般來說,一段代碼里Tab要少于8個。簡單說就是語句最多8個嵌套。對于新手來說,這個標(biāo)準(zhǔn)還要下降。有一個好習(xí)慣是,把主函數(shù)盡量寫簡短。經(jīng)??吹絼e人的代碼是主函數(shù)只有幾行,幾個函數(shù)調(diào)用,而定義全在主函數(shù)外部。這樣一是減少了主函數(shù)內(nèi)部的嵌套,二是比較精簡,容易讀懂。
(3)注意語句的選擇。并不是分支語句就用if循環(huán)就用while、for。在適當(dāng)?shù)那闆r下switch和do while語句也是要用的。在某些時候,switch語句比if語句更加精練明了,而do while比while少一個循環(huán)。
很多人對學(xué)習(xí)C語言感到無從下手,經(jīng)常問我同一個問題:究竟怎樣學(xué)習(xí)C語言?我是一個教師,已經(jīng)開發(fā)了很多年的程序,和很多剛剛起步的人一樣,學(xué)習(xí)的第一個計算機語言就是C語言。經(jīng)過這些年的開發(fā),我深深的體會到C語言對于一個程序設(shè)計人員多么的重要,如果不懂C語言,你想寫底層程序這幾乎聽起來很可笑,不懂C語言,你想寫出優(yōu)秀高效的程序,這簡直就是天方夜譚。為什么C語言如此重要呢?
系統(tǒng)學(xué)習(xí)編程的方式。首先你要了解什么語言能做什么,學(xué)來干嘛,然后學(xué)相對應(yīng)的知識,而不是盲目的去學(xué)習(xí)。
C語言很多人都是剛剛接觸 完全都不知道這是什么,那么就要先裝個編譯器,IED,或者gcc等都可以,只要能用。
C語言知識流程:
學(xué)數(shù)據(jù)類型,-進(jìn)制轉(zhuǎn)換-運算符-循環(huán)語句-開關(guān)分支語句-函數(shù)-數(shù)組-字符串-指針-結(jié)構(gòu)體-內(nèi)存管理-文件操作-函數(shù)指針-指針函數(shù)-多維數(shù)組-高級指針-結(jié)構(gòu)圖嵌套-高級內(nèi)存管理-鏈表-排序算法-二樹叉-APi函數(shù)-linux命令-linuxAPi函數(shù)-shell腳本-socket通信-等。
初學(xué)者看得會有點亂,到了學(xué)API函數(shù) 的時候也就是開發(fā)項目的時候了,但是有一點注意,因為部分知識沒法在書上表達(dá)出來,所以目前書上知識是不完善的。
一門語言開發(fā)出項目來才算是真正的開始,也就是說,你開發(fā)出來項目,才有可能去接觸工作,C語言的工作崗位相對來說是比較少的。
再來說說C++:
C++ 知識很多,主要部分就是框架,QT,MFC這兩種框架目前用的是比較多的,也有人會直接學(xué)C++,但是學(xué)起來會比直接學(xué)C還難,而學(xué)過C在學(xué)C++是容易很多,主要學(xué)的就是框架方面的知識了,C語言的知識和C++的差不多,區(qū)別不大,所以學(xué)C++的時候主要學(xué)的就是框架了。
C++知識流程:
編譯環(huán)境配置-名字空間-函數(shù)重載-啞元函數(shù)-內(nèi)聯(lián)函數(shù)-引用-類型轉(zhuǎn)換-面向?qū)ο?類的使用-構(gòu)造函數(shù)-析構(gòu)函數(shù)-拷貝構(gòu)造-拷貝賦值-this指針-常對象-常函數(shù)-動態(tài)內(nèi)存分配-靜態(tài)成員-運算符重載-繼承-多重繼承-函數(shù)重寫-多態(tài)-虛函數(shù)-抽類象-虛析構(gòu)-動態(tài)綁定-文件i/o-異常處理-標(biāo)準(zhǔn)異常-泛型編程-十大容器-算法-迭代器-QT編程-QT三維圖形-API函數(shù)編程-MFC框架編程。
C語言是面向過程的,而C++是面向?qū)ο蟮摹?/p>
C和C++的區(qū)別:
C是一個結(jié)構(gòu)化語言,它的重點在于算法和數(shù)據(jù)結(jié)構(gòu)。C程序的設(shè)計首要考慮的是如何通過一個過程,對輸入(或環(huán)境條件)進(jìn)行運算處理得到輸出(或?qū)崿F(xiàn)過程(事務(wù))控制)。
C++,首要考慮的是如何構(gòu)造一個對象模型,讓這個模型能夠契合與之對應(yīng)的問題域,這樣就可以通過獲取對象的狀態(tài)信息得到輸出或?qū)崿F(xiàn)過程(事務(wù))控制。所以C與C++的最大區(qū)別在于它們的用于解決問題的思想方法不一樣。之所以說C++比C更先進(jìn),是因為“ 設(shè)計這個概念已經(jīng)被融入到C++之中 ”。
C與C++的最大區(qū)別:在于它們的用于解決問題的思想方法不一樣。之所以說C++比C更先進(jìn),是因為“ 設(shè)計這個概念已經(jīng)被融入到C++之中 ”,而就語言本身而言,在C中更多的是算法的概念。那么是不是C就不重要了,錯!算法是程序設(shè)計的基礎(chǔ),好的設(shè)計如果沒有好的算法,一樣不行。而且,“C加上好的設(shè)計”也能寫出非常好的東西。
關(guān)于自學(xué)C語言和C++需要注意的問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。