本文目錄一覽:
C語言有什麼優點什麼缺點?有什麼特別之處
c語言的優點就是它的性能極佳,其它編程語言幾乎沒有它的性能,因此它被用為linux操作系統設計語言。
c語言的缺點是太靈活,沒有垃圾回收,代碼不好編寫。
c語言特別之處就是它的指針和結構體,這兩個東西的存在讓c語言變得異常強大,很多複雜的業務設計,都可以通過它們兩個來實現,也可以說,只有掌握了指針和結構體,你才算入門c語言。
學習C語言有什麼用處?
C是基礎的語言
C語言被廣泛用於操作系統和編譯器的開發
功能非常強
雖然現在不是最流行但是
最基礎的東西是也比較好學的語言
如:金山的創始人江明
從30多歲開始學語言
學的就是C
對C的評價相當高
C語言是一種計算機程序設計語言。它既有高級語言的特點,又具有彙編語言的特點。它可以作為系統設計語言,編寫工作系統應用程序,也可以作為應用程序設計語言,編寫不依賴計算機硬體的應用程序。因此,它的應用範圍廣泛。
C語言對操作系統和系統使用程序以及需要對硬體進行操作的場合,用C語言明顯優於其它解釋型高級語言,有一些大型應用軟體也是用C語言編寫的。
C語言具有繪圖能力強,可移植性,並具備很強的數據處理能力,因此適於編寫系統軟體,三維,二維圖形和動畫。它是數值計算的高級語言。
常用的C語言IDE(集成開發環境)有Microsoft Visual C++,Borland C++,Watcom C++ ,Borland C++,Borland C++ Builder,Borland C++ 3.1 for DOS,Watcom C++ 11.0 for DOS,GNU DJGPP C++,Lccwin32 C Compiler 3.1,Microsoft C,High C,TurboC等等……
C語言的優點
1.簡潔緊湊、靈活方便
C語言一共只有32個關鍵字,9種控制語句,程序書寫自由,主要用小寫字母表示。它把高級語言的基本結構和語句與低級語言的實用性結合起來。C語言可以象彙編語言一樣對位、位元組和地址進行操作,而這三者是計算機最基本的工作單元。
2.運算符豐富
C的運算符包含的範圍很廣泛,共有34種運算符。C語言把括弧、賦值、強制類型轉換等都作為運算符處理。從而使C的運算類型極其豐富,表達式類型多樣化,靈活使用各種運算符可以實現在其它高級語言中難以實現的運算。
3.數據結構豐富
C的數據類型有:整型、實型、字元型、數組類型、指針類型、結構體類型、共用體類型等,能用來實現各種複雜的數據類型的運算,並引入了指針概念,使程序效率更高。另外C語言具有強大的圖形功能,支持多種顯示器和驅動器,且計算功能、邏輯判斷功能強大。
4. C是結構式語言
結構式語言的顯著特點是代碼及數據的分隔化,即程序的各個部分除了必要的信息交流外彼此獨立。這種結構化方式可使程序層次清晰,便於使用、維護以及調試。C語言是以函數形式提供給用戶的,這些函數可方便的調用,並具有多種循環、條件語句控制程序流向,從而使程序完全結構化。
5. C語法限制不太嚴格,程序設計自由度大
雖然C語言也是強類型語言,但它的語法比較靈活,允許程序編寫者有較大的自由度。
6. C語言允許直接訪問物理地址,可以直接對硬體進行操作
因此既具有高級語言的功能,又具有低級語言的許多功能,能夠像彙編語言一樣對位、位元組和地址進行操作,而這三者是計算機最基本的工作單元,可以用來寫系統軟體。
7. C語言程序生成代碼質量高,程序執行效率高
一般只比彙編程序生成的目標代碼效率低10へ20%。
8. C語言適用範圍大,可移植性好
C語言有一個突出的優點就是適合於多種操作系統,如DOS、UNIX,也適用於多種機型。
C語言的缺點
1.C語言的缺點主要是表現在數據的封裝性上,這一點使得C在數據的安全性上做的有很大缺陷,這也是C和C++的一大區別。
2. C語言的語法限制不太嚴格,對變數的類型約束不嚴格,影響程序的安全性,對數組下標越界不作檢查等。從應用的角度,C語言比其他高級語言較難掌握。
C語言指針
指針就是C語言的一大特色,可以說C語言優於其它高級語言的一個重要原因就是因為它有指針操作可以直接進行靠近硬體的操作,但是C的指針操作也給它帶來了很多不安全的因素。C++在這方面做了很好的改進,在保留了指針操作的同時又增強了安全性。Java取消了指針操作,提高了安全性。
C源程序的結構特點
1.一個C語言源程序可以由一個或多個源文件組成。
2.每個源文件可由一個或多個函數組成。
3.一個源程序不論由多少個文件組成,都有一個且只能有一個main函數,即主函數。
4.源程序中可以有預處理命令(include命令僅為其中的一種),預處理命令通常應放在源文件或源程序的最前面。
5.每一個說明,每一個語句都必須以分號結尾。但預處理命令,函數頭和花括弧「}」之後不能加分號。
6.標識符,關鍵字之間必須至少加一個空格以示間隔。若已有明顯的間隔符,也可不再加空格來間隔。
學習C語言
在初學C語言時,可能會遇到有些問題理解不透,或者表達方式與以往數學學習中不同(如運算符等),這就要求不氣餒,不明白的地方多問多想,鼓足勇氣進行學習,待學完後面的章節知識,前面的問題也就迎刃而解了,這一方面我感覺是我們同學最欠缺,大多學不好的就是因為一開始遇到困難就放棄,曾經和好多同學談他的問題,回答是聽不懂、不想聽、放棄這樣三個過程,我反問,這節課你聽過課嗎?回答又是沒有,根本就沒聽過課,怎麼說自己聽不懂呢?相應的根本就沒學習,又談何學的好?
學習C語言始終要記住「曙光在前頭」和「千金難買回頭看」,「千金難買回頭看」是學習知識的重要方法,就是說,學習後面的知識,不要忘了回頭弄清遺留下的問題和加深理解前面的知識,這是我們學生最不易做到的,然而卻又是最重要的。學習C語言就是要經過幾個反覆,才能前後貫穿,積累應該掌握的C知識。
那麼,我們如何學好《C程序設計》呢?
一.學好C語言的運算符和運算順序
這是學好《C程序設計》的基礎,C語言的運算非常靈活,功能十分豐富,運算種類遠多於其它程序設計語言。在表達式方面較其它程序語言更為簡潔,如自加、自減、逗號運算和三目運算使表達式更為簡單,但初學者往往會覺的這種表達式難讀,關鍵原因就是對運算符和運算順序理解不透不全。當多種不同運算組成一個運算表達式,即一個運算式中出現多種運算符時,運算的優先順序和結合規則顯得十分重要。在學習中,只要我們對此合理進行分類,找出它們與我們在數學中所學到運算之間的不同點之後,記住這些運算也就不困難了,有些運算符在理解後更會牢記心中,將來用起來得心應手,而有些可暫時放棄不記,等用到時再記不遲。
先要明確運算符按優先順序不同分類,《C程序設計》運算符可分為15種優先順序,從高到低,優先順序為1 ~ 15,除第2、3級和第14級為從右至左結合外,其它都是從左至右結合,它決定同級運算符的運算順序.
二.學好C語言的四種程序結構
(1)順序結構
順序結構的程序設計是最簡單的,只要按照解決問題的順序寫出相應的語句就行,它的執行順序是自上而下,依次執行。
例如;a = 3,b = 5,現交換a,b的值,這個問題就好像交換兩個杯子水,這當然要用到第三個杯子,假如第三個杯子是c,那麼正確的程序為:c = a;a = b;b = c;執行結果是a = 5,b = c = 3如果改變其順序,寫成:a = b;c = a;b = c;則執行結果就變成a = b = c = 5,不能達到預期的目的,初學者最容易犯這種錯誤。順序結構可以獨立使用構成一個簡單的完整程序,常見的輸入、計算、輸出三步曲的程序就是順序結構,例如計算圓的面積,其程序的語句順序就是輸入圓的半徑r,計算s = 3.14159*r*r,輸出圓的面積s。不過大多數情況下順序結構都是作為程序的一部分,與其它結構一起構成一個複雜的程序,例如分支結構中的複合語句、循環結構中的循環體等。
(2)分支結構
順序結構的程序雖然能解決計算、輸出等問題,但不能做判斷再選擇。對於要先做判斷再選擇的問題就要使用分支結構。分支結構的執行是依據一定的條件選擇執行路徑,而不是嚴格按照語句出現的物理順序。分支結構的程序設計方法的關鍵在於構造合適的分支條件和分析程序流程,根據不同的程序流程選擇適當的分支語句。分支結構適合於帶有邏輯或關係比較等條件判斷的計算,設計這類程序時往往都要先繪製其程序流程圖,然後根據程序流程寫出源程序,這樣做把程序設計分析與語言分開,使得問題簡單化,易於理解。程序流程圖是根據解題分析所繪製的程序執行流程圖。
C語言編寫程序的優點有哪些呢
C語言能夠存在並發展至今,其生命力之強可見一斑。這其中一定是有著某些不可替代的優點,那麼C語言編寫程序的優點都有哪些呢?為了方便讀者理解,下面對C語言的每條特點進行詳細的解說。
(1)程序結構簡潔、緊湊、規整,表達式簡練、使用靈活。
(2)編寫的程序可讀性強,編譯效率高。
(3)具有豐富的運算符,多達34種。豐富的數據類型與豐富的運算符相結合,使C語言具有表達靈活和效率高等特點。
(4)數據類型種類繁多。C語言具有5種基本的數據類型和多種構造數據類型以及複合的導出類型,同時還提供了與地址密切相關的指針機器運算符。指針可以指向各種類型的簡單變數、數組、結構和聯合,乃至函數等。此外,C語言還允許用戶自己定義數據類型。
(5)是一種結構化程序設計語言,特別適合大型程序的模塊化設計。C語言具有編寫結構化程序所必需的基本流程式控制制語句,C語言程序是由函數集合構成的,函數各自獨立,並且作為模塊化設計的基本單位。
說明:
C語言的源文件,可以分割成多個源程序,分別進行編譯,然後連接起來構成可知性的目標文件,為開發大型軟體提供了極大的方便。C語言還提供了多種存儲屬性,使數據可以按其需要在相應的作用域起作用,從而提高了程序的.可靠性。
(6)語法限制不太嚴格,程序設計自由度大。例如,對數組下標越界不作檢查,由程序編寫者自己保證程序的正確。一般的高級語言語法檢查比較嚴,能檢測出幾乎所有的語法錯誤,而C語言允許程序編寫者有較大的自由度,因此放寬了語法的檢查。程序員應當仔細檢查程序,保證其正確,而不要過分依賴C語言編譯程序去查錯。
(7)允許直接訪問物理地址,能進行位(bit)操作,能實現彙編語言的大部分功能,可以直接對硬體進行操作。因此,C語言既具有高級語言的功能,又兼容低級語言的許多功能,可用來編寫系統軟體。
(8)生成的目標代碼質量高,程序執行效率高。它一般只比彙編程序生成的目標代碼率低10%~20%。
(9)具有較高的可移植性。它的語句基本上無須修改就能用於各種型號的計算機和各種操作系統。
C語言是處於彙編語言和高級語言之間的一種中間型程序設計語言,常被稱為中級語言。它既有高級語言的基本特點,又具有彙編語言面向硬體和系統,可以直接訪問硬體的功能。
C語言的這些優點,讀者僅通過這裡的介紹還不能深刻理解和體會,待對C語言有了一定的了解之後再回顧一下,就會體會到這些優點了。但由於C語言的限制少、靈活性大、功能強,所以對程序員有較高的要求。在使用C語言進行編程時,需要有足夠的細心和耐心。
在使用單片機中,彙編語言和c語言各有什麼優缺點?
一、彙編語言:
缺點:彙編語言屬於低級語言,難理解,編程效率低,編程容易出錯。
優點:程序執行效率高,佔用資源少, 方便對最底層的一些東西進行操作。
二、C語言:
缺點:危險性高,開發周期長,可移植性不如JAVA。
優點:語句少但是靈活度高,針對過程的言語相比於非結構化言語條理性很好接近人類的邏輯思維,相比於模塊化言語和面向對象的言語他又比較接近底層的一些東西,而且效率也高(只比彙編低%10~20)移植性也好。
擴展資料:
不難看出機器語言作為一種編程語言, 靈活性較差可閱讀性也很差,為了減輕機器語言帶給軟體工程師的不適應,人們對機器語言進行了升級和改進:用一些容易理解和記憶的字母,單詞來代替一個特定的指令。
通過這種方法,人們很容易去閱讀 已經完成的程序或者理解程序正在執行的功能,對現有程序的bug修復以及運營維護都變得更加簡單方便,這種語言就是我們所說的彙編語言, 即第二代計算機語言。
參考資料來源:百度百科-彙編語言
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/193423.html