為什么要學(xué)c語(yǔ)言 孫志剛 學(xué)c語(yǔ)言為什么感覺很困難

雨釀酒灼2022-07-27 07:10:101070

為什么要學(xué)習(xí)C語(yǔ)言?第一講 C語(yǔ)言簡(jiǎn)介及為什么要學(xué)習(xí)C語(yǔ)言?為什么要學(xué)C語(yǔ)言呢 你有認(rèn)真想過嗎?為什么要學(xué)習(xí)c語(yǔ)言?它具有哪些特性?為什么要學(xué)習(xí)C語(yǔ)言?

本文導(dǎo)航

現(xiàn)在還有必要學(xué)c語(yǔ)言嗎

1.簡(jiǎn)約

雖說(shuō)用好c語(yǔ)言很難,但是對(duì)于c語(yǔ)言的入門是很容易的,用一句話來(lái)形容c語(yǔ)言,我覺得是易于上手,難于精通,C語(yǔ)言在語(yǔ)法上的使用很簡(jiǎn)單,因?yàn)樗皇呛芨呒?jí),也不是很龐大,在第二版(K&R)中,它的參考手冊(cè)僅僅用了49頁(yè)就描述了整個(gè)C語(yǔ)言,沒有迭代器,沒有裝箱....C語(yǔ)言的這種“低級(jí)”讓我們?cè)趯W(xué)習(xí)時(shí)會(huì)把重點(diǎn)放在自己控制上,所以什么都會(huì)選擇自己動(dòng)手,而在用java或python時(shí),我的第一感覺,往往是,“嗯,我有哪些工具可以使用?”太多的工具選擇,有時(shí)候是件壞事,因?yàn)闆]了許多鍛煉的機(jī)會(huì),而且很難抓住重點(diǎn),有的時(shí)候什么都沒有反而是件好事。<!--more--

2,原理

操作系統(tǒng)是一個(gè)程序員應(yīng)該學(xué)好的一門課,但是我們?cè)趯W(xué)習(xí)的那些操作系統(tǒng)概念很難深入理解,或者比較抽象,比如餓死哲學(xué)家之類的,僅僅知道概念,是不能解決實(shí)際問題的,比如,你可能學(xué)過一些進(jìn)程的概念,或者內(nèi)存分段之類的,那我問你,windows進(jìn)程問什么沒有僵死?在windows中如何修改一個(gè)進(jìn)程中的數(shù)據(jù)?Linux的fork和Windows的createProcess有什么不同?linux有線程嗎?你寫一個(gè)我看!你的理論不管用了,因?yàn)槟銢]有實(shí)踐過.所以,我覺得學(xué)習(xí)操作系統(tǒng)最好的方式就是用c語(yǔ)言進(jìn)行系統(tǒng)調(diào)用,這種方式在unix和linux下能獲得更好的學(xué)習(xí)方式,因?yàn)閣in32-sdk不適合學(xué)習(xí),更適合開發(fā),在unix下,你能用你的操作系統(tǒng)知識(shí)與fork(),exe(),wait()等系統(tǒng)調(diào)用很好的結(jié)合.

而且不僅僅是操作系統(tǒng)你,在學(xué)習(xí)c語(yǔ)言的時(shí)候,你不得不接觸一些系統(tǒng)結(jié)構(gòu)的知識(shí),比如字節(jié)對(duì)齊,比如c語(yǔ)言的地址空間,你就會(huì)知道堆棧這種東西,如果不是遞歸,是可以沒有的.你就會(huì)知道虛擬地址到實(shí)際地址的轉(zhuǎn)換.這些在java和c#中變得透明,但是透明是為了方便開發(fā),透明對(duì)一個(gè)學(xué)習(xí)者是有害的,想象今后的云計(jì)算,將會(huì)是怎樣的開發(fā)?它將培養(yǎng)更多的碼農(nóng)。

3,數(shù)據(jù)結(jié)構(gòu)與算法

