當前位置:首頁 » 編程語言 » c語言安全性差
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言安全性差

發布時間: 2023-01-10 12:59:24

㈠ 你們不要再罵c語言不安全了好不好

C 語言是最簡單的,最開放的,最毫無保留的編程語言。
說他簡單是因為 C語言可以近似看作其它高級語言的子集;
說他開放是因為 其它高級語言都有能直接調用 C庫的方法;
說他毫無保留是因為,C語言把計算機的能力和結構都賦予了使用者,讓使用者可以編寫系統。

在大師眼中,C語言是安全的,因為大師能掌控一切;
在菜鳥眼中,C語言是危險的,因為菜鳥需託管一切;

總之,C語言多純呀!我們都喜歡純的!

㈡ C語言中printf,scanf不安全

這個在c++中存在開發安全周期的問題,如果你用Vs2013編寫c ,那麼它會報錯,讓你換成scanf_s,printf應該是安全的

㈢ c語言什麼意思

C語言是一門面向過程的、抽象化的通用程序設計語言,廣泛應用於底層開發。C語言能以簡易的方式編譯、處理低級存儲器。C語言是僅產生少量的機器語言以及不需要任何運行環境支持便能運行的高效率程序設計語言。盡管C語言提供了許多低級處理的功能,但仍然保持著跨平台的特性,以一個標准規格寫出的C語言程序可在包括類似嵌入式處理器以及超級計算機等作業平台的許多計算機平台上進行編譯。

(3)c語言安全性差擴展閱讀:

C語言的缺點

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

2、C語言的語法限制不太嚴格,對變數的類型約束不嚴格,影響程序的安全性,對數組下標越界不作檢查等。從應用的角度,C語言比其他高級語言較難掌握。也就是說,對用C語言的人,要求對程序設計更熟練一些。

㈣ c語言不安全為什麼還很有多人用

因為C語言比其他語言編譯出的軟體運行快啊 所以C語言一般放到嵌入式開發
打個比方
你哪天電視遙控器壞了,你要買個新的
1種遙控器晶元是最新電腦用的晶元,用的遙控器用的軟體用哪個語言開發都會很快 那這個遙控器價格 呵呵..
另1種遙控器價格就十幾塊錢 你想它的晶元運算速度能多快... 那假如裡面是其他語言 估計你按完開機後10秒(極端例子)後才能響應開機,但用C語言 能馬上開機。
安全問題,不就是多個指針跑飛和內存泄漏么,這個真沒法避免
但使用指針和內存分配的確能使C語言運行靈活
再說了 其他語言該出Bug也不照樣出Bug么

㈤ 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.復雜性(做一個項目需要很多的知識,涉 及面廣)

㈥ 詳解Java和C語言的區別在哪裡

1Java與C語言各自的優勢

C語言是面向過程的語言,執行效率高;Java是面向對象的語言,執行效率比C語言低。

C語言最關鍵的是比Java多了指針,這也說明了Java的健壯性,還有Java的多線程機制使程序可以並行運行,Java程序多用於網路。

C語言的安全性不如Java,C語言沒有Java的垃圾回收機制,申請的空間要手動釋放。

Java的通用性好,可以跨平台直接移植,只要有安裝Java虛擬機(JVM)就可以了。

2Java和C語言誰的通用性會比較好

在速度上,C語言編寫的程序要優於Java,因為Java必須運行在虛擬機的環境中,但是因為虛擬機,Java獲得的平台無關性,而C語言的程序有可能需要重新修改編譯才能實現平台的移植,

另一方面,C語言比Java語言更「底層」,因此可以用C編寫例如硬體的驅動,而Java卻不行。Java和C語言還有個明顯的不同就是C語言注重的是演算法,但是Java卻不一樣,想用的時候導包就可以了。

C語言的演算法很重要,但是Java中的演算法沒有C語言那麼復雜。列印的方法:C語言是printf("??.");而Java是System.out.print("??."),也可以用println,ln表示換行。

Java程序中的基本數據類型(boolean,char,byte,short,int,long,float,double),是對對象的引用;C語言也有許多種基本類型,還有struct,union,enum,數組和指針。

在Java沒有枚舉、聯合類型。Java採用Unicode字元集,C語言通常採用的是ASCII字元集,A—65,a—97。C語言的變數可以不進行初始化,但Java的變數要進行初始化。

在C語言中,char類型佔一個位元組,在Java中char類型佔2個位元組。

3Java和C語言各自的特徵

Java面向對象的特徵主要有封裝,繼承,多態。類的繼承關系是單一的、非多重的,一個子類只有一個父類,子類的父類又只有一個父類。C語言支持「運算符的重載」,這是它的一個很重要的多態特徵,是數據抽象和泛型編程的利器。它允許直接對對象進行四則運算,正像基本數據類型那樣Java不支持這種多態機制,也是為降低復雜性。

