當前位置:首頁 » 編程語言 » c語言的優點和缺點有哪些
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言的優點和缺點有哪些

發布時間: 2023-02-23 20:56:19

❶ 匯編語言和c語言各自優缺點

C語言編屬於高級語言,具有可移植性,能夠結構化編程。使用標准C語言的程序,幾乎都可以不作改變移植到不同的微機平台上,對於嵌入式等的微控制晶元,屬於標准C語言的部分也很少需要修改,而且程序很容易讀懂。
C語言編寫程序結構清晰,移植性好,容易維護和修改。
匯編語言針對不同的操作系統平台,不同的微控制器,指令都是完全不同的,即使指令相似,也不具有可移植性。但是匯編語言是針對專門的控制器的,所以運行速度可以精確到一個指令周期。匯編語言的程序讀懂需要藉助微控制器的指令手冊以及各個寄存器的說明,所以很難讀懂。
匯編語言編寫代碼實時性強,能夠直接控制硬體的工作狀態,但是不具有可移植性,維護和修改困難。

❷ c語言具有什麼語言的優點和什麼語言的特點

C語言現在已經很成熟,它的各種語法規則、思想都已經確立起來了,並對現在的很多語言產生很大的影響。但是任何事物都有其優點和缺點,C語言也不例外。下面我們分別來看一下。
C語言的優點

C語言的優點有三個:
代碼量小。
運行速度快。
功能強大。

我們先看第一個優點,C語言的代碼量很小,這是什麼意思呢?也就是說如果你要完成同樣一個功能,用C語言編寫出來的程序的容量是很小的,而用其他語言編寫容量就會比較大。

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

C語言的第二和第三個優點是它的運行速度比較快和功能強大,我們可以通過一個例子來解釋。世界上總共有三大操作系統:UNIX 操作系統是用純C語言編寫的;Windows 操作系統的內核也是用C語言編寫的;Linux 操作系統仍是用純C語言編寫的。

這三大操作系統的內核全部都是用C語言編寫的。為什麼用C編寫,因為C語言的速度最快。計算機中所有的軟體都是在操作系統上運行的,如果操作系統的速度很慢,那麼在它基礎上運行的軟體的速度就更慢了。而且計算機中的所有硬體都是由操作系統控制的。
C語言的缺點

任何語言有優點就有缺點。C語言的缺點可以用下面三點來概括:
危險性高。
開發周期長。
可移植性不強。

❸ c語言為什麼會誕生,c語言的優點

c語言的誕生與發展
當Fortran語言出現後,很快受到了人們的歡迎,於是更多的人開始開發各種各樣的高級語言。而C語言的原型ALGOL 58語言。其發展的演化流程是:ALGOL 58(1958)-ALGOL 60(1960)-CPL(1963)-BCPL(1967)-B語言(1970)-c語言(1973)。這些語言的每一次改進都是為了解決其前身的一些缺陷。所以c語言也是如此。它的前身B語言的缺陷是過於簡單且可移植性差和沒有數據類型。為了解決這些問題美國貝爾實驗室的丹尼斯·里奇(Dennis M.Ritchie)和肯·湯普遜(Ken Thompson)對B語言進行了改進於1973年推出了c語言。並用c語言開發了第五版的UNIX系統(原來的是由匯編語言寫的)。由於這一版的UNIX系統很受歡迎,而且是發放了源代碼。所以很多人就嘗試了對UNIX進行改進,正是因為這一版的UNIX系統是由c語言開發的,那麼人們要對UNIX系統進行改進自然要學習c語言,而c語言是一個很成功的語言,因此c語言得到了廣泛的推廣。
c語言被推廣以後,人們又各自對c語言進行改進。於是出現了多個c語言版本,使c語言語法不統一。後來,在1978年,Dennis M.Ritchie和Brian W.Kernighan以第七版的UNIX系統為基礎合著了一本影響深遠的書叫《The C Programming Language》。
到了1983年,美國國家標准協會(ANSI)以這本書作為了第一個c語言的標准稱為ANSI C。1989年時,又對這一標准進行擴充,稱為C89。1999年時,國際標准化組織(ISO)又對C89進行擴充,稱為C99。目前所有的編譯系統都支持C89,絕大部分支持或不完全支持C99。