用C語(yǔ)言來(lái)學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)和算法在合適不過了,用指針去寫吧,用Java和c#下的學(xué)習(xí)更像是會(huì)用。你可能會(huì)說(shuō)C++更好,但是你的類(變量+函數(shù))本質(zhì)跟c語(yǔ)言中的結(jié)構(gòu)體+函數(shù),沒有區(qū)別,除非你用模板,多態(tài),重載,我才承認(rèn)你在用c++,但是你的重點(diǎn)篇了,我們不是在討論學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)與算法嗎?你現(xiàn)在是在學(xué)習(xí)語(yǔ)言特性了。

4,更好的過渡

本文所寫的是為什么學(xué)習(xí)C語(yǔ)言,作為一個(gè)學(xué)生,我覺得說(shuō)什么C語(yǔ)言開發(fā)更高效,就是個(gè)笑話,因?yàn)?,談到開發(fā),又開始談金錢,時(shí)間,一大堆的東西,你會(huì)問,為什么不是java或python?開發(fā)是開發(fā)的事,你學(xué)的扎實(shí)還不會(huì)開發(fā)?我只是說(shuō)c語(yǔ)言的路線更適合學(xué)習(xí),你又會(huì)問錢都掙不上學(xué)什么?我記得有一次一個(gè)來(lái)做java培訓(xùn)的人說(shuō),“我們培訓(xùn)java,你們把自己做成一個(gè)商品,推銷出去。”。我覺得很可笑,我們要做的不是商品,最起碼是一支股票。所以害怕學(xué)的東西找不到工作的人,用一切時(shí)間來(lái)猶豫徘徊。

c語(yǔ)言學(xué)習(xí)從哪里來(lái)

C語(yǔ)言是一種廣泛應(yīng)用的計(jì)算機(jī)語(yǔ)言,相信觀看我們教程的各位,沒有不知道什么是C語(yǔ)言的;對(duì)于C語(yǔ)言的歷史這里就不做介紹了,我們說(shuō)一下C語(yǔ)言的標(biāo)準(zhǔn)。

·k&RC標(biāo)準(zhǔn):這是1978年由美國(guó)電話電報(bào)公司(AT&T)貝爾實(shí)驗(yàn)室正式發(fā)表的C語(yǔ)言標(biāo)準(zhǔn),是zui早期的C語(yǔ)言標(biāo)準(zhǔn)。

·ANSI C/ C89標(biāo)準(zhǔn):我們所看到的大部分的教科書中,用到的也是這個(gè)標(biāo)準(zhǔn),而且,我們的教程中也是按照這個(gè)標(biāo)準(zhǔn)講的。1990年,國(guó)際標(biāo)準(zhǔn)化組織(ISO)和國(guó)際電工委員會(huì)(IEC)把C89標(biāo)準(zhǔn)定為C語(yǔ)言的國(guó)際標(biāo)準(zhǔn),命名為ISO/IEC 9899:1990 - Programming languages -- C。因?yàn)榇藰?biāo)準(zhǔn)是在1990年發(fā)布的,所以有些人把簡(jiǎn)稱作C90標(biāo)準(zhǔn)。不過大多數(shù)人依然稱之為C89標(biāo)準(zhǔn),因?yàn)榇藰?biāo)準(zhǔn)與ANSI C89標(biāo)準(zhǔn)完全等同。

·C99標(biāo)準(zhǔn):1999年1月,國(guó)際標(biāo)準(zhǔn)化組織(ISO)和國(guó)際電工委員會(huì)(IEC)發(fā)布了C語(yǔ)言的新標(biāo)準(zhǔn),名叫ISO/IEC 9899:1999 - Programming languages -- C ,簡(jiǎn)稱C99標(biāo)準(zhǔn)。這是C語(yǔ)言的第二個(gè)官方標(biāo)準(zhǔn)。C99標(biāo)準(zhǔn)較C89標(biāo)準(zhǔn)增加了一些新的特效,如Bool類型、long long、long double等等。如果大家想了解標(biāo)準(zhǔn)新增的詳細(xì)內(nèi)容,可以在網(wǎng)上查找相關(guān)的文章。

