c語言運算符優先級由高到低:一個c語言的執行是從什麼開始

C語言是一種計算機程序設計語言,它既有高級語言的特點,又具有低級彙編語言的特點。它可以作為系統設計語言來編寫工作系統應用程序,也可以作為應用程序設計語言來編寫不依賴計算機硬件的應用程序。因此,它的應用範圍非常廣泛。

C語言的誕生及發展歷程如圖所示。

C語言從入門到精通:C語言的發展進程

第1階段:A語言

C語言的發展頗為有趣,它的原型是ALGOL 60語言,也稱A語言。ALGOL 60是一種面向問題的高級話言,它離硬件比較遠,不適合編寫系統程序。AIGOL60 (也就是算法語言60)是程序設計語言由技藝轉向科學的重要標誌,其特點是具有局部性、動態性、遞歸性和嚴謹性。

第2階段: CPL語言

1963年,劍橋大學將AIGOL 60語言發展成為CPL (Combined Programming Language) , CPL在AIGOL 60的基礎上與硬件接近了一些,但規模仍然比較宏大,難於實現。

第3階段: BCPL語言

1967年,劍橋大學馬丁·理察斯(Martin Richards)對CPL進行了簡化,推出了BCPL (Basic CombinedProgramming Language) , BCPL是計算機軟件人員在開發系統軟件時作為記述語言使用的一種結構化程序設計語言,它能夠直接處理與機器本身數據類型相近的數據,具有與內存地址對應的指針處理方式。

第4階段: B語言

在20世紀70年代初期,時任美國貝爾實驗室的肯·湯普遜對BCPL進行了修改,設計出比較簡單而且很接近硬件的語言,取名為B語言。B語言還包括了湯普遜的一些個人偏好,比如在一些特定的程序中減少非空格字符的數量。和BCPL以及FORTH類似, B語言只有一種數據類型,計算機字。大部分的操作將其作為整數對待,例如,進行+、-、*、/操作,但進行其餘的操作時,則將其作為一個復引用的內存地址。在許多方面,B語言更像是一種早期版本的C語言,它還包括了一些庫函數,其作用類似於C語言中的標準輸入/輸出函數庫。

第5階段: C語言

由於B語言過於簡單,數據沒有類型,功能也有限,所以美國貝爾實驗室的丹尼斯·里奇在B語言的基礎上最終設計出了一種新的語言,取名為C語言,並試着以C語言編寫UNIX, 1972年,丹尼斯·里奇完成了C語言的設計,並成功地利用C語言編寫出了操作系統,從而降低了作業系統的修改難度。

1978年, C語言先後移植到大、中、小、微型計算機上,風靡世界,成為最廣泛的幾種計算機語言之一。

1983年,美國國家標準學會(ANSI)對C語言進行了標準化,當年頒佈了第一個C語言標準草案(83 ANSI C) , 1987年又頒佈了另一個C語言標準草案(87 ANSIC) 。 1994年, ISO修訂了C語言的標準。最新的C語言標準是在1999年頒佈的,並在2000年3月被ANSI採用的C99,正式名稱是ISO/IEC9899:1999。

0.2 C語言的特點

每一種話言都有自己的優缺點, C語言也不例外,所以才有了語言的更替,有了不同語言的使用範圍。下面列舉C語言的一些優點。

1.功能強大、適用範圍廣、可移植性好

許多著名的系統軟件都是由C語言編寫的,而且C語言可以像彙編語言一樣對位、位元組和地址進行操作,而這三者是計算機最基本的工作單元。

C語言適合於多種操作系統,如DOS, UNIX等。對於操作系統、系統使用程序以及需要對硬件進行操作的場合,使用C語言明顯優於其他解釋型高級語言,一些大型應用軟件也是用C語言編寫的。

2.運算符豐富

C語言的運算符包含的範圍廣泛,共有34種運算符。C語言把括號、賦值、強制類型轉換等都作為運算符處理,從而使C語言的運算類型極其豐富,表達式類型多樣化。靈活地使用各種運算符可以實現在其他高級語言中難以實現的運算。運算符的介紹見第4章中的相關內容。

3.數據結構豐富

C語言的數據類型有整型、實型、字符型、數組類型、指針類型、結構體類型、共用體類型等,能用來實現各種複雜的數據結構的運算。C語言還引入了指針的概念,從而使程序的效率更高。

4.C語言是結構化語言

結構化語言的顯著特點是代碼及數據的分隔化,即程序的各個部分除了必要的信息交流外彼此獨立。這種結構化方式可使程序層次清晰,便於使用、維護以及調試。C語言是以函數形式提供給用戶的,因此用戶可以方便地調用這些函數,並具有多種循環和條件語句來控制程序的流向,從而使程序完全結構化。

5.C語言可以進行底層開發

C語言允許直接訪問物理地址,可以直接對硬件進行操作,因此可以使用C語言來進行計算機軟件的底層開發。

6.其他特性

C語言對語法的限制不太嚴格,其語法比較靈活,允許程序編寫者有較大的自由度。另外,C語言生成目標代碼的質量高,程序執行效率高。

0.3 c語言無處不在

C語言應用範圍極為廣泛,不僅僅是在軟件開發上,各類科研項目也都要用到C語言。下面列舉了C語言一些常見的領域。

(1) 應用軟件。Linux操作系統中的應用軟件都是使用C語言編寫的,因此這樣的應用軟件安全性非常高。

(2)對性能要求嚴格的領域。一般對性能有嚴格要求的地方都是用C語言編寫的,比如網絡程序的底層和網絡服務器端的底層、地圖查詢等。

