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

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

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

本文導(dǎo)航

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

1.簡(jiǎn)約

雖說用好c語言很難,但是對(duì)于c語言的入門是很容易的,用一句話來形容c語言,我覺得是易于上手,難于精通,C語言在語法上的使用很簡(jiǎn)單,因?yàn)樗皇呛芨呒?jí),也不是很龐大,在第二版(K&R)中,它的參考手冊(cè)僅僅用了49頁就描述了整個(gè)C語言,沒有迭代器,沒有裝箱....C語言的這種“低級(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語言進(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語言的時(shí)候,你不得不接觸一些系統(tǒng)結(jié)構(gòu)的知識(shí),比如字節(jié)對(duì)齊,比如c語言的地址空間,你就會(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語言來學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)和算法在合適不過了,用指針去寫吧,用Java和c#下的學(xué)習(xí)更像是會(huì)用。你可能會(huì)說C++更好,但是你的類(變量+函數(shù))本質(zhì)跟c語言中的結(jié)構(gòu)體+函數(shù),沒有區(qū)別,除非你用模板,多態(tài),重載,我才承認(rèn)你在用c++,但是你的重點(diǎn)篇了,我們不是在討論學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)與算法嗎?你現(xiàn)在是在學(xué)習(xí)語言特性了。

4,更好的過渡

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

c語言學(xué)習(xí)從哪里來

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

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

·ANSI C/ C89標(biāo)準(zhǔn):我們所看到的大部分的教科書中,用到的也是這個(gè)標(biāo)準(zhǔn),而且,我們的教程中也是按照這個(gè)標(biāo)準(zhǔn)講的。1990年,國際標(biāo)準(zhǔn)化組織(ISO)和國際電工委員會(huì)(IEC)把C89標(biāo)準(zhǔn)定為C語言的國際標(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月,國際標(biāo)準(zhǔn)化組織(ISO)和國際電工委員會(huì)(IEC)發(fā)布了C語言的新標(biāo)準(zhǔn),名叫ISO/IEC 9899:1999 - Programming languages -- C ,簡(jiǎn)稱C99標(biāo)準(zhǔn)。這是C語言的第二個(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日,國際標(biāo)準(zhǔn)化組織(ISO)和國際電工委員會(huì)(IEC)再次發(fā)布了C語言的新標(biāo)準(zhǔn),名叫ISO/IEC 9899:2011 - Information technology -- Programming languages -- C ,簡(jiǎn)稱C11標(biāo)準(zhǔn),原名C1X。這是C語言的第三個(gè)官方標(biāo)準(zhǔn),也是C語言的zui新標(biāo)準(zhǔn)。

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

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

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

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

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

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

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

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

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

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

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

通用。

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

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

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

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

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

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

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

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

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

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

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

第二階段

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

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

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

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

c語言是什么樣的語言

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

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

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

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

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

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

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

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

forge并且給他們投稿。

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

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

10)

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

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

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

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

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

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

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

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

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

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

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

本文鏈接:http://huotui.net.cn/view/20584.html

標(biāo)簽: 編程

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

計(jì)算機(jī)大數(shù)據(jù)要學(xué)什么 大數(shù)據(jù)與云計(jì)算具體學(xué)什么

計(jì)算機(jī)大數(shù)據(jù)要學(xué)什么 大數(shù)據(jù)與云計(jì)算具體學(xué)什么

大數(shù)據(jù)都需要學(xué)什么?大數(shù)據(jù)主要學(xué)什么?計(jì)算機(jī)大數(shù)據(jù)是學(xué)什么的?大數(shù)據(jù)專業(yè)需要學(xué)習(xí)什么樣的知識(shí)?大數(shù)據(jù)是學(xué)的什么呢?大數(shù)據(jù)專業(yè)主要學(xué)什么?本文導(dǎo)航大數(shù)據(jù)還能學(xué)嗎學(xué)大數(shù)據(jù)需要具備什么基礎(chǔ)大數(shù)據(jù)與云計(jì)算具體學(xué)什么大數(shù)據(jù)專業(yè)如何大數(shù)據(jù)是怎么來的大數(shù)據(jù)專業(yè)是干嘛的大數(shù)據(jù)還能學(xué)嗎首先我們要了解Java語言和Li...

選課系統(tǒng)怎么處理并發(fā) 網(wǎng)絡(luò)選課系統(tǒng)怎么樣解決同時(shí)登錄人數(shù)的限制?

選課系統(tǒng)怎么處理并發(fā) 網(wǎng)絡(luò)選課系統(tǒng)怎么樣解決同時(shí)登錄人數(shù)的限制?

選課系統(tǒng)問題,高校選課系統(tǒng),如何處理并發(fā)問題?網(wǎng)絡(luò)選課系統(tǒng)怎么樣解決同時(shí)登錄人數(shù)的限制?選課遇到系統(tǒng)崩潰怎么辦??如何解決高并發(fā)問題?本文導(dǎo)航選課系統(tǒng)問題高校選課系統(tǒng)如何處理并發(fā)問題!網(wǎng)絡(luò)選課系統(tǒng)怎么樣解決同時(shí)登錄人數(shù)的限制?選課遇到系統(tǒng)崩潰怎么辦??如何解決高并發(fā)問題選課系統(tǒng)問題不知道你是基于什么...

崔巍數(shù)據(jù)結(jié)構(gòu)怎么樣 數(shù)據(jù)庫原理是什么

崔巍數(shù)據(jù)結(jié)構(gòu)怎么樣 數(shù)據(jù)庫原理是什么

數(shù)據(jù)庫原理,崔巍的藝術(shù)經(jīng)歷,數(shù)據(jù)庫原理是什么?考研計(jì)算機(jī)視頻課程,新東方考研計(jì)算機(jī)統(tǒng)考基礎(chǔ)班視頻,考研急求新東方的計(jì)算機(jī)專業(yè)課視頻,多多益善,好心人幫幫忙!謝謝啦??!謝謝啦。本文導(dǎo)航數(shù)據(jù)庫原理崔巍的藝術(shù)經(jīng)歷數(shù)據(jù)庫原理是什么考研計(jì)算機(jī)視頻課程新東方考研計(jì)算機(jī)統(tǒng)考基礎(chǔ)班視頻計(jì)算機(jī)考研數(shù)學(xué)用什么輔導(dǎo)書數(shù)據(jù)...

你為什么選計(jì)算機(jī)專業(yè) 計(jì)算機(jī)專業(yè)如何學(xué)

你為什么選計(jì)算機(jī)專業(yè) 計(jì)算機(jī)專業(yè)如何學(xué)

為什么選擇計(jì)算機(jī)專業(yè)?為什么這么多人選擇計(jì)算機(jī)專業(yè)?我們?yōu)槭裁催x擇計(jì)算機(jī)專業(yè)?現(xiàn)在越來越多的人都想去學(xué)計(jì)算機(jī)專業(yè),這是為什么呢?很多人都喜歡考計(jì)算機(jī)專業(yè),這是為什么?很多人都喜歡考計(jì)算機(jī)專業(yè),你知道這是為什么嗎?本文導(dǎo)航為什么要學(xué)習(xí)計(jì)算機(jī)這個(gè)專業(yè)計(jì)算機(jī)專業(yè)應(yīng)該怎么學(xué)計(jì)算機(jī)專業(yè)如何學(xué)想學(xué)計(jì)算機(jī)專業(yè)有什...

數(shù)學(xué)什么是計(jì)算機(jī)專業(yè) 計(jì)算機(jī)專業(yè)哪個(gè)方面比較容易學(xué)

計(jì)算機(jī)專業(yè),學(xué)的什么?計(jì)算機(jī)專業(yè)學(xué)什么?什么是計(jì)算機(jī)專業(yè)?本文導(dǎo)航計(jì)算機(jī)專業(yè)課程學(xué)什么計(jì)算機(jī)專業(yè)哪個(gè)方面比較容易學(xué)大學(xué)里計(jì)算機(jī)專業(yè)學(xué)的是什么計(jì)算機(jī)專業(yè)課程學(xué)什么一、數(shù)學(xué) 數(shù)學(xué)是計(jì)算機(jī)專業(yè)的基礎(chǔ),學(xué)好數(shù)學(xué)是學(xué)好計(jì)算機(jī)專業(yè)的關(guān)鍵。高等數(shù)學(xué)課程主要學(xué)習(xí)微積分、空間解析幾何和微分方程,一般高校通用的教材是同...

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

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

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

訪客

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