·C11標(biāo)準(zhǔn):2011年12月8日,國(guó)際標(biāo)準(zhǔn)化組織(ISO)和國(guó)際電工委員會(huì)(IEC)再次發(fā)布了C語(yǔ)言的新標(biāo)準(zhǔn),名叫ISO/IEC 9899:2011 - Information technology -- Programming languages -- C ,簡(jiǎn)稱C11標(biāo)準(zhǔn),原名C1X。這是C語(yǔ)言的第三個(gè)官方標(biāo)準(zhǔn),也是C語(yǔ)言的zui新標(biāo)準(zhǔn)。

這些只是一些C語(yǔ)言的標(biāo)準(zhǔn),不理解也沒關(guān)系,也不會(huì)影響我們程序的編寫。

2.我們?yōu)槭裁匆獙W(xué)習(xí)C語(yǔ)言

C語(yǔ)言作為一種高級(jí)語(yǔ)言,現(xiàn)在好多公司編程都使用C語(yǔ)言,尤其是嵌入式這個(gè)領(lǐng)域。大家可以從網(wǎng)上看看世界編程語(yǔ)言排行榜,C語(yǔ)言基本一直都沒下過前三名。

從學(xué)習(xí)的角度來(lái)說(shuō),學(xué)習(xí)C語(yǔ)言是很必要的,C語(yǔ)言有如下優(yōu)勢(shì):

① C語(yǔ)言比較靈活,可以直接使用指針。

② C語(yǔ)言是跨平臺(tái)的語(yǔ)言,幾乎同樣的代碼可以運(yùn)行在不同的平臺(tái),如Windows、Linux、Unix等等。

③ C語(yǔ)言的執(zhí)行較其他的高級(jí)語(yǔ)言速度快,而且開銷小。

⑤ 學(xué)好C語(yǔ)言,有助于我們鍛煉編程的思維,加強(qiáng)我們的邏輯能力。

小編是做嵌入式開發(fā)的,在嵌入式開發(fā)中差不多有90%的軟件代碼使用C語(yǔ)言編寫的,當(dāng)然也有一部分代碼使用C++和匯編編寫的。匯編也一般是使用芯片廠家寫好的Boot程序,頂多是對(duì)寫好的Boot做部分的修改。

c 語(yǔ)言有必要學(xué)么

1、首先是雞湯,也就是為什么要學(xué)C語(yǔ)言。你可以先問自己,為什么我要學(xué)C語(yǔ)言?是為了應(yīng)付考試,還是為了應(yīng)聘,還是為了提高自己的編程能力。我想說(shuō)的是,如果你打算以后長(zhǎng)期從事計(jì)算機(jī)方面的工作,你就必須會(huì)一門編程語(yǔ)言,讓C來(lái)做你的啟蒙伴侶再好不過了。為什么?

通用。

語(yǔ)法簡(jiǎn)單,C語(yǔ)言學(xué)起來(lái)真的很簡(jiǎn)單,關(guān)鍵字就那么幾個(gè)。

貼近硬件,讓學(xué)會(huì)編程的同時(shí),對(duì)計(jì)算機(jī)的有初步了解。

C語(yǔ)言無(wú)處不在。電飯鍋,路由器,操作系統(tǒng) and so on 。

對(duì)以后學(xué)其他語(yǔ)言都是有很大幫助的,具體你會(huì)知道什么是堆,什么是棧,內(nèi)存的分配與釋放。。。。。。這些都是所有語(yǔ)言都會(huì)涉及到的。

2、學(xué)習(xí)方法。多寫代碼,多寫代碼,多寫代碼,重要的事說(shuō)三遍!有一種感覺加“碼感”。還有一件重要的是:多思考,多總結(jié),多看別人的文章。推薦你去【CSDN】,或者【博-客-園】開通博客,記錄自己的學(xué)習(xí)點(diǎn)點(diǎn)滴滴。

遇到很頭疼的知識(shí)點(diǎn)怎么辦,先跳過去,過一段時(shí)間再回頭來(lái)看。

實(shí)在解決不了就去Google,百度。你的問題很特別,搜不出來(lái),就去論壇提問吧。

提問的藝術(shù):不要問一些百度就能出來(lái)的語(yǔ)法問題。

具體學(xué)習(xí)方法:

第一階段《C Primer Plus》藍(lán)皮+郝斌的C語(yǔ)言視頻