C語言的優缺點
C語言和其它編程語言相比有以下優點和缺點,這些對於初學者來說可能是不理解的,但等你學完了c語言後回過頭來看自然會明白。
優點:
1.簡潔
只有37個關鍵字,9個控制語句。
不提供輸入輸出語句、文件操作語句和動態內存語句,皆由庫函數實現。
2語法限制不嚴格
例如數組下標越界、值溢出等不報錯。因此使用靈活但易出錯,是雙刃劍。
3運算符豐富
4數據類型豐富
5程序結構化
擁有選擇結構、循環結構等結構語句
以函數作為程序模塊
6可移植性好
編譯系統簡潔,且每個編譯系統都有通用的標准庫函數
7可直接對硬體進行操作(最重要)
可通過指針對物理地址進行位操作
8生成目標代碼質量高
因為可移植性好和可以直接對硬體進行操作。

缺點:
1c語言對數據類型和語法的限制不嚴格,很容易出錯。
2.c語言對內存的操作很難管理

為什麼學c語言
1.c語言和其它高級語言相比有以上的優點,其中最重要的就是可以對物理地址進行操作。因為c語言可以直接對硬體進行操作。所有編程語言中只有匯編語言(低級語言)比c語言快,但是匯編語言的可移植性沒有c語言好。所以底層的東西例如操作系統依然得用c和匯編來實現。
2.現在流行的編程語言幾乎都是面向對象的語言,c語言是面向過程的語言。也就是更側重於每做一件事的具體步驟。因此,學習c語言你需要好好思考每一部應該做什麼。在我看來,學習c語言更重要的是學習的這個過程而不是結果。現在確實用面向對象的語言編程確實會更方便。學習c語言後如果以後不從事開發底層程序的工作的話可能也不會去用它。但是學c語言的過程對你來說是非常有用的。因為,面向對象的語言隱藏了內存地址、字元串的創建和動態數據這些東西。而c語言需要考慮編程時的所有問題。這個基礎對以後的所有學習來說都是非常重要的。

❹ c語言的語言特點