Java可以支持方法重載和重寫,所謂重載就是一個類具備多個相同屬性行為;重寫就是在繼承關系中父類的行為在不同的子類上有不同的實現。在Java中比C語言多了一些修飾符,如訪問修飾符Public(公共的)、Private(私有的)、Protected(受保護的)、默認。

Java有super關鍵字,指代父類對象,通常被用於調用父類的構造方法或一般方法C語言則沒有super關鍵字,兩者都有this,指代當前對象。

在Java中,除了static、final、private是靜態綁定以外,所有方法一律按動態綁定處理。Java中可以將類組織起來用Package打包,而C語言沒有。

㈦ c語言與其他語言相比誰更好呢

1. C是高級語言。它把高級語言的基本結構和語句與低級語言的實用性結合起來。C 語言可以像匯編語言一樣對位、位元組和地址進行操作,而這三者是計算機最基本的工作單元。
2.C是結構式語言。結構式語言的顯著特點是代碼及數據的分隔化,即程序的各個部分除了必要的信息交流外彼此獨立。這種結構化方式可使程序層次清晰,便於使用、維護以及調試。C 語言是以函數形式提供給用戶的,這些函數可方便的調用,並具有多種循環、條件語句控製程序流向,從而使程序完全結構化。
3.C語言功能齊全。具有各種各樣的數據類型,並引入了指針概念,可使程序效率更高。而且計算功能、邏輯判斷功能也比較強大,可以實現決策目的的游戲。
4. C語言適用范圍大。適合於多種操作系統,如Windows、DOS、UNIX等等;也適用於多種機型。
C語言對編寫需要硬體進行操作的場合,明顯優於其它高級語言,有一些大型應用軟體也是用C語言編寫的。

缺點
1. C語言的缺點主要表現在數據的封裝性上,這一點使得C在數據的安全性上有很大缺陷,這也是C和C++的一大區別。
2. C語言的語法限制不太嚴格,對變數的類型約束不嚴格,影響程序的安全性,對數組下標越界不作檢查等。從應用的角度,C語言比其他高級語言較難掌握。

㈧ C語言和C++語言都是不安全的編程語言

安全。
C++是由AT&TBell實驗室於20世紀80年代初在C語言的基礎上成功開發出來的。C++保留了C語言原有的所有優點,並增加了面向對象的機制。C++是由C語言發展而來的,與C兼容。用C語言寫的程序基本上可以不加修改地用於C++。從C++的名字可以看出它是C的超集。C++既可用於面向過程的程序設計,又可用於面向對象的程序設計,是一種功能強大的混合型程序設計語言。c語言是一門面向過程、抽象化的通用程序設計語言,廣泛應用於底層開發。C語言具有高效、靈活、功能豐富、表達力強和較高的可移植性等特點,在程序設計中備受青睞。C語言編譯器普遍存在於各種不同的操作系統中,其設計也影響了Java、Python等編程語言。
C語言是一門面向過程的計算機編程語言,與C++、Java等面向對象編程語言有所不同。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、僅產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。C語言描述問題比匯編語言迅速,工作量小、可讀性好,易於調試、修改和移植,而代碼質量與匯編語言相當。C語言一般只比匯編語言代碼生成的目標程序效率低10%~20%。因此,C語言可以編寫系統軟體。

㈨ C語言是外國的,咱用安全嗎

你說c不能移植,那說明,你並不了解c,
Linux,windows,Unix,Macintosh,都用c語言,c語言只是ANSI制定的一個語言標准。
具體的實現是由編譯器來完成的。
即使在同一個系統下,使用不同的編譯器,可能會有不同的結果,
但是,基本上一樣。
每個系統都有自己的擴展,只要你熟悉這些就沒有問題。
還有就是,不是中國的程序員是豬,而是沒有那麼多的資金,不要隨便侮辱人。
你知道,當你號稱可以與阿波羅計劃相比的OS操作系統的項目費用是多少么,幾億美元,
合成RMB得多少錢?
沒錢怎麼幹活。
要想讓中國的軟體行業有所發展,首先要打擊盜版。
請問,你的操作系統是正版的么?
你的殺毒軟體是正版的么?
你的winrar是正版的么?
你的金山詞霸是正版的么?
你的編程軟體是正版的么?
你的優化大師是正版的么?
你所玩過的單機游戲都是正版的么?
.
.
.
上海軟星(製作仙劍奇俠傳的)么倒閉的,40塊錢的一張盤都沒人買,在國外20美元(100多RMB)都買正版的玩,
原因是什麼,中國現在還不發達。
ok
希望以後能慎重的說話,祝你有所成就。