我沒推薦經(jīng)典的《The C Programming Language》,因?yàn)槲遗e得《C Primer Plus》比較??亂壞悖?比徽飫锏??率嵌醞耆?躚д哂瀉艽蟀鎦?摹?茨闋約旱幕?“傘:鹵蟮氖悠狄彩嗆苤匾?模?躚д咄??枰?桓觥捌啊保?徊揭徊降惱兆嘔??詈蟛嘔嶁闖鱟約旱拇?搿?/p>

第二階段

《C與指針》學(xué)完C,不熟練指針,就是白學(xué)。

《C語(yǔ)言深度剖析》來(lái)自陳正沖前輩,這是一本關(guān)于C語(yǔ)言的“野史”,很有味道,強(qiáng)烈推薦。

《C缺陷與陷阱》多看別人掉坑史,前車之鑒后事之師。

第三階段數(shù)據(jù)結(jié)構(gòu)結(jié)構(gòu)學(xué)習(xí)。

c語(yǔ)言是什么樣的語(yǔ)言

我在網(wǎng)上看到一些,也許對(duì)你有幫助:

1)相比較其他的編程語(yǔ)言(像c++,java),c語(yǔ)言是個(gè)低級(jí)語(yǔ)言。從總體上來(lái)說(shuō),低級(jí)的編程語(yǔ)言可以讓你更好的了解計(jì)算機(jī)。

2)設(shè)備驅(qū)動(dòng)程序和操作系統(tǒng)只能用c語(yǔ)言來(lái)編寫?,F(xiàn)在,你可能還從來(lái)沒有編寫過一個(gè)設(shè)備驅(qū)動(dòng)程序或者一個(gè)操作系統(tǒng),但是如果你需要去修改他們的時(shí)候,怎么辦?

3)如果你想要得到一份編寫微控制器程序的工作的時(shí)候,該怎么辦?他們都是用c語(yǔ)言編寫的。就因?yàn)椴幌雽W(xué)習(xí)一門新的語(yǔ)言,你就準(zhǔn)備限制你能得到工作的機(jī)會(huì)嗎?

4)c的程序比其他用別的語(yǔ)言寫的程序,實(shí)現(xiàn)相同的功能,它用的代碼行數(shù)更少,而它帶來(lái)的運(yùn)行效率卻更快。有時(shí)候,你的程序所需要的速度,只有c語(yǔ)言能做到。

5)如果你學(xué)習(xí)過c語(yǔ)言,你就能學(xué)習(xí)現(xiàn)在任何的高級(jí)編程語(yǔ)言。因?yàn)樗械母呒?jí)語(yǔ)言都是以c語(yǔ)言為基礎(chǔ)的(像java,c++,c#等等)。

6)因?yàn)閏語(yǔ)言已經(jīng)存在很多年了,它有廣泛的使用團(tuán)體并且有大量的現(xiàn)成代碼可以利用。這就使你能在過去程序的基礎(chǔ)上,快速和高效的編寫新的算法和函數(shù)。

7)c語(yǔ)言是一個(gè)開源組織的語(yǔ)言。一個(gè)開源組織的產(chǎn)物--linux,就是用c語(yǔ)言寫的。如果你會(huì)c語(yǔ)言,你就能參加這個(gè)組織并且還能向眾多的開源組織投稿,比如參加source

forge并且給他們投稿。

8)c語(yǔ)言是唯一一個(gè)向你闡述指針的本質(zhì)的語(yǔ)言。而c#和java干脆跳過了指針這個(gè)題目??墒侵羔槾_實(shí)使c語(yǔ)言變得更加強(qiáng)大。

9)找編程開發(fā)方面的工作時(shí),c語(yǔ)言仍然是最普遍需要的語(yǔ)言。所以它值得你花時(shí)間去學(xué)會(huì)它。

10)

任何里面有微處理器的設(shè)備都支持c語(yǔ)言。從微波爐到手機(jī),都是由c語(yǔ)言技術(shù)來(lái)推動(dòng)的。

學(xué)c語(yǔ)言為什么感覺很困難