1、高級語言:它是把高級語言的基本結構和語句與低級語言的實用性結合起來的工作單元。
2、結構式語言:結構式語言的顯著特點是代碼及數據的分隔化,即程序的各個部分除了必要的信息交流外彼此獨立。這種結構化方式可使程序層次清晰,便於使用、維護以及調試。C 語言是以函數形式提供給用戶的,這些函數可方便的調用,並具有多種循環、條件語句控製程序流向,從而使程序完全結構化。
4、代碼級別的跨平台:由於標準的存在,使得幾乎同樣的C代碼可用於多種操作系統,如Windows、DOS、UNIX等等;也適用於多種機型。C語言對編寫需要進行硬體操作的場合,優於其它高級語言。
5、使用指針:可以直接進行靠近硬體的操作,但是C的指針操作不做保護,也給它帶來了很多不安全的因素。C++在這方面做了改進,在保留了指針操作的同時又增強了安全性,受到了一些用戶的支持,但是,由於這些改進增加語言的復雜度,也為另一部分所詬病。Java則吸取了C++的教訓,取消了指針操作,也取消了C++改進中一些備受爭議的地方,在安全性和適合性方面均取得良好的效果,但其本身解釋在虛擬機中運行,運行效率低於C++/C。一般而言,C,C++,java被視為同一系的語言,它們長期占據著程序使用榜的前三名。 優點1、簡潔緊湊、靈活方便
C語言一共只有32個關鍵字,9種控制語句,程序書寫形式自由,區分大小寫。把高級語言的基本結構和語句與低級語言的實用性結合起來。C 語言可以像匯編語言一樣對位、位元組和地址進行操作,而這三者是計算機最基本的工作單元。
2、運算符豐富
C語言的運算符包含的范圍很廣泛,共有34種運算符。C語言把括弧、賦值、強制類型轉換等都作為運算符處理。從而使C語言的運算類型極其豐富,表達式類型多樣化。靈活使用各種運算符可以實現在其它高級語言中難以實現的運算。
3、數據類型豐富
C語言的數據類型有:整型、實型、字元型、數組類型、指針類型、結構體類型、共用體類型等。能用來實現各種復雜的數據結構的運算。並引入了指針概念,使程序效率更高。
4、表達方式靈活實用
C語言提供多種運算符和表達式值的方法,對問題的表達可通過多種途徑獲得,其程序設計更主動、靈活。它語法限制不太嚴格,程序設計自由度大,如對整型量與字元型數據及邏輯型數據可以通用等。
5、允許直接訪問物理地址,對硬體進行操作
由於C語言允許直接訪問物理地址,可以直接對硬體進行操作,因此它既具有高級語言的功能,又具有低級語言的許多功能,能夠像匯編語言一樣對位(bit)、位元組和地址進行操作,而這三者是計算機最基本的工作單元,可用來寫系統軟體。
6、生成目標代碼質量高,程序執行效率高
C語言描述問題比匯編語言迅速,工作量小、可讀性好,易於調試、修改和移植,而代碼質量與匯編語言相當。C語言一般只比匯編程序生成的目標代碼效率低10%~20%。
7、可移植性好
C語言在不同機器上的C編譯程序,86%的代碼是公共的,所以C語言的編譯程序便於移植。在一個環境上用C語言編寫的程序,不改動或稍加改動,就可移植到另一個完全不同的環境中運行。
8、表達力強
C語言有豐富的數據結構和運算符。包含了各種數據結構,如整型、數組類型、指針類型和聯合類型等,用來實現各種數據結構的運算。C語言的運算符有34種,范圍很寬,靈活使用各種運算符可以實現難度極大的運算。
C語言能直接訪問硬體的物理地址,能進行位(bit)操作。兼有高級語言和低級語言的許多優點。
它既可用來編寫系統軟體,又可用來開發應用軟體,已成為一種通用程序設計語言。
另外C語言具有強大的圖形功能,支持多種顯示器和驅動器。且計算功能、邏輯判斷功能強大。
缺點
1、 C語言的缺點主要表現在數據的封裝性上,這一點使得C在數據的安全性上有很大缺陷,這也是C和C++的一大區別。
2、 C語言的語法限制不太嚴格,對變數的類型約束不嚴格,影響程序的安全性,對數組下標越界不作檢查等。從應用的角度,C語言比其他高級語言較難掌握。也就是說,對用C語言的人,要求對程序設計更熟練一些。 1、對齊處理(Alignment)的標准化(包括_Alignas標志符,alignof運算符,aligned_alloc函數以及<stdalign.h>頭文件)。
2、_Noreturn 函數標記,類似於 gcc 的 __attribute__(noreturn)。
3、_Generic關鍵字。
4、多線程(Multithreading)支持,包括:_Thread_local存儲類型標識符,<threads.h>;頭文件,裡麵包含了線程的創建和管理函數。
5、增強的Unicode的支持,基於C Unicode技術報告ISO/IEC TR 19769:2004,增強了對Unicode的支持。包括為UTF-16/UTF-32編碼增加了char16_t和char32_t數據類型,提供了包含unicode字元串轉換函數的頭文件<uchar.h>.
6、刪除了 gets() 函數,使用一個新的更安全的函數gets_s()替代。
7、增加了邊界檢查函數介面,定義了新的安全的函數,例如 fopen_s(),strcat_s()等等。
8、增加了更多浮點處理宏。
9、匿名結構體/聯合體支持,這個在gcc早已存在,C11將其引入標准。
10、靜態斷言(Static assertions),_Static_assert(),在解釋 #if 和 #error 之後被處理。
11、新的 fopen()模式,(「…x」),類似 POSIX 中的 O_CREAT|O_EXCL,在文件鎖中比較常用。
12、新增 quick_exit()函數作為第三種終止程序的方式。當 exit()失敗時可以做最少的清理工作。
13、_Atomic類型修飾符和<stdatomic.h>頭文件。

❺ C/C++和JAVA的優缺點

C語言

C語言的優點:

1.簡潔緊湊、靈活方便

2.運算符豐富

3.數據結構豐富

4. C是結構式語言

5. C語法限制不太嚴格,程序設計自由度大

6. C語言允許直接訪問物理地址,可以直接 對硬體進行操作

7. C語言程序生成代碼質量高,程序執行效 率高

8. C語言適用范圍大,可移植性好

9. C語言有一個突出的優點就是適合於多種 操作系統,如DOS、UNIX,也適用於多種機型

10.有效地將一個較復雜的程序系統設計任 務分解成許多易於控制和處理的子任務,便 於開發和維護

C語言的缺點:

1. C語言的缺點主要是表現在數據的封裝性 上,這一點使得C在數據的安全性上做的有 很大缺陷,這也是C和C++的一大區別。

