《C champion》C语言的优点和缺点
(1)、C語言的適用范圍大。
C語言編寫的程序可應(yīng)用于多種操作系統(tǒng)(如Windows、DOS、UNIX等)和機型,經(jīng)常被用做底層開發(fā),因此也被稱為被穩(wěn)固的語言。
在C語言的編寫過程中,對操作系統(tǒng)和系統(tǒng)使用程序的要求以及需要對硬件進行操作的場合明顯優(yōu)于其他高級語言,有很多大型軟件和操作系統(tǒng)都是用C語言編寫的,這樣的軟件安全性也非常高,所以,在一些對性能要求嚴格的領(lǐng)域,比如網(wǎng)絡(luò)程序的底層和網(wǎng)絡(luò)服務(wù)器端底層、地圖查詢等,也是用C語言進行編寫。
C語言的編譯器很多,包含的范圍也很廣,無論是巨型機、大型機、微型機,還是筆記本、家庭計算機、專業(yè)工作站,都可以找到匹配的C語言編譯器。
(2)、游戲開發(fā)。
C語言可以開發(fā)很多游戲,比如俄羅斯方塊、推箱子、貪吃蛇等等,有很多人就是因為玩游戲才對計算機編程產(chǎn)生了興趣,進而成為程序員,專門從事游戲開發(fā)工作。
目前流行的游戲編程語言是C++,而C語言與C++在某些方面區(qū)別還是不大的。
(3)、C語言具有很強的繪圖能力。
C語言可以編寫二維圖形、三維圖形和動畫,在游戲開發(fā)中可用于設(shè)計游戲人物形象等等。
用C語言可以編寫一些簡單的數(shù)學(xué)軟件,用于函數(shù)圖像的繪制,使數(shù)學(xué)學(xué)習(xí)更加直觀。
(4)、C語言可以編寫嵌入式計算機的程序。
什么是嵌入式計算機,在這里要簡單說明一下,舉個簡單的例子,手機大家都不陌生,手機里的應(yīng)用軟件、小游戲等等,都是用C語言進行嵌入式開發(fā)的。
嵌入式,如果只看字面意識的話,就是把某個特定的程序嵌入到計算機中,這個程序是針對某個特定問題的解決方法,在嵌入式計算機中,只需要使用少數(shù)幾個芯片就可以將處理器、存儲器以及外設(shè)接口電路連接在一起,它屬于專用計算機,在汽車、船舶、航空、航天、通訊、制造、軍事等領(lǐng)域,嵌入式計算機比通用計算機更具有優(yōu)勢。
嵌入式計算機系統(tǒng)的軟件一般都固化在存儲器芯片或單片機中,而且要求必須高效率地設(shè)計,軟件代碼要高質(zhì)高效高運行速度,而C語言正符合這個要求,所以,絕大部分的嵌入式計算機的程序都是由C語言編寫的。
(5)、C語言具有很強的數(shù)據(jù)處理能力和表達能力。
C語言的數(shù)字計算能力,相對于其他高級編程語言是非常出眾的。
C語言包含的運算符非常廣泛,共有加、減、乘、除、乘方、開方、括號等34種運算符,這使得C語言的運算類型非常豐富。
C語言還包含多種數(shù)據(jù)結(jié)構(gòu),整型、字符型、邏輯型、數(shù)組、指針等,可以實現(xiàn)各種數(shù)據(jù)結(jié)構(gòu)的運算和邏輯的判斷,配合C語言的多種運算符,可以實現(xiàn)難度極大的運算。
(6)、簡潔明了,方便靈活。
C語言種一共有40個關(guān)鍵字,9種控制語句,它把高級程序設(shè)計語言的結(jié)構(gòu)和低級語言的實用性結(jié)合起來,同時各種運算符和表達式的運用,讓C程序?qū)栴}的求解可以通過多種方法獲得。
C語言中的強制轉(zhuǎn)換,整形數(shù)據(jù)、字符型數(shù)據(jù)和邏輯性數(shù)據(jù)之間的互相轉(zhuǎn)換,讓C程序的設(shè)計非常自由靈活,同時C語言對語法的限制不是很嚴格,這就給了編程更大的自由空間。
(7)、C語言允許直接訪問物理地址,并且可以對硬件進行操作。
前面已經(jīng)介紹過C語言的發(fā)展歷程,從B語言開始,就已經(jīng)非常接近硬件了,由于C語言能夠直接對硬件進行操作,所以它既具有高級程序設(shè)計語言的特點,又具有匯編語言的一些功能,比如,匯編語言具有微調(diào)控制能力,能夠直接對位、字節(jié)、地址進行操作,而這三者是計算機最基本的工作單元。
(匯編語言是用于特殊的中央處理單元的一系列內(nèi)部指令)C語言將這些特點和功能全部化為己用,因此,C語言是一種融合性的語言。
(8)、C程序執(zhí)行效率高,可移植性好。
C語言編寫程序相對緊湊,運行速度非???#xff0c;而且工作量小、易讀易調(diào)試、可修改可移植,從語言在不同機器上的代碼有86%是公共的,所以,如果要把一臺機器上編寫的C程序換到另一臺機器上,只需要稍微改幾個關(guān)鍵詞甚至不需要改動,就可以在一個完全不同的環(huán)境中運行。
移植性好也是相對的,對于某些硬件設(shè)備(比如顯示器、鍵盤、鼠標(biāo)等)或操作系統(tǒng)的功能是不能移植的。
(9)、C語言能夠自身擴展。
C語言是由C庫提供各種各樣的功能支持的,而這是C庫是公開的,因此,我們可以對自己的編寫的函數(shù)放到C庫里,這樣就可以創(chuàng)建屬于自己的C程序,長期的積累會讓編程任務(wù)變得簡單許多。
(1)、數(shù)據(jù)的封裝性。
C語言編寫的程序在數(shù)據(jù)的安全性上有很大的缺陷,這也是導(dǎo)致C++語言出現(xiàn)的原因之一。
(2)、編程約束太低。
前面介紹C語言的優(yōu)點的時候說C語言編寫程序簡潔明了,方便靈活,這主要是因為C語言的語法限制不太嚴格,對變量的類型約束不嚴格,這是優(yōu)點也是缺點,雖然使編程的速度變快了,但是程序的安全性降低,尤其是C語言不會對數(shù)組下標(biāo)是否越界進行檢查和對指針的使用等。
(3)、C語言比較難。
雖然C語言是最基礎(chǔ)的程序設(shè)計語言,但是也比其他高級語言較難掌握,C語言的程序員,對程序設(shè)計更加熟練。
總結(jié)
以上是生活随笔為你收集整理的《C champion》C语言的优点和缺点的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《信息学奥赛一本通》高精除以高精,求它们
- 下一篇: 01、python数据分析与机器学习实战