(1)應(yīng)用軟件。Linux操作系統(tǒng)中的應(yīng)用軟件都是使用C語(yǔ)言編寫的,因此這樣的應(yīng)用軟件安全性非常高。

(2)對(duì)性能要求嚴(yán)格的領(lǐng)域。一般對(duì)性能有嚴(yán)格要求的地方都是用C語(yǔ)言編寫的,比如網(wǎng)絡(luò)程序的底層和網(wǎng)絡(luò)服務(wù)器端底層、地圖查詢等。

(3)系統(tǒng)軟件和圖形處理。C語(yǔ)言具有很強(qiáng)的繪圖能力和可移植性,并且具備很強(qiáng)的數(shù)據(jù)處理能力,可以用來(lái)編寫系統(tǒng)軟件、制作動(dòng)畫、繪制二維圖形和三維圖形等。

(4)數(shù)字計(jì)算。相對(duì)于其他編程語(yǔ)言,C語(yǔ)言是數(shù)字計(jì)算能力超強(qiáng)的高級(jí)語(yǔ)言。

(5)嵌入式設(shè)備開發(fā)。手機(jī)、PDA等時(shí)尚消費(fèi)類電子產(chǎn)品相信大家都不陌生,其內(nèi)部的應(yīng)用軟件、游戲等很多都是采用C語(yǔ)言進(jìn)行嵌入式開發(fā)的。

(6)游戲軟件開發(fā)。游戲大家更不陌生,很多人就是由玩游戲而熟悉了計(jì)算機(jī)。利用C語(yǔ)言可以開發(fā)很多游戲,比如推箱子、貪吃蛇等。

上面僅列出了幾個(gè)主要的C語(yǔ)言應(yīng)用領(lǐng)域,實(shí)際上,C語(yǔ)言幾乎可以應(yīng)用到程序開發(fā)的任何領(lǐng)域。

掃描二維碼推送至手機(jī)訪問。

版權(quán)聲明:本文由尚恩教育網(wǎng)發(fā)布,如需轉(zhuǎn)載請(qǐng)注明出處。

本文鏈接:http://www.lmix.com.cn/view/20584.html

標(biāo)簽: 編程

“為什么要學(xué)c語(yǔ)言 孫志剛 學(xué)c語(yǔ)言為什么感覺很困難” 的相關(guān)文章

為什么學(xué)習(xí)c語(yǔ)言 孫志剛 如何正確學(xué)習(xí)c語(yǔ)言

我們?yōu)槭裁匆獙W(xué)C語(yǔ)言?為什么學(xué)習(xí)C語(yǔ)言?為什么要學(xué)習(xí)C語(yǔ)言?為什么要學(xué)習(xí)C語(yǔ)言?為何編程就從學(xué)習(xí)C語(yǔ)言開始?本文導(dǎo)航為什么編程先學(xué)c語(yǔ)言學(xué)習(xí)c語(yǔ)言有什么用啊如何正確學(xué)習(xí)c語(yǔ)言需不需要先學(xué)c語(yǔ)言c語(yǔ)言編程怎么學(xué)最好為什么編程先學(xué)c語(yǔ)言C語(yǔ)言,似乎是一門很久遠(yuǎn)的語(yǔ)言了。但是身為程序員的我們,都對(duì)C語(yǔ)言有...

嚴(yán)蔚敏數(shù)據(jù)結(jié)構(gòu)怎么學(xué) 嚴(yán)蔚敏的數(shù)據(jù)結(jié)構(gòu)C語(yǔ)言版怎么學(xué)

嚴(yán)蔚敏數(shù)據(jù)結(jié)構(gòu)怎么學(xué)習(xí)?數(shù)據(jù)結(jié)構(gòu)怎么自學(xué)?完全看不懂?嚴(yán)蔚敏的數(shù)據(jù)結(jié)構(gòu)怎么學(xué)習(xí)?嚴(yán)蔚敏的數(shù)據(jù)結(jié)構(gòu)C語(yǔ)言版怎么學(xué)?學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)(嚴(yán)蔚敏版)都要具備哪些方面的知識(shí),如何學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)?本文導(dǎo)航嚴(yán)蔚敏數(shù)據(jù)結(jié)構(gòu)怎么學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)怎么自學(xué)?完全看不懂嚴(yán)蔚敏的數(shù)據(jù)結(jié)構(gòu)怎么學(xué)習(xí)?嚴(yán)蔚敏的數(shù)據(jù)結(jié)構(gòu)C語(yǔ)言版怎么學(xué)學(xué)習(xí)數(shù)據(jù)...

