當前位置:首頁 » 編程語言 » 里奇c語言

里奇c語言

發布時間: 2023-05-22 18:23:35

c語言是怎麼製造出來的是個機密嗎

C語言,是上世紀由美國貝爾實驗室的兩位大神,丹尼斯·里奇(Dennis MacAlistair Ritchie)和 肯尼斯·藍·湯普森(Kenneth Lane Thompson)開發的。起因是湯普森沒事做的時候,背著老闆找了台空閑的小型機pdp-7,編寫一個小游戲。(因為當時計算機屬於稀缺資源,不能象現在這樣隨意使用。但這台小型機沒有操作系統,由於他就著手給這台機器開發操作系統,也就是Unix操作系統的前身。後來里奇也加入了進來,為了方便寫操作系統,由於當時的語言(他們採用的是B語言)功能欠缺,不能滿足他們的需求,於是他們就開始對B語言進行改造。最終,修改出了C語言,流行至今。
從中可以看出,C語言並不是機密;當時C語言,Unix操作系統的源碼,都是美國各大高校可以拿到的,因為當時的環境是開源。
不過搞笑的是,這個事情的初衷是為了寫游戲,玩游戲,結果到了後來,游戲被忘記了;

② 丹尼斯·里奇(C語言之父)的英文介紹 要英文!要長的 不能太短!!!!好的補50分!!急用!!!!!

Dennis MacAlistair Ritchie (born September 9, 1941) is an American computer scientist notable for his influence on C and other programming languages, and on operating systems such as Multics and Unix. He received the Turing Award in 1983 and the National Medal of Technology in 1998. Ritchie was the head of Lucent Technologies System Software Research Department when he retired in 2007.

Born in Bronxville, New York, Ritchie graated from Harvard with degrees in physics and applied mathematics. In 1967, he began working at the Bell Labs' Computing Sciences Research Center.

Ritchie is best known as the creator of the C programming language and a key developer of the Unix operating system, and as co-author of the definitive book on C, The C Programming Language, commonly referred to as 'K/R' or K&R (in reference to the authors Kernighan and Ritchie).

Ritchie's invention of C and his role in the development of Unix alongside Ken Thompson, has placed him as an important pioneer of modern computing. The C language is still widely used today in application and operating system development and its influence is seen in most modern programming languages. Unix has also been influential, establishing concepts and principles that are now well-established precepts of computing. The popular Linux operating system and its tools are descendants of Ritchie's work and the Windows operating systems include Unix compatibility tools and C compilers for developers.

Ritchie has said that creating the C language 'looked like a good thing to do' and that anyone else in the same place at the same time would have done the same thing, though Bell Labs colleague Bjarne Stroustrup, developer of C++, said that "if Dennis had decided to spend that decade on esoteric math, Unix would have been stillborn."

Following the success of Unix, Ritchie continued research into operating systems and programming languages with contributions to the Plan 9 and Inferno operating systems and the Limbo programming language.

In 1983, Ritchie and Ken Thompson jointly received the Turing Award for their development of generic operating systems theory and specifically for the implementation of the UNIX operating system. Ritchie's Turing Award lecture was titled, "Reflections on Software Research."

On April 27, 1999, Thompson and Ritchie jointly received the 1998 National Medal of Technology from President Bill Clinton for co-inventing the UNIX operating system and the C programming language which together have led to enormous advances in computer hardware, software, and networking systems and stimulated growth of an entire instry, thereby enhancing American leadership in the Information Age

Dennis Ritchie is often referred to as "dmr" (his Bell Labs email address) in technical discussion groups.

③ 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個年頭,但還是覺得不是很了解他這個人」,派克說。但這並不是他低調的理由。史蒂夫·喬布斯也是一個孤僻的人,只不過保持低調只使得人們對他的崇拜有增無減。

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

④ C語言編程問題

C語言介紹
C語言基本是每個編程人員必學的一面語言,很好掌握,是理解編程的關鍵。很多編程語言基於其編寫或者基於此語言的衍生品編寫。
C語言是人機交互的一個基礎語言之一,雖然是之一,單一般其實就是唯一。

偶爾用匯編
其他非C的我沒見過,理論上是存在的。沒有C之前大家用的,有了C之後估計就少了。
有了計算機操作基礎,可以學習編程了,推薦從C語言開始學習,使用這本書進行學習《C程序設計語言》,此書是C語言的作者編寫就知道是多麼的權威了,同時此書有英文版本《C程序設計語言(英文版)》,建議都買了學習,畢竟作為計算機學生,英文不好是不行的,很多國外的先進的東西都是英文的。另外也有一遍習題解答,也同時買了。裡面的題目都做一遍,編程水平不會差。如果想繼續提高C語言的水平,可以看看其他相關圖書,比如《C指針》等一堆。

參考圖書:C語言的圖書比較多,一般國外的都是精品,國內的基本就算了。一本書很難學好,多讀些圖書吧。下面也只是冰山一角。還有很多就不一一列舉。基本當當四星以上的都可以買了看看。

參考視頻學習網站:
1 玩轉 C語言 基礎課堂
2 C語言/C++學習指南 (語法篇) 入門到精通(打算開發Windows看看,Linux的參考)。
3 C語言也能開發網站(高級課程,而且比較高級,長個見識看看)。
4 計算機專業的課程體系,裡面有個C語言程序設計。

參考資料:
1 http://www.cprogramming.com/里有個c-tutorial。
2 高質量C++/C編程指南 林銳 博士

學的更好點的,可以參考github上的C項目代碼看看。比較出名的推薦幾個:
1 https://github.com/antirez/redis
2 https://github.com/nginx/nginx
可以上網搜索GCC: The Complete Reference等內容查看學習。

上面的內容,如果都學好了,基本算入門,您可以自己學習了,師父領進門,修行靠個人了。

C語言的靈魂-指針

指針
一個變數存放一個變數的地址(A point is a variable that contains the address of a variable)
指針的指針
指針函數
函數指針

很難學,但是希望你學好!
很難學,但是希望你學好!
很難學,但是希望你學好!

如何檢驗學習效果?
神一樣的指針:
int *p;
一個指向整型數據的指針。

int **p;
一個指針的指針,它指向的指針指向一個整型數據。**p 是 int 類型,所以 *p 是int *類型,即*p是一個指向int的指針,所以p是一個指向int的指針的指針。

int *p[10];
一個有10個指針的數組,該指針指向整型數據。p[10] 的類型是 int *,所以 用type 替換 int *,也就是 type p[10],即p中每個元素都是type類型。

int (*p)[10];
一個指向有十個整型數據數組的指針。()是為了當一個整體看待,所以用val替換(*p),上式變為int val[10],所以*p 相當於數組名(即數組的首地址),所以p是一個指向數組(該數組包含10個Int數字)的指針。

int * p(int);
就一個函數(不是函數指針),該函數有一個整型參數,返回值為一個指向整型的指針

int (*p[10])(int);
一個有十個指針的數組,該數組中的指針指向一個函數,該函數有一個整型參數並返回一個整型數。根據p[10]是一個函數指針,所以p中每個元素都是一個函數指針。

int (*p)(int);
定義了一個參數為int,返回值為int的函數指針,函數指針名是p。如果初始化了 p , 則可以通過 p( int ) 調用函數。

代碼流程
整個流程要清楚
編碼
編譯
執行
打包
安裝

另外就是看開源項目源碼,是否能夠完全看懂並修改。
比如Nginx,Redis等

在我們課程系列的操作系統有個GeekOS實驗,也可以檢驗。
GeekOS是不錯的檢驗項目,強烈推薦在校學生仔細研究學習。

這個項目我在讀碩士時候做過,2周時間,只能看到項目2,一共7個,都做下來就很了不起了,可以做一個學期,慢慢做。裡面有部分匯編代碼,匯編也學下。

工作中的實際使用情況

基本不用!
用到的基本是著名的,比如Nginx,Redis等。
自己修改代碼的情況不多
基本是C++或者Java,或其他

不過也有很多公司需要根據自身的情況調整某些開源項目代碼的,所以可以看看開源代碼,或者說認真學習研究一個。在這類公司也有需求。

如果你是嵌入式等行業的就例外了。

總結
好好學,值得你好好學和你的付出。
個人覺得大學生怎麼花功夫在此語言上都不為過。
考研用/軟考用/很多高級語言的基礎/…...
只是為了工作的例外,你可以只學Java,Js等當簡單的碼農。

掌握了這個,理解其他的都容易些。

致敬:
C語言作者之一Dennis M.Ritchie(丹尼斯·里奇)

丹尼斯·里奇,C語言之父,UNIX之父。
丹尼斯·里奇與肯·湯普遜兩人發展了C語言,同時發展了Unix操作系統。
在電腦工業史上佔有重要的席位。

歡迎加入程序員的世界,添物科技為您服務。

⑤ C語言編程軟體的C語言之父

在眾多的國際互動論壇上,計算機愛好者們以特有的方式紀念這位編程語言的重要奠基人。許多網友的發帖中沒有片言隻字,僅僅留下一個分號「;」。在C語言中,分號標志著一行指令語句的結束,網友們以此來悼念「C語言之父」,美國著名計算機專家丹尼斯·里奇(Dennis Ritchie)所引領的時代悄然遠去。
在日益紛繁復雜的程序設計語言王國中,C語言因其簡潔、有效、通用的特性而始終占據一席之地。被譽為「C語言之父」,同時也是操作系統Unix之父的C語言發明人之一——丹尼斯·里奇10月9日以70歲之齡辭世。
生於1941年9月9日的丹尼斯·里奇曾在哈佛大學學習物理學和應用數學,1967年他進入貝爾實驗室,並曾經擔任朗訊技術公司系統軟體研究部門的領導人。
1983年,美國計算機協會將當年的圖靈獎破例頒給了作為軟體工程師的肯·湯普遜與里奇,獲獎原因是他們「研究發展了通用的操作系統理論,尤其是實現了Unix操作系統」。並且,美國計算機協會當年還決定新設立一個獎項——軟體系統獎,以獎勵那些優秀的軟體開發者,首個軟體系統獎當然也是非他們兩人莫屬。
盡管通過Unix拿獎拿到手軟,但令里奇引起最大關注和反響的則是C語言的問世。1999年,里奇和湯普遜為發展C語言和Unix操作系統一起獲得了美國國家技術獎章。
雖然在C語言之後,C++、Java等各式各樣計算機高級語言層出不窮,但不少程序員仍舊認為,C語言簡潔、高效、靈活的特性令其具有獨特魅力。「現在的程序編寫朝著越來越冗長龐大的方向發展,而C語言雖然屬於相對『低級』的編程語言,但它的簡潔之美是無可替代的。」一位電腦程序員道出了自己格外青睞C語言的原因。
和里奇所創造的C語言一樣,Unix系統也同樣具有簡潔、樸素、小巧的特性。但正如里奇自己所說的那樣,「Unix系統是一個簡單基本的操作系統,但學會欣賞簡潔需要天賦。」而里奇本人,盡管在軟體發展史上佔有舉足輕重的地位,也同樣在從事的領域辛勤而低調地耕耘近40年。

⑥ c語言是誰發明的/

C語言的祖先是BCPL語言。 1967年,劍橋大學的Martin Richards 對CPL語言進行了簡化,於是產生了BCPL(Basic Combined Pogramming Language)語言。 1970年,美國貝爾實驗室的Ken Thompson。以BCPL語言為基礎,設計出很簡單且很接近硬體的B語言(取BCPL的首字母)。並且他用B語言寫了第一個UNIX操作系統。 在1972年,美國貝爾實驗室的D.M.Ritchie在B語言的基礎上最終設計出了一種新的語言,他取了BCPL的第二個字母作為這種語言的名字,這就是C語言。 為了使UNIX操作系統推廣,1977年Dennis M.Ritchie 發表了不依賴於具體機器系統的C語言編譯文本《可移植的C語言編譯程序》。 1978年由美國電話電報公司(AT&T)貝爾實驗室正式發表了C語言。同時由B.W.Kernighan和D.M.Ritchie合著 c語言程序設計
了著名的《The C Programming Language》一書。通常簡稱為《K&R》,也有人稱之為《K&R》標准。但是,在《K&R》中並沒有定義一個完整的標准C語言,後來由美國國家標准化協會(American National Standards Institute)在此基礎上制定了一個C語言標准,於一九八三年發表。通常稱之為ANSI C。 K&R第一版在很多語言細節上也不夠精確,對於pcc這個「參照編譯器」來說,它日益顯得不切實際;K&R甚至沒有很好表達它所要描述的語言,把後續擴展扔到了一邊。最後,C在早期項目中的使用受商業和政府合同支配,它意味著一個認可的正式標準是重要的。因此(在M. D. McIlroy的催促下),ANSI於1983年夏天,在CBEMA的領導下建立了X3J11委員會,目的是產生一個C標准。X3J11在1989年末提出了一個他們的報告[ANSI 89],後來這個標准被ISO接受為ISO/IEC 9899-1990。 1990年,國際標准化組織ISO(International Organization for Standards)接受了89 ANSI C 為I SO C 的標准(ISO9899-1990)。1994年,ISO修訂了C語言的標准。 1995年,ISO對C90做了一些修訂,即「1995基準增補1(ISO/IEC/9899/AMD1:1995)」。1999年,ISO有對C語言標准進行修訂,在基本保留原來C語言特徵的基礎上,針對應該的需要,增加了一些功能,尤其是對C++中的一些功能,命名為ISO/IEC9899:1999。 2001年和2004年先後進行了兩次技術修正。 目前流行的C語言編譯系統大多是以ANSI C為基礎進行開發的,但不同版本的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之手的代碼。

(7)里奇c語言擴展閱讀:

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

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

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

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

熱點內容
javaeffective 發布:2024-05-21 11:39:58 瀏覽:765
演算法高效 發布:2024-05-21 11:16:06 瀏覽:139
十年前電腦做伺服器 發布:2024-05-21 11:14:35 瀏覽:971
解壓之音 發布:2024-05-21 11:07:37 瀏覽:866
安卓如何玩手機游戲 發布:2024-05-21 10:03:15 瀏覽:109
好的少兒編程學校 發布:2024-05-21 10:02:38 瀏覽:439
c語言字元個數統計 發布:2024-05-21 09:54:31 瀏覽:415
ubuntupython文件 發布:2024-05-21 09:41:01 瀏覽:161
java後端介面 發布:2024-05-21 09:40:59 瀏覽:931
豪華尊貴分別對應哪些配置 發布:2024-05-21 09:40:56 瀏覽:621