(3)系統軟件和圖形處理。C語言具有很強的繪圖能力和可移植性,並且具備很強的數據處理能力,可以用來編寫系統軟件、製作動畫、繪製二維圖形和三維圖形等。

(4)數字計算。相對於其他編程語言, C語言是數字計算能力很強的高級語言。

(5)嵌入式設備開發。手機、PDA等時尚消費類電子產品相信大家都不陌生,其內部的應用軟件、遊戲等很多都是採用C語言進行嵌入式開發的。

(6)遊戲軟件開發。對於遊戲大家更不陌生,很多人就是因為玩遊戲而熟悉了計算機。利用C語言可以開發很多遊戲,比如推箱子、貪吃蛇等。

0.4 C語言的學習經驗

CC語言是在國內外廣泛使用的一種計算機語言。其語言功能豐富、表達能力強、使用靈活方便,既具有高級語言的優點,又具有低級語言的許多特點,適合編寫系統軟件。很多新型的語言,如C++, Java, C#,J#, perl等都是衍生自C語言。掌握了C語言,可以說就掌握了很多門語言。

C語言是計算機的基礎,大多數軟件都需要用C語言來編寫,例如,我們在編寫一個較大的程序時,應該把它分成幾個小程序來看,這樣會容易得多。同時, C語言應該是操作和理論相結合的課程,兩者是不可分割的。

要了解C語言,就要從語法學起,首先要了解它的結構,比如變量,要了解變量的定義方式(格式) ,其意義是什麼(定義變量有什麼用) ;其次就是要怎麼去運用它(用什麼形式去應用它) 。這些都是語法基礎,也是C語言的基礎,如果把它們都了解了,那麼編起程序來就很得心應手了。比如, IF ELSE和SWITCHCASE這兩種條件語句都是用來判斷執行功能的,那要什麼時候用IF,什麼時候用SWITCH呢?如果能夠很好地了解它們的結構和作用,那麼就知道,若它的條件分文有多個,而且條件的值是整數或一個字符值,就會選SWITCH,因為如果條件分文太多時用IF語句,一定會出現IF的嵌套, IF的嵌套越多,程序的開銷就會隨着增大,這樣整個程序的運行效率就會大大降低。而sWITCH則不同,它只要比較一次,就可以找出條件的結果。不過SWITCH也有它的約束條件,就是它的條件值一定要為一個整型數或一個字符值,所以碰到它不能解決的問題時通常也會使用IF語句,畢竟I語句使用起來比較方便,而且使用範圍也比較廣。所以說了解語法規則是很重要的,如果沒有一個良好的語法基礎,很難編出一個好的程序。

學好語法基礎後我們就可以開始編程了。很多初學者在看完題目後不知從何入手,其實在編寫程序的時候,我們應該養成畫流程圖的好習慣。因為C語言的程序是以順序為主,一步步地從上往下執行的,而流程圖的思路也是從上到下一步步畫出來的。而且畫流程圖的過程也是你在構建編寫程序的思路的過程,流程圖畫好了,編程的思路也基本定了,然後根據思路來編寫程序即可。

除了要掌握上述基本的知識外,良好的編程習慣也是學好C語言的重要因素,例如,編寫程序時要有縮進,寫注釋,程序寫到一定的階段時要做模塊測試等。程序的維護是令程序員很頭疼的問題,如果一個複雜的程序在編完後才發現有錯誤,那麼找出錯誤的工作量將會非常大。但是若在編寫程序時做好格式的縮進和寫注釋,那麼程序看起來就很清晰了,如果在每個階段做模塊測試,確定之前的程序沒有錯誤,這樣錯誤機會也會減少很多。

設計程序的過程如同解決一個實際問題,你需要從多個角度來分析,首先要了解這個問題的基本要求,即輸入、輸出,以及完成從輸入到輸出的要求是什麼,其次,從問題的要害入手,從前往後解決問題的每個方面,即從輸入開始入手,着重考慮如何從輸入導出輸出,在這個過程中可確定所需的變量、數組、函數,然後確定處理過程——算法,最後得出結論。

學習一門編程語言之前,都要了解這門語言的精髓是什麼。對於C語言而言,指針的定義與運用是它的一大特色,也是其能夠得到廣泛應用的重要原因之一。例如,指針可以作為數組的地址使數組的處理變得簡潔也可以通過指針給函數傳遞變量的地址,從而實現調用函數後返回多個值;指針還支持動態內存分配,使處理數值、字符數組的方法更為簡單。本書對指針內容進行了更新,詳細講解了這方面的內容。

0.5 C言的學習路線

學習編程語言就是一個堅持看、敲、寫的過程。

(1)要學好C語言,首先要買一本好的入門書籍。本書把C語言所涉及的內容進行了詳細的講解,對於新手來說是個不錯的選擇。

(2)看書,大概了解內容的時候,一定要把程序敲出來自己運行一遍。編程工具推薦VC 6.0,其使用教程可以上網搜索。

(3)讀程序。登錄論壇或者百度文庫找一些用C語言編寫的程序的例子,試着去讀懂。

(4)自己改寫程序。通過前面的學習,應該已經掌握一些基本的編程技巧。一定要有自己的想法,然後讓自己的想法通過程序來實現。編程語言的學習過程就是堅持的過程,只要掌握了一種編程語言,再去學習其他的語言就很輕鬆了。

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/218817.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
投稿專員的頭像投稿專員
上一篇 2024-12-09 00:33
下一篇 2024-12-09 00:33

相關推薦

發表回復

登錄後才能評論