計(jì)算機(jī)專業(yè)要學(xué)什么 計(jì)算機(jī)專業(yè)到底是學(xué)什么的

計(jì)算機(jī)專業(yè)要學(xué)什么 計(jì)算機(jī)專業(yè)到底是學(xué)什么的

計(jì)算機(jī)專業(yè)主要學(xué)什么課程?計(jì)算機(jī)專業(yè)主要學(xué)什么課程?計(jì)算機(jī)專業(yè)主要學(xué)些什么?計(jì)算機(jī)專業(yè)主要學(xué)什么?計(jì)算機(jī)專業(yè)主要學(xué)什么?計(jì)算機(jī)專業(yè)主要學(xué)什么內(nèi)容?本文導(dǎo)航計(jì)算機(jī)專業(yè)主干課程有哪些計(jì)算機(jī)專業(yè)具體學(xué)啥計(jì)算機(jī)專業(yè)主要學(xué)些什么?計(jì)算機(jī)專業(yè)具體是怎么學(xué)的計(jì)算機(jī)專業(yè)到底是學(xué)什么的學(xué)計(jì)算機(jī)專業(yè)主要學(xué)什么課程計(jì)算機(jī)...

杭電的計(jì)算機(jī)怎么樣 杭州科技大學(xué)計(jì)算機(jī)專業(yè)排名

杭州電子科技大學(xué)計(jì)算機(jī)類專業(yè)怎么樣?在全國(guó)排名如何?新人求助:杭電的計(jì)算機(jī)怎么樣?杭州電子科技大學(xué)信息工程學(xué)院的計(jì)算機(jī)專業(yè)怎么樣 求指導(dǎo)?本文導(dǎo)航杭州電子科技大學(xué)最好專業(yè)是哪些新人求助:杭電的計(jì)算機(jī)怎么樣?杭州科技大學(xué)計(jì)算機(jī)專業(yè)排名杭州電子科技大學(xué)最好專業(yè)是哪些杭電計(jì)算機(jī)比浙工大要高10分新人求助:...

杭電軟件工程什么水平 杭州電子科技大學(xué)專業(yè)就業(yè)前景

在杭州電子科技大學(xué)讀軟件工程專業(yè),以后就業(yè)前景如何?薪水待遇如何?發(fā)展空間大不大?杭州電子科技大學(xué)軟件工程專業(yè)怎么樣?杭州電子科技大學(xué)的軟件工程怎么樣?杭電的軟件工程專業(yè)怎么樣?學(xué)長(zhǎng)學(xué)姐,請(qǐng)問杭州電子科技大學(xué)的軟件工程排名怎么樣?浙江工業(yè)大學(xué)和杭州電子科技大學(xué)的軟件工程專業(yè)哪個(gè)好些。本文導(dǎo)航浙江大學(xué)...

軟件工程大方向怎么學(xué) 作為一名普通大學(xué)大二的軟件工程專業(yè)學(xué)生,現(xiàn)在很迷茫,該學(xué)哪些技術(shù),怎么學(xué),如何學(xué)好,以后的方向,.

不知道怎么把握學(xué)軟件工程的方向?軟件工程的學(xué)生該怎么學(xué),學(xué)什么,考什么證書?我大三了?作為一名普通大學(xué)大二的軟件工程專業(yè)學(xué)生,現(xiàn)在很迷茫,該學(xué)哪些技術(shù),怎么學(xué),如何學(xué)好,以后的方向,?軟件工程專業(yè)方向問題,希望大家給點(diǎn)建議??!。本文導(dǎo)航不知道怎么把握學(xué)軟件工程的方向軟件工程專業(yè)要考的證作為一名普通大...

發(fā)表評(píng)論

訪客

◎歡迎參與討論,請(qǐng)?jiān)谶@里發(fā)表您的看法和觀點(diǎn)。