溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何才算精通C語(yǔ)言

發(fā)布時(shí)間:2020-09-22 14:34:31 來(lái)源:億速云 閱讀:245 作者:小新 欄目:編程語(yǔ)言

這篇文章主要介紹如何才算精通C語(yǔ)言,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

 對(duì)于C語(yǔ)言,很多人都知道,可能也有很多人大學(xué)甚至中學(xué)也學(xué)習(xí)過(guò),可能只是熟悉或者僅僅了解,能說(shuō)自己精通的應(yīng)該能在前面的基礎(chǔ)上能砍掉大部分人,所以有人就想知道,那該怎樣才能精通C語(yǔ)言呢?

如何才算精通C語(yǔ)言

一. 先具備一定的計(jì)算機(jī)基礎(chǔ),為后續(xù)提升做好準(zhǔn)備

是科班出身的直接學(xué)習(xí)C語(yǔ)言,算是駕輕就熟,相對(duì)來(lái)說(shuō)障礙少一些。不是計(jì)算機(jī)專業(yè)的上來(lái)基本的機(jī)制轉(zhuǎn)化都成問(wèn)題,到后來(lái)學(xué)習(xí)指針等比較難懂的技術(shù)點(diǎn),一些基礎(chǔ)環(huán)節(jié)的缺失該暴露了,舉個(gè)簡(jiǎn)單的例子:移位運(yùn)算,如果不懂的十進(jìn)制轉(zhuǎn)到到二進(jìn)制,高八位,低八位的規(guī)則,沒(méi)點(diǎn)基礎(chǔ)很難搞明白。小編推薦一個(gè)學(xué)C/C++的學(xué)習(xí)裙【六二七,零一二,四六四】,無(wú)論你是大牛還是小白,是想轉(zhuǎn)行還是想入行都可以來(lái)了解一起進(jìn)步一起學(xué)習(xí)!裙內(nèi)有很多干貨和技術(shù)分享!

這也就是為什么很多非計(jì)算機(jī)專業(yè)的想學(xué)編程一直給推薦計(jì)算機(jī)組成原理的原因。

對(duì)于計(jì)算機(jī)專業(yè)的,就可以直接起步學(xué)習(xí)C語(yǔ)言,需要選擇一本比較不錯(cuò)的書(shū),目前口碑不錯(cuò)的書(shū)也不錯(cuò),沒(méi)必要全部買了去學(xué)習(xí),第一次學(xué)習(xí)弄一本書(shū)就夠了,在這推薦C程序設(shè)計(jì)語(yǔ)言,C primer plus,這兩本書(shū)曾經(jīng)在入門的時(shí)候用過(guò)。覺(jué)得還不錯(cuò)。

二. 都準(zhǔn)備好了,如何去學(xué),學(xué)習(xí)過(guò)程應(yīng)該講究什么策略?

有了一定的基礎(chǔ)了,書(shū)本也準(zhǔn)備好了,肯定有人會(huì)說(shuō),用跟著視頻學(xué)習(xí)也很不錯(cuò)啊。視頻學(xué)習(xí)簡(jiǎn)單明了,而且里面的老師講的也比較清晰,為啥還要選擇以書(shū)本為主。很多人都喜歡看武俠電視劇,看過(guò)原著的人再去看拍的電視劇總會(huì)覺(jué)得缺少點(diǎn)什么,視頻是對(duì)知識(shí)的高度提煉和濃縮的過(guò)程,所以看起來(lái)非常簡(jiǎn)單直接,看似比較容易去學(xué)。經(jīng)過(guò)語(yǔ)言的加工提煉,讓人一聽(tīng)就明白,但是這個(gè)加工提煉的過(guò)程不是學(xué)習(xí)編程的人自己搞的。

學(xué)習(xí)編程本質(zhì)上就是建立自己知識(shí)體系的過(guò)程,建立過(guò)程就需要一個(gè)提升思維認(rèn)知的過(guò)程,書(shū)本上的東西比較抽象,看起來(lái)更加讓自己的大腦有遐想的空間,更加容易讓自己去動(dòng)腦。在這強(qiáng)調(diào)一點(diǎn)不是說(shuō)看視頻學(xué)習(xí)不對(duì),可以選擇性的來(lái)看。以書(shū)本為基礎(chǔ),遇到實(shí)在不懂的點(diǎn),找到對(duì)應(yīng)的知識(shí)點(diǎn)去看看視頻學(xué)習(xí)一下,然后再去回歸書(shū)本。在這個(gè)過(guò)程中很多人覺(jué)得我看視頻都聽(tīng)得非常明白,但是離開(kāi)視頻讓我寫(xiě)怎么也寫(xiě)不出來(lái)。原因是聽(tīng)明白和實(shí)踐明白是兩碼事,多練才是硬道理。

三. 掌握常見(jiàn)的幾個(gè)大知識(shí)點(diǎn)

