亚洲一级免费看,特黄特色大片免费观看播放器,777毛片,久久久久国产一区二区三区四区,欧美三级一区二区,国产精品一区二区久久久久,人人澡人人草

C語(yǔ)言

C語(yǔ)言的缺點(diǎn)是什么

時(shí)間:2025-02-18 08:17:50 洪熔 C語(yǔ)言 我要投稿

C語(yǔ)言的缺點(diǎn)是什么

  C語(yǔ)言是僅產(chǎn)生少量的機(jī)器語(yǔ)言以及不需要任何運(yùn)行環(huán)境支持便能運(yùn)行的高效率程序設(shè)計(jì)語(yǔ)言。以下是小編整理的C語(yǔ)言的缺點(diǎn)是什么作文,歡迎大家分享。

  C語(yǔ)言的缺點(diǎn)是什么 篇1

  C是結(jié)構(gòu)式語(yǔ)言。結(jié)構(gòu)式語(yǔ)言的顯著特點(diǎn)是代碼及數(shù)據(jù)的分隔化,即程序的各個(gè)部分除了必要的信息交流外彼此獨(dú)立。這種結(jié)構(gòu)化方式可使程序?qū)哟吻逦,便于使用、維護(hù)以及調(diào)試。C語(yǔ)言是以函數(shù)形式提供給用戶(hù)的,這些函數(shù)可方便的調(diào)用,并具有多種循環(huán)、條件語(yǔ)句控制程序流向,從而使程序完全結(jié)構(gòu)化。

  C語(yǔ)言的缺點(diǎn):

  1、C語(yǔ)言它的最大的缺點(diǎn)就是,如果你的項(xiàng)目很復(fù)雜,大量的開(kāi)發(fā)人員互相之間需要更新大段代碼時(shí),C語(yǔ)言可能會(huì)使事情變得異常麻煩。因?yàn)镃是在面向?qū)ο蠓椒餍兄伴_(kāi)發(fā)的,這大大降低了C語(yǔ)言復(fù)雜設(shè)計(jì)的可能性。(不要以為C語(yǔ)言做不了大項(xiàng)目--世界上有太多的經(jīng)典都是用C語(yǔ)言完成的,如果你想了解C語(yǔ)言的能力,不妨看看QUAKE3的源代碼——很敬佩ID的無(wú)私,這份代碼完全是公開(kāi)的,任何人都可以使用它與修改它。);

  2、輸入輸出相對(duì)很多語(yǔ)言都較為復(fù)雜。對(duì)于字符串的處理,只能通過(guò)字符數(shù)組實(shí)現(xiàn)。繪圖操作較為復(fù)雜;

  3、C語(yǔ)言的缺點(diǎn)主要表現(xiàn)在數(shù)據(jù)的封裝性上,這一點(diǎn)使得C在數(shù)據(jù)的安全性上有很大缺陷,這也是C和C++的一大區(qū)別;

  4、C語(yǔ)言的語(yǔ)法限制不太嚴(yán)格,對(duì)變量的類(lèi)型約束不嚴(yán)格,影響程序的安全性,對(duì)數(shù)組下標(biāo)越界不作檢查等。從應(yīng)用的角度,C語(yǔ)言比其他高級(jí)語(yǔ)言較難掌握;

  5、指針是C語(yǔ)言的一大特色,可以說(shuō)是C語(yǔ)言?xún)?yōu)于其它高級(jí)語(yǔ)言的一個(gè)重要原因。就是因?yàn)樗兄羔,可以直接進(jìn)行靠近硬件的操作,但是C的指針操作也給它帶來(lái)了很多不安全的因素。C++在這方面做了很好的改進(jìn),在保留了指針操作的同時(shí)又增強(qiáng)了安全性。Java取消了指針操作,提高了安全性;

  6、類(lèi)型檢查機(jī)制相對(duì)較弱、缺少支持代碼重用的語(yǔ)言結(jié)構(gòu)。

  C語(yǔ)言的優(yōu)點(diǎn):

  1、既有高級(jí)語(yǔ)言的結(jié)構(gòu)和編程環(huán)境,又有類(lèi)似于低級(jí)語(yǔ)言(如匯編語(yǔ)言)的系統(tǒng)資源操縱能力。目標(biāo)代碼的執(zhí)行效率只比匯編低10~20%,比其他高級(jí)語(yǔ)言高,適合解決有實(shí)時(shí)要求的問(wèn)題;

  2、有豐富的運(yùn)算符、數(shù)據(jù)類(lèi)型和表達(dá)式,對(duì)程序設(shè)計(jì)有良好的適應(yīng)性;

  3、支持以函數(shù)為基礎(chǔ)結(jié)構(gòu)化程序設(shè)計(jì)、多文件構(gòu)成及文件獨(dú)立編譯,適合大型復(fù)雜程序設(shè)計(jì);

  4、語(yǔ)言簡(jiǎn)潔、緊湊,使用方便、靈活,書(shū)寫(xiě)形式自~由;

  5、代碼及可執(zhí)行程序的可移植性好。

  C語(yǔ)言的缺點(diǎn)是什么 篇2

  C語(yǔ)言的優(yōu)點(diǎn)有三個(gè):

  1.代碼量小。

  2.運(yùn)行速度快。

  3.功能強(qiáng)大。

  我們先看第一個(gè)優(yōu)點(diǎn),C語(yǔ)言的代碼量很小,這是什么意思呢?也就是說(shuō)如果你要完成同樣一個(gè)功能,用C語(yǔ)言編寫(xiě)出來(lái)的程序的容量是很小的,而用其他語(yǔ)言編寫(xiě)容量就會(huì)比較大。

  比如 Microsoft Word 和 WPS,它們同樣都是辦公軟件,功能也差不多,但 WPS 的安裝文件只有 50MB 左右,而 Microsoft Word 的安裝文件超過(guò) 500MB,有的甚至接近 1GB。原因就是 WPS 的內(nèi)核是用C語(yǔ)言編寫(xiě)的。

  C語(yǔ)言的第二和第三個(gè)優(yōu)點(diǎn)是它的運(yùn)行速度比較快和功能強(qiáng)大,我們可以通過(guò)一個(gè)例子來(lái)解釋。世界上總共有三大操作系統(tǒng):UNIX 操作系統(tǒng)是用純C語(yǔ)言編寫(xiě)的;Windows 操作系統(tǒng)的內(nèi)核也是用C語(yǔ)言編寫(xiě)的;Linux 操作系統(tǒng)仍是用純C語(yǔ)言編寫(xiě)的。

  這三大操作系統(tǒng)的內(nèi)核全部都是用C語(yǔ)言編寫(xiě)的。為什么用C編寫(xiě),因?yàn)镃語(yǔ)言的速度最快。計(jì)算機(jī)中所有的軟件都是在操作系統(tǒng)上運(yùn)行的,如果操作系統(tǒng)的速度很慢,那么在它基礎(chǔ)上運(yùn)行的軟件的速度就更慢了。而且計(jì)算機(jī)中的所有硬件都是由操作系統(tǒng)控制的。

  舉個(gè)簡(jiǎn)單的例子,你可以新建一個(gè) Word 文檔,這就意味著在硬盤(pán)上產(chǎn)生了這個(gè)文件。但是你并沒(méi)有直接控制硬盤(pán),我們是通過(guò)操作系統(tǒng)提供的“右鍵單擊”等功能來(lái)新建文件的。也就是說(shuō),操作系統(tǒng)給我們提供了一個(gè)界面,或者說(shuō)是給我們提供了一種可操作的手段,通過(guò)這個(gè)手段我們可以刪除文件、新建文件、打開(kāi)文件或者修改文件。

  所以操作系統(tǒng)很重要,所有的硬件全部都是由操作系統(tǒng)控制的。而這么重要的東西只能用C語(yǔ)言來(lái)寫(xiě),所以C語(yǔ)言很重要。為什么只能用C語(yǔ)言寫(xiě)?第一,C語(yǔ)言速度夠快;第二,C語(yǔ)言可以訪問(wèn)硬件,所以它夠強(qiáng)大。

  為什么不能用Java寫(xiě)?首先,Java 太慢了;其次,Java 語(yǔ)言沒(méi)有指針。沒(méi)有指針就不能訪問(wèn)硬件,所以它的功能是不夠的。指針是什么稍后會(huì)講,它是C語(yǔ)言中非常重要的內(nèi)容。

  任何語(yǔ)言有優(yōu)點(diǎn)就有缺點(diǎn)。C語(yǔ)言的缺點(diǎn)可以用下面三點(diǎn)來(lái)概括:

  1.危險(xiǎn)性高。

  2.開(kāi)發(fā)周期長(zhǎng)。

  3.可移植性不強(qiáng)。

  我們先看第一點(diǎn)。假如你寫(xiě)同樣一個(gè)程序,在 Java 里面會(huì)報(bào)錯(cuò),而在C語(yǔ)言里面是不會(huì)報(bào)錯(cuò)的。為什么?因?yàn)镃語(yǔ)言設(shè)計(jì)的思想是:你想怎么寫(xiě)程序就怎么寫(xiě),只要你的這種寫(xiě)法錯(cuò)得不是很離譜,就認(rèn)為你這么寫(xiě)有特殊的含義,可以通過(guò)。但 Java 不行:只要你這么寫(xiě)有歧義,或者說(shuō)這樣寫(xiě)不太好,那么它都會(huì)報(bào)錯(cuò)。

  比如C語(yǔ)言中你可以將一個(gè)浮點(diǎn)型數(shù)據(jù)賦給一個(gè)整型變量,編譯時(shí)只會(huì)警告,因?yàn)闀?huì)丟失精度,但是在 Java 中這樣寫(xiě)就會(huì)報(bào)錯(cuò),它在語(yǔ)法上就禁止你這樣寫(xiě)。所以不同的語(yǔ)言對(duì)同樣一個(gè)問(wèn)題有不同的處理方式。

  大家想想這樣導(dǎo)致的結(jié)果是什么?因?yàn)橛衅缌x的程序也可以通過(guò),這樣就會(huì)有很多漏洞,黑客往往會(huì)抓住這些漏洞進(jìn)行攻擊。所以說(shuō)C語(yǔ)言比較危險(xiǎn)。這也是為什么C語(yǔ)言比較難學(xué)的原因,因?yàn)槟銓W(xué)完之后編寫(xiě)一個(gè)程序很可能就是錯(cuò)的,但又很難發(fā)現(xiàn)。所以前面說(shuō)C++從安全性上對(duì)C語(yǔ)言進(jìn)行了升級(jí)。

  第二個(gè)是它的開(kāi)發(fā)周期比較長(zhǎng)。因?yàn)镃語(yǔ)言是面向過(guò)程的語(yǔ)言,面向過(guò)程語(yǔ)言的一個(gè)特點(diǎn)就是寫(xiě)大項(xiàng)目的時(shí)候很容易“崩潰”。當(dāng)代碼上到 10 萬(wàn)行的時(shí)候很容易崩潰,會(huì)出現(xiàn)各種各樣莫名其妙的錯(cuò)誤。這時(shí)候就需要用另外一種思想將整個(gè)程序的框架重新設(shè)計(jì)一下,即用面向?qū)ο蟮乃枷朐O(shè)計(jì)。這也是C語(yǔ)言現(xiàn)在沒(méi)有 Java 流行的原因。

  C語(yǔ)言的第三個(gè)缺點(diǎn)是可移植性不強(qiáng)。這個(gè)主要是針對(duì) Java 的。Java 的可移植性太強(qiáng)了,所以就顯得C語(yǔ)言的可移植性不強(qiáng)。什么叫可移植性?就是說(shuō) Java 程序在哪個(gè)機(jī)器上都可以運(yùn)行,而且結(jié)果一模一樣。而C語(yǔ)言就不行,C程序在其他機(jī)器上不一定能運(yùn)行。而且就算能運(yùn)行,結(jié)果可能也不一樣。

【C語(yǔ)言的缺點(diǎn)是什么】相關(guān)文章:

C語(yǔ)言的優(yōu)點(diǎn)缺點(diǎn)是什么09-16

C語(yǔ)言?xún)?yōu)缺點(diǎn)09-05

C語(yǔ)言的缺點(diǎn)有哪些09-16

C語(yǔ)言的優(yōu)點(diǎn)和缺點(diǎn)09-06

C語(yǔ)言函數(shù)是什么11-07

c語(yǔ)言指針是什么10-22

C語(yǔ)言數(shù)組是什么08-25

C語(yǔ)言位操作是什么07-05

C語(yǔ)言的特點(diǎn)是什么10-30