发布时间:2020-06-20 13:00:15
C語言是一門通用計算機編程語言,應用廣泛。那麽c語言産生的原因有什麽呢?下面是生活日記小編精心爲你整理的c語言産生的原因,一起來看看。
c語言産生的原因1967年,劍橋大學的Martin Richards對CPL語言進行了簡化,于是産生了BCPL(Basic Combined Programming Language)語言。
20世紀60年代,美國AT&T公司貝爾實驗室(AT&T Bell Laboratory)的研究員Ken Thompson閑來無事,手癢難耐,想玩一個他自己編的,模拟在太陽系航行的電子遊戲——Space Travel。他背着老板,找到了台空閑的機器——PDP-7。但這台機器沒有操作系統,而遊戲必須使用操作系統的一些功能,于是他着手爲PDP-7開發操作系統。後來,這個操作系統被命名爲——UNIX。
1970年,美國貝爾實驗室的 Ken Thompson,以BCPL語言爲基礎,設計出很簡單且很接近硬件的B語言(取BCPL的首字母)。并且他用B語言寫了第一個UNIX操作系統。
1971年,同樣酷愛Space Travel的Dennis M.Ritchie爲了能早點兒玩上遊戲,加入了Thompson的開發項目,合作開發UNIX。他的主要工作是改造B語言,使其更成熟。
1972年,美國貝爾實驗室的 D.M.Ritchie 在B語言的基礎上最終設計出了一種新的語言,他取了BCPL的第二個字母作爲這種語言的名字,這就是C語言。
1973年初,C語言的主體完成。Thompson和Ritchie迫不及待地開始用它完全重寫了UNIX。此時,編程的樂趣使他們已經完全忘記了那個"Space Travel",一門心思地投入到了UNIX和C語言的開發中。随着UNIX的發展,C語言自身也在不斷地完善。直到今天,各種版本的UNIX内核和周邊工具仍然使用C語言作爲最主要的開發語言,其中還有不
[!--empirenews.page--]不少繼承Thompson和Ritchie之手的代碼。
c語言的特點基本特性
1、高級語言:它是把高級語言的基本結構和語句與低級語言的實用性結合起來的工作單元。
2、結構式語言:結構式語言的顯著特點是代碼及數據的分隔化,即程序的各個部分除了必要的信息交流外彼此獨立。這種結構化方式可使程序層次清晰,便于使用、維護以及調試。C 語言是以函數形式提供給用戶的,這些函數可方便的調用,并具有多種循環、條件語句控制程序流向,從而使程序完全結構化。
4、代碼級别的跨平台:由于标準的存在,使得幾乎同樣的C代碼可用于多種操作系統,如Windows、DOS、UNIX等等;也适用于多種機型。C語言對編寫需要進行硬件操作的場合,優于其它高級語言。
5、使用指針:可以直接進行靠近硬件的操作,但是C的指針操作不做保護,也給它帶來了很多不安全的因素。C 在這方面做了改進,在保留了指針操作的同時又增強了安全性,受到了一些用戶的支持,但是,由于這些改進增加語言的複雜度,也爲另一部分所诟病。Java則吸取了C 的教訓,取消了指針操作,也取消了C 改進中一些備受争議的地方,在安全性和适合性方面均取得良好的效果,但其本身解釋在虛拟機中運行,運行效率低于C /C。一般而言,C,C ,java被視爲同一系的語言,它們長期占據着程序使用榜的前三名。
特有特點
C語言是
[!--empirenews.page--]一個有結構化程序設計、具有變量作用域(variable scope)以及遞歸功能的過程式語言。
C語言傳遞參數均是以值傳遞(pass by value),另外也可以傳遞指針(a pointer passed by value)。
不同的變量類型可以用結構體(struct)組合在一起。
隻有32個保留字(reserved keywords),使變量、函數命名有更多彈性。
部份的變量類型可以轉換,例如整型和字符型變量。
通過指針(pointer),C語言可以容易的對存儲器進行低級控制。
預編譯處理(preprocessor)讓C語言的編譯更具有彈性。
優點
1、簡潔緊湊、靈活方便
C語言一共隻有32個關鍵字,9種控制語句,程序書寫形式自由,區分大小寫。把高級語言的基本結構和語句與低級語言的實用性結合起來。C 語言可以像彙編語言一樣對位、字節和地址進行操作,而這三者是計算機最基本的工作單元。
2、運算符豐富
C語言的運算符包含的範圍很廣泛,共有34種運算符。C語言把括號、賦值、強制類型轉換等都作爲運算符處理。從而使C語言的運算類型極其豐富,表達式類型多樣化。靈活使用各種運算符可以實現在其它高級語言中難以實現的運算。
3、數據類型豐富
C語言的數據類型有:整型、實型、字符型、數組類型、指針類型、結構體類型、共用體類型等。能用來實現各種複雜的數據結構的運算。并引入了指針概念,使程序效率更高。
4、表達方式靈活實用
C語言提供多種運算符和表達式值的方法,對問題的表達可通過多種途徑獲
[!--empirenews.page--]得,其程序設計更主動、靈活。它語法限制不太嚴格,程序設計自由度大,如對整型量與字符型數據及邏輯型數據可以通用等。
5、允許直接訪問物理地址,對硬件進行操作
由于C語言允許直接訪問物理地址,可以直接對硬件進行操作,因此它既具有高級語言的功能,又具有低級語言的許多功能,能夠像彙編語言一樣對位(bit)、字節和地址進行操作,而這三者是計算機最基本的工作單元,可用來寫系統軟件。
6、生成目标代碼質量高,程序執行效率高
C語言描述問題比彙編語言迅速,工作量小、可讀性好,易于調試、修改和移植,而代碼質量與彙編語言相當。C語言一般隻比彙編程序生成的目标代碼效率低10%~20%。
7、可移植性好
C語言在不同機器上的C編譯程序,86%的代碼是公共的,所以C語言的編譯程序便于移植。在一個環境上用C語言編寫的程序,不改動或稍加改動,就可移植到另一個完全不同的環境中運行。
8、表達力強
C語言有豐富的數據結構和運算符。包含了各種數據結構,如整型、數組類型、指針類型和聯合類型等,用來實現各種數據結構的運算。C語言的運算符有34種,範圍很寬,靈活使用各種運算符可以實現難度極大的運算。
C語言能直接訪問硬件的物理地址,能進行位(bit)操作。兼有高級語言和低級語言的許多優點。
它既可用來編寫系統軟件,
又可用來開發應用軟件,已成爲一種通用程序設計語言。
另外C語言具有強大的圖形功能,支持多種顯示器和驅動器。且計算功能、邏輯判斷功能強大。
得,其程序设计更主动、灵活。它语法限制不太严格,程序设计自由度大,如对整型量与字符型数据及逻辑型数据可以通用等。
5、允许直接访问物理地址,对硬件进行操作
由于C语言允许直接访问物理地址,可以直接对硬件进行操作,因此它既具有高级语言的功能,又具有低级语言的许多功能,能够像汇编语言一样对位(bit)、字节和地址进行操作,而这三者是计算机最基本的工作单元,可用来写系统软件。
6、生成目标代码质量高,程序执行效率高
C语言描述问题比汇编语言迅速,工作量小、可读性好,易于调试、修改和移植,而代码质量与汇编语言相当。C语言一般只比汇编程序生成的目标代码效率低10%~20%。
7、可移植性好
C语言在不同机器上的C编译程序,86%的代码是公共的,所以C语言的编译程序便于移植。在一个环境上用C语言编写的程序,不改动或稍加改动,就可移植到另一个完全不同的环境中运行。
8、表达力强
C语言有丰富的数据结构和运算符。包含了各种数据结构,如整型、数组类型、指针类型和联合类型等,用来实现各种数据结构的运算。C语言的运算符有34种,范围很宽,灵活使用各种运算符可以实现难度极大的运算。
C语言能直接访问硬件的物理地址,能进行位(bit)操作。兼有高级语言和低级语言的许多优点。
它既可用来编写系统软件,
又可用来开发应用软件,已成为一种通用程序设计语言。
另外C语言具有强大的图形功能,支持多种显示器和驱动器。且计算功能、逻辑判断功能强大。
疫情期间,房租会减免吗?其实,在疫情期间,我们可以看到很多新闻,有些中国好房东减免了所有的房租费,等疫情结束后再重新交房租,,这对于个人租户或企业来说,无疑是好消息,如果...[全文阅读]
TVB的悬疑剧一直深受大众的喜爱,而近期上映的刑侦日记更是汇聚了诸多熟悉的tvb演员,什么惠英红、王浩信啊。也正是因为这样网友们纷纷好奇刑侦日记是不是刑事侦缉档...[全文阅读]
科颜氏美白淡斑精华使用会搓泥和自己的肤质是有关系的,有可能是角质层没有定期做清理,也有可能是搭配的护肤品叠加太多,导致营养过剩,还有人担心科颜氏美白淡斑精华用...[全文阅读]
TF细黑管新色80口红试色,这支“断货王”终于有缎光质地了!
TF口红的80号色#impassioned堪称专柜断货王,颜色非常耐看,暖调红棕色非常高级、洋气。新出的细黑管的80号是缎光质地的,比哑光的会更奶油一些,质感感觉比纯哑光更迷人...[全文阅读]
ios15系统并没有更新很多功能,而且很多人都不太系统这个版本,如果大家想退出旧版本,还是喜欢iOS14的话,也是可以降级的。那么,ios15降级绕过验证通道降14呢?一起来看看...[全文阅读]
虽说时下很多播放的小甜剧都被大家喜爱,但是排在首位的便要数林一、徐璐主演的良辰美景好时光,但由于二人剧中本就在游戏中相熟,但是现实上却总是各种错过,于是良辰美...[全文阅读]
本文标题:c语言产生的原因
上一篇:c内存泄露的原因
下一篇:电脑延迟高是什么原因