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

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

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

本文導(dǎo)航

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

1.簡約

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

2,原理

操作系統(tǒng)是一個程序員應(yīng)該學(xué)好的一門課,但是我們在學(xué)習(xí)的那些操作系統(tǒng)概念很難深入理解,或者比較抽象,比如餓死哲學(xué)家之類的,僅僅知道概念,是不能解決實(shí)際問題的,比如,你可能學(xué)過一些進(jìn)程的概念,或者內(nèi)存分段之類的,那我問你,windows進(jìn)程問什么沒有僵死?在windows中如何修改一個進(jìn)程中的數(shù)據(jù)?Linux的fork和Windows的createProcess有什么不同?linux有線程嗎?你寫一個我看!你的理論不管用了,因?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)知識與fork(),exe(),wait()等系統(tǒng)調(diào)用很好的結(jié)合.

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

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

用C語言來學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)和算法在合適不過了,用指針去寫吧,用Java和c#下的學(xué)習(xí)更像是會用。你可能會說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語言,作為一個學(xué)生,我覺得說什么C語言開發(fā)更高效,就是個笑話,因?yàn)?,談到開發(fā),又開始談金錢,時(shí)間,一大堆的東西,你會問,為什么不是java或python?開發(fā)是開發(fā)的事,你學(xué)的扎實(shí)還不會開發(fā)?我只是說c語言的路線更適合學(xué)習(xí),你又會問錢都掙不上學(xué)什么?我記得有一次一個來做java培訓(xùn)的人說,“我們培訓(xùn)java,你們把自己做成一個商品,推銷出去?!薄N矣X得很可笑,我們要做的不是商品,最起碼是一支股票。所以害怕學(xué)的東西找不到工作的人,用一切時(shí)間來猶豫徘徊。

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

C語言是一種廣泛應(yīng)用的計(jì)算機(jī)語言,相信觀看我們教程的各位,沒有不知道什么是C語言的;對于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):我們所看到的大部分的教科書中,用到的也是這個標(biāo)準(zhǔn),而且,我們的教程中也是按照這個標(biāo)準(zhǔn)講的。1990年,國際標(biāo)準(zhǔn)化組織(ISO)和國際電工委員會(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ā)布的,所以有些人把簡稱作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)和國際電工委員會(IEC)發(fā)布了C語言的新標(biāo)準(zhǔn),名叫ISO/IEC 9899:1999 - Programming languages -- C ,簡稱C99標(biāo)準(zhǔn)。這是C語言的第二個官方標(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)和國際電工委員會(IEC)再次發(fā)布了C語言的新標(biāo)準(zhǔn),名叫ISO/IEC 9899:2011 - Information technology -- Programming languages -- C ,簡稱C11標(biāo)準(zhǔn),原名C1X。這是C語言的第三個官方標(biāo)準(zhǔn),也是C語言的zui新標(biāo)準(zhǔn)。

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

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

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

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

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

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

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

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

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

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

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

通用。

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

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

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

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

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

遇到很頭疼的知識點(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)上看到一些,也許對你有幫助:

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

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

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

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

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

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

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

forge并且給他們投稿。

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

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

10)

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

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

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

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

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

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

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

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

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

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

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

本文鏈接:http://52reasonswhy.com/view/20584.html

標(biāo)簽: 編程

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

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

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

選課系統(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)問題不知道你是基于什么...

本科經(jīng)濟(jì)類學(xué)生怎么學(xué)編程 學(xué)習(xí)經(jīng)濟(jì)學(xué)需要熟悉哪些編程語言

怎樣學(xué)編程?學(xué)習(xí)經(jīng)濟(jì)學(xué)需要熟悉哪些編程語言,經(jīng)濟(jì)學(xué)專業(yè)要學(xué)編程嗎?本文導(dǎo)航怎樣學(xué)編程?學(xué)習(xí)經(jīng)濟(jì)學(xué)需要熟悉哪些編程語言經(jīng)濟(jì)學(xué)專業(yè)要學(xué)編程嗎怎樣學(xué)編程?怎樣學(xué)編程 1.明確學(xué)習(xí)目的 學(xué)習(xí)編程對大多數(shù)IT業(yè)人員來說都是非常有用的。學(xué)編程,做一名編程人員,從個人角度講,可以解決在軟件使用中所遇到的問題,改進(jìn)...

杭電的計(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分新人求助:...

0907是什么學(xué)科的代碼 林學(xué)考研300分有希望嗎

請問華中農(nóng)業(yè)大學(xué)的園林植物與觀賞園藝碩士點(diǎn)的培養(yǎng)方案是什么?公務(wù)員考試學(xué)科分類目錄,考研國家線中怎么沒有林學(xué)分?jǐn)?shù)線?植物保護(hù)專業(yè)和林學(xué)一樣嗎?考研 屬于什么學(xué)科?林學(xué)0907的代碼包括專碩嗎?本文導(dǎo)航華中農(nóng)業(yè)大學(xué)風(fēng)景園林考研招生公務(wù)員報(bào)考類別與專業(yè)對照表林學(xué)專業(yè)研究生報(bào)考條件植物保護(hù)和園藝哪個專業(yè)好...

發(fā)表評論

訪客

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