2. C語言的語法限制不太嚴格,對變數的類 型約束不嚴格,影響程序的安全性,對數組 下標越界不作檢查等。從應用的角度,C語 言比其他高級語言較難掌握。

3.可重用性差

4.數據安全性差

5.難以開發大型軟體和圖形界面的應用軟體

6.把數據和處理數據的過程分離為相互獨立 的實體

7.當數據結構改變時,所有相關的處理過程 都要進行相應的修改

8.每一種相對於老問題的新方法都要帶來額 外的開銷

9.圖形用戶界面的應用程序,很難用過程來 描述和實現,開發和維護也都很困難

C++

C++優點:

1.可擴展性強

2.高效 簡潔 快速

3.可移植性

4.面向對象的特性

5.強大而靈活的表達能力和不輸於C的效率

6.支持硬體開發

7.程序模塊間的關系更為簡單,程序模塊的 獨立性、數據的安全性就有了良好的保障

8.通過繼承與多態性,可以大大提高程序的 可重用性,使得軟體的開發和維護都更為方便

C++缺點:

1.比較底層,易用性不是很好

2.多重繼承和友元機制

3.標准庫涵蓋范圍不足

4.開發周期長

5.非並行

6.掌握有難度

7.粒度封裝不夠

Java的優點:

1.簡單性

2.面向對象性(面向對象的程度可以達到 95%)

3.健壯性

4.跨平台性

5.高性能(自動垃圾回收機制)

6.多線程

7.動態性

8.安全性

Java的缺點:

1.效率低(毋庸置疑)

2.跨平台是它最大的優點也是最大的缺點

3.復雜性(做一個項目需要很多的知識,涉 及面廣)

❻ c語言的優缺點有哪些

C語言的優點有三個:
代碼量小。
運行速度快。
功能強大。
任何語言有優點就有缺點。C語言的缺點可以用下面三點來概括:
危險性高。
開發周期長。
可移植性不如JAVA。

❼ 在使用單片機中,匯編語言和c語言各有什麼優缺點

一、匯編語言:

缺點:匯編語言屬於低級語言,難理解,編程效率低,編程容易出錯。

優點:程序執行效率高,佔用資源少, 方便對最底層的一些東西進行操作。

二、C語言:

缺點:危險性高,開發周期長,可移植性不如JAVA。

優點:語句少但是靈活度高,針對過程的言語相比於非結構化言語條理性很好接近人類的邏輯思維,相比於模塊化言語和面向對象的言語他又比較接近底層的一些東西,而且效率也高(只比匯編低%10~20)移植性也好。

(7)c語言的優點和缺點有哪些擴展閱讀:

不難看出機器語言作為一種編程語言, 靈活性較差可閱讀性也很差,為了減輕機器語言帶給軟體工程師的不適應,人們對機器語言進行了升級和改進:用一些容易理解和記憶的字母,單詞來代替一個特定的指令。

通過這種方法,人們很容易去閱讀 已經完成的程序或者理解程序正在執行的功能,對現有程序的bug修復以及運營維護都變得更加簡單方便,這種語言就是我們所說的匯編語言, 即第二代計算機語言。

❽ c語言比起其他語言有什麼優缺點

靈活性強;
移植性大;
功能強大;
語法簡單;
上手容易;
平台較多;
C++是它的擴展,並且繼承了它的強大;
寶藍公司就是靠Turbo C而聞名的;
除了寶藍外還有微軟公司的「開發者工作室」作為強大的後盾;
最後最可以證明C語言強大的是:微軟公司大部分(除網頁)都是用C++編寫的。(因為我曾經妄想破解微軟而用PeiD偵它的殼)。

❾ 在使用單片機中,匯編語言和c語言各有什麼優缺點

匯編:優點:速度快,效率高,時間精確,省內存,在小程序上很實用。缺點:沒有移植性,換一種單片機就得學一種匯編語言,代碼很看得明白,維護起來難。c語言:優點:功能強大,高級運算功能代碼量比匯編要少很多,通用性強,維護方便。缺點:沒有編程基礎的人入門難有點難,效率相對匯編來說低,想要精確時間不容易,佔用內存大,這一點對於消費類的低端單片機來說,劣勢很明顯,有的otp單片機只有幾百B的程序空間,有的小公司會要求用匯編。
但是,就性價比比來說,還是c比匯編高。它的優點值得你去容忍它的缺點。