數(shù)據(jù)類型,數(shù)組,函數(shù),指針,結(jié)構(gòu)體,預(yù)處理,文件等幾大塊。真正難點(diǎn)集中在函數(shù),指針,預(yù)處理看起來(lái)不是很難,在很多大型軟件底層從效率考慮很多函數(shù)的實(shí)現(xiàn)直接采用宏的方式,對(duì)于初學(xué)者就不要考慮那么多。

指針是整個(gè)C語(yǔ)言的核心,回調(diào)函數(shù),以及數(shù)據(jù)結(jié)構(gòu)都是圍繞指針展開(kāi)。數(shù)據(jù)結(jié)構(gòu)很多都是專門的一本書(shū)拿出來(lái)作為重點(diǎn)去學(xué),本質(zhì)上就是指針和結(jié)構(gòu)體的搭配組合,形成各種數(shù)據(jù)結(jié)構(gòu),二叉樹(shù),樹(shù),鏈表等等。

對(duì)于指針的了解,指針就是一個(gè)變量,只不過(guò)這個(gè)變量和普通的變量有點(diǎn)差異存放的是地址,這個(gè)地址會(huì)指向一個(gè)內(nèi)存區(qū)域,這個(gè)區(qū)域可以存放任何的數(shù)值,也可以繼續(xù)存放地址,二級(jí)指針就是這么來(lái)的,指針在使用之前一定要初始化,初始化本質(zhì)上就是給這個(gè)指針尋找一個(gè)真實(shí)的存在的內(nèi)存區(qū)域。說(shuō)起來(lái)挺簡(jiǎn)單,但是在實(shí)際使用過(guò)程中,初學(xué)者往往會(huì)產(chǎn)生各種錯(cuò)誤,這也屬于正常。開(kāi)始挖坑,然后慢慢填坑,直到弄明白是啥意思,這個(gè)期間可能會(huì)比較痛苦,挺過(guò)來(lái)再去看其實(shí)也沒(méi)那么難。

學(xué)的過(guò)程遇到瓶頸可以找對(duì)應(yīng)的視頻看看,也可以留言說(shuō)出你的困惑,知識(shí)點(diǎn)也就那就那幾個(gè),弄一個(gè)少一個(gè)??倳?huì)結(jié)束的時(shí)候。

掌握大致的知識(shí)點(diǎn)之后,可以找一些小的項(xiàng)目練手,比如貪吃蛇,俄羅斯方塊等游戲,代碼量相對(duì)比較小,但也能從側(cè)面提升編碼能力和對(duì)知識(shí)的認(rèn)知程度。

四. 如何深層次的提升

用C語(yǔ)言做項(xiàng)目難點(diǎn)主要包含三點(diǎn),查找內(nèi)存泄漏,提升系統(tǒng)性能,搭建框架也合理。

由于C語(yǔ)言的指針使用的時(shí)候就需要初始化,基本上附帶著需要申請(qǐng)內(nèi)存,如果內(nèi)存不及時(shí)釋放,不停的申請(qǐng)就會(huì)造成內(nèi)存泄漏。查找內(nèi)存泄漏需要自己去寫(xiě)鉤子函數(shù)抓住有多少人去申請(qǐng)了內(nèi)存,然后抓住釋放函數(shù),抓取數(shù)據(jù)然后根據(jù)指針的地址做比較,看看有沒(méi)有只是申請(qǐng)內(nèi)存,但是沒(méi)有釋放的地址,抓出來(lái)了找到對(duì)應(yīng)的代碼直接修改掉。

系統(tǒng)性能解決整體上有兩種策略,重新審視代碼邏輯,通過(guò)debug或者加打印的方式,一點(diǎn)點(diǎn)排除,做這種工作比較乏味而且還需要具體整體的把握能力,有一種對(duì)代碼的直覺(jué)包含在里面。

搭建框架這個(gè)要求更高了,設(shè)計(jì)模塊的框架整體來(lái)說(shuō)都是遵循高內(nèi)聚,低耦合策略。但是實(shí)際在開(kāi)發(fā)過(guò)程中,可能為了方便直接就來(lái)回調(diào)用的很多。算是軟件開(kāi)發(fā)的非常高的境界了。

這部分說(shuō)的內(nèi)容可能對(duì)于初學(xué)者來(lái)說(shuō),感覺(jué)還是比較遙遠(yuǎn),基本上算是編程老手做的事情。都會(huì)有從小白到高手的過(guò)程,也不要覺(jué)得現(xiàn)在水平很差就覺(jué)得自己沒(méi)有希望了,都是需要一個(gè)過(guò)程。千里之行始于足下。

作為初學(xué)者可以審視下自己現(xiàn)在學(xué)習(xí)到哪個(gè)階段了,差距還有多遠(yuǎn),要走的路還有多少。知己知彼百戰(zhàn)不殆。

以上是如何才算精通C語(yǔ)言的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI