丹尼斯c語言pdf,c語言程序設計丹尼斯電子版

本文目錄一覽:

C語言是誰發明的?

C語言是「C語言之父」Dennis MacAlistair Ritchie(中文名:丹尼斯·里奇)創造出來的。

C語言是D.M.Ritchie在B語言的基礎上創造出來的。C語言的出現經歷了以下歷程:

在1970年,美國貝爾實驗室的 Ken Thompson,以BCPL語言為基礎,設計出很簡單且很接近硬體的B語言(取BCPL的首字母)。並且他用B語言寫了第一個UNIX操作系統。

1972年,美國貝爾實驗室的 D.M.Ritchie 在B語言的基礎上最終設計出了一種新的語言,他取了BCPL的第二個字母作為這種語言的名字,這就是C語言。

1973年初,C語言的主體完成。Thompson和Ritchie迫不及待地開始用它完全重寫了UNIX。直到今天,各種版本的UNIX內核和周邊工具仍然使用C語言作為最主要的開發語言,其中還有不少繼承Thompson和Ritchie之手的代碼。

擴展資料:

丹尼斯·里奇發明出C語言之後,產生了十分強大的社會影響,具體如下:

C語言是使用最廣泛的語言之一。C語言的誕生是現代程序語言革命的起點,是程序設計語言發展史中的一個里程碑。

自C語言出現後,以C語言為根基的C++、Java和C#等面向對象語言相繼誕生,並在各自領域大獲成功。但C語言依舊在系統編程、嵌入式編程等領域佔據著統治地位。

C語言,這種最有效、最通用的編程語言,就是丹尼斯·里奇開發的,而這還是他在做另一個項目時的副產品。丹尼斯·里奇還和肯·湯普遜一起開發了Unix操作系統,因此,他還是名副其實的Unix之父。

參考資料來源:百度百科-丹尼斯·里奇

c語言入門書籍

1) 《C語言小白變怪獸》

既適合對計算機一竅不通的小白,也適合有編程基礎的讀者,還可以用來進階。

《C語言小白變怪獸》是一套網路教程,發布在C語言中文網,由站長親自編寫,這套教程最大的特點是通俗易懂,深入淺出,既適合小白入門,也適合後期進階。本人就是讀了這套教程以後才對C語言有了天翻地覆的認識,覺得以前學得都是垃圾。。。

這本書至今還在不斷更新,我認為這是C語言入門的首選教材,吐血推薦,經典中的經典!!!

2) 《啊哈C語言》

適合對計算機一竅不通的純小白,有編程基礎的讀者請忽略。

這本書語言幽默,生動形象,通俗易懂,給人耳目一新的感覺,但是這本書非常淺顯,並不深入,所以適合純小白入門,找到門以後也就扔了。

這本書著重於語言藝術,針對純小白下足了功夫,小學生坐在馬桶上都能學會編程。說實話,我非常欣賞作者的創意和用心,國內像這樣寫書的少之又少,入門的書就應該是這個樣子。

3) 《明解C語言》

適合對計算機一竅不通的純小白,有編程基礎的讀者請忽略。

日本人的作品,最大的特點是插圖很多,生動有趣,讓人一目了然。

其實真正的《明解C語言》一共有三部,分別是《明解C語言·入門篇》《明解C語言·中級篇》《明解C語言·實踐篇》,遺憾的是圖靈公司目前只翻譯了入門篇和中級篇,還沒有翻譯實踐篇。中級篇網上還沒有 PDF 下載資源

4) 《C Primer Plus》

適合有編程基礎的讀者,對計算機一竅不通的純小白請忽略。

暢銷 30 余年的C語言入門經典書籍,至今無人能撼動它的地位,它是最符合C語言標準的書籍,作為一名C語言程序員,不收藏一本都覺得自己很水。

但是對於沒有計算機基礎的小白,這本書就有點蛋疼了,信息量大,涉及的知識面廣,書也比較厚,得有耐心才行。

如果你是純小白,還是推薦閱讀《C語言小白變怪獸》《啊哈C語言》《明解C語言》這幾本書,等有了一點C語言基礎,知道C語言大概講了什麼東西了,再來讀《C Primer Plus》收穫就非大了,你會感受到滿滿的乾貨。

5) 《C程序設計語言,The C Programming Language》

C語言創始人丹尼斯·里奇(Dennis MacAlistair Ritchie)的著作,和《C Primer Plus》並駕齊驅,很難分出伯仲,這兩本書都是一樣的優秀,都是C語言程序員必須收藏的。

但是,《C程序設計語言》也不太適合純小白,還是推薦閱讀《C語言小白變怪獸》《啊哈C語言》《明解C語言》這幾本書,等有基礎了再回來看。

《C程序設計語言》和《C Primer Plus》的難度差不多,信息量也差不多,有很多人糾結讀哪一本,我的建議是任選其一即可,或者,看了一本以後,另外一本大概瀏覽一下。

C語言之父——丹尼斯·里奇

人們對里奇的紀念,遠不及對喬布斯鋪天蓋地的悼念。可是,里奇值得人們那樣去做。

還是有人出來說了句公道話。

「史蒂夫·喬布斯去世引發了巨大的反響,這當然合情合理。即便影響實際上更為廣泛,丹尼斯卻不為公眾所知」,羅伯·派克說。羅伯是一名在Google工作的程序員,作為業界的傳奇性人物,曾經與里奇在著名的貝爾實驗室共事20年。

周三晚間,派克在Google+上發表消息稱,在與病魔進行長久的抗爭後,里奇於上周末在新澤西的家中溘然長逝。雖然在技術圈內引起大量反響,但在主流媒體上,里奇卻沒有得到同巨大影響相稱的悼念。丹尼斯·里奇作為C語言之父,和貝爾實驗室資深研究員肯·湯姆森一起使用C語言開發了Unix,當今世界大量依賴的操作系統,其中包括史蒂夫·喬布斯治下的蘋果帝國。

「現下互聯網基本都在用這兩樣東西:C語言和UNIX」,派克對《連線》雜誌稱,「瀏覽器是用C語言寫的。UNIX的內核——基本上是網際網路運作的基礎——也是用C寫的。Web伺服器也是用C語言寫的,如果不是的話,那就是用Java或者C++寫的,兩者都是C語言的派生;要不就是Python或者Ruby,用C語言實現的。然後我幾乎敢保證,運行這些程序的網路硬體,是用C語言開發的軟體驅動的。」

「幾乎很難誇大丹尼斯在信息經濟基礎設施方面無所不在的影響力。」

他補充說,Windows曾經也是用C語言編寫,而UNIX同時也支撐了蘋果桌面操作系統Mac OS X,以及iPhone與iPad的操作系統iOS。「如果說喬布斯是台前之王,那裡奇就是幕後之王。」MIT電氣工程與計算機系教授Martin Rinard如此評價道。Rinard也是計算機科學與人工智慧實驗室的成員。

「喬布斯的過人之處在於其品位獨特,打造人們為之著迷並引人注目的產品。而里奇卻擅長於開發一些技術人員使用的基礎設施,天天被人們使用卻不為人知。」

從B語言到C語言

為了更好開發UNIX,丹尼斯·里奇而發明了C語言。最初的UNIX內核使用彙編語言編寫,之後他們很快決定要用一種高級語言,讓他們更好的駕馭操作系統中的複雜數據。1970年左右,他們嘗試使用Fortran,不過沒有達到預期目標。接著,在湯姆森創立的B語言基礎上,里奇提出了一門新語言

不管你是從哪裡聽來的消息,B語言得名於湯姆森的妻子Bonnie,抑或是BCPL,一門劍橋於60年代中期開發的語言。

B語言是一種解釋性語言——意味著它由一個運行於CPU之上的中間件解釋執行——而C卻是一門編譯語言。它被翻譯成機器代碼,在CPU上直接執行。即便如此,C當時被認為是一門高級語言。C語言提供了里奇和湯姆森想要的靈活性,卻也很快。

關於里奇一直流傳的一個笑話是:C語言同時擁有了「彙編語言的強大能力以及…彙編語言的便利性」。換句話說,他承認C語言並不完美,並且十分接近硬體層次。如今C語言被認為是一門低級語言而不是高級語言。不過這個笑話並不公平。C語言提供了真正的數據結構概念,從這個角度來說已經足夠高級了。

「當你在編寫一個大型程序——比如UNIX——你必須管理好各種各樣模塊之間的交互:所有用戶、文件系統、磁碟、程序執行等等。而有效的管理則需要良好的數據表示,這就是所謂的數據結構」,派克說。

「在沒有數據結構組織的情況下,編寫一個與UNIX一樣一致和優雅的內核基本上是不可能的。需要一個機制組織好數據,而Fortran卻不擅長於此。」

在那個時候,寫一個操作系統並不多見,這也給了里奇和湯姆森機會,在70年代末把操作系統移植到其它平台。「從此UNIX洪水之門被打開」,派克說,「這全都多虧有了C語言。」

蘋果、微軟及其他

與此同時,C語言也開始傳播到全世界,從貝爾實驗室到全世界的大學,也到了微軟,一個在80年代異軍突起的軟體公司。「C語言的開發是一個重大的飛躍,是個很好的折衷…C語言達到了完美的平衡,讓你在較高層次高效率開發的同時,卻不失去對每處細節的控制」,NVIDIA和貝爾的首席科學家兼斯坦福大學工程系教授Bill Dally說。「它為之後數十年來軟體開發定下了基調。」

正如派克指出的那樣,C語言內置的數據結構後來發展出面向對象範式,被現代編程語言如C++和Java大量採用。

1973年,里奇發表了關於這門語言的論文,被認為是革命開始的標誌。5年後,他和同事布萊恩·克尼漢(Brian Kernighan)發布了C語言的權威著作:《C程序設計語言》。該書最早是克尼漢為C語言編寫的教程,後來他拉著丹尼斯一起把書寫完。

當派克還在多倫多大學讀本科的時候,在一個因病返家的下午里讀到了這本書。「那本參考手冊相對於其他的手冊而言,簡直就是清晰和可讀的典範。毋庸置疑是一部經典之作。」,他說,「我生病躺床上翻一翻,沒想到竟讓我忘記了病痛。」

和許多大學生一樣,Pike那時已經開始使用C語言了。由於貝爾實驗室開始分發UNIX源代碼,它逐漸風靡大學校園。此外,UNIX還催生了現代開源運動。這並不是什麼言過其實,里奇的影響之大怎麼說都不為過。即便里奇在1983年獲得的圖靈獎和1998年獲得的國家技術勳章也不能完全彰顯他的貢獻。

在克尼漢和派克眼中,里奇是一個少有的孤僻的人。「我和他一同工作了超過20個年頭,但還是覺得不是很了解他這個人」,派克說。但這並不是他低調的理由。史蒂夫·喬布斯也是一個孤僻的人,只不過保持低調只使得人們對他的崇拜有增無減。

里奇所處的時代和工作環境與喬布斯千差萬別,這也許是他未得到應得紀念的原因。但是,他留下的遺產總有大佬能夠明白。「眾所周知牛頓說過他是站在巨人的肩膀上」,克尼漢說,「我們都站在丹尼斯的肩膀上。」

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/188644.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-28 13:32
下一篇 2024-11-28 13:32

相關推薦

  • AES加密解密演算法的C語言實現

    AES(Advanced Encryption Standard)是一種對稱加密演算法,可用於對數據進行加密和解密。在本篇文章中,我們將介紹C語言中如何實現AES演算法,並對實現過程進…

    編程 2025-04-29
  • 學習Python對學習C語言有幫助嗎?

    Python和C語言是兩種非常受歡迎的編程語言,在程序開發中都扮演著非常重要的角色。那麼,學習Python對學習C語言有幫助嗎?答案是肯定的。在本文中,我們將從多個角度探討Pyth…

    編程 2025-04-29
  • Python被稱為膠水語言

    Python作為一種跨平台的解釋性高級語言,最大的特點是被稱為”膠水語言”。 一、簡單易學 Python的語法簡單易學,更加人性化,這使得它成為了初學者的入…

    編程 2025-04-29
  • OpenJudge答案1.6的C語言實現

    本文將從多個方面詳細闡述OpenJudge答案1.6在C語言中的實現方法,幫助初學者更好地學習和理解。 一、需求概述 OpenJudge答案1.6的要求是,輸入兩個整數a和b,輸出…

    編程 2025-04-29
  • Python按位運算符和C語言

    本文將從多個方面詳細闡述Python按位運算符和C語言的相關內容,並給出相應的代碼示例。 一、概述 Python是一種動態的、面向對象的編程語言,其按位運算符是用於按位操作的運算符…

    編程 2025-04-29
  • 學堂雲Python語言程序設計答案

    學堂雲Python語言程序設計是一門重要的計算機專業課程。它涵蓋了Python語言及其應用,包括基礎語法、函數、文件處理、數據結構、圖形界面和網路編程等內容。在學習中,我們經常會需…

    編程 2025-04-29
  • Python語言由荷蘭人為中心的全能編程開發工程師

    Python語言是一種高級語言,很多編程開發工程師都喜歡使用Python語言進行開發。Python語言的創始人是荷蘭人Guido van Rossum,他在1989年聖誕節期間開始…

    編程 2025-04-28
  • Python語言設計基礎第2版PDF

    Python語言設計基礎第2版PDF是一本介紹Python編程語言的經典教材。本篇文章將從多個方面對該教材進行詳細的闡述和介紹。 一、基礎知識 本教材中介紹了Python編程語言的…

    編程 2025-04-28
  • Python語言實現人名最多數統計

    本文將從幾個方面詳細介紹Python語言實現人名最多數統計的方法和應用。 一、Python實現人名最多數統計的基礎 1、首先,我們需要了解Python語言的一些基礎知識,如列表、字…

    編程 2025-04-28
  • Python作為中心語言,在編程中取代C語言的優勢和挑戰

    Python一直以其簡單易懂的語法和高效的編碼環境而著名。然而,它最近的發展趨勢表明Python的使用範圍已經從腳本語言擴展到了從Web應用到機器學習等廣泛的開發領域。與此同時,C…

    編程 2025-04-28

發表回復

登錄後才能評論