您當前的位置:首頁 > 攝影

C語言入門(1)——C語言概述

作者:由 樹懶說物聯 發表于 攝影時間:2022-03-14

C語言入門影片教程_9天精通Linux C語言 - 創客學院

1、程式與程式語言

我們使用計算機離不開程式。程式告訴計算機應該怎樣執行。

程式(Program)是一個精確說明怎樣進行計算的指令序列。

這裡的計算能夠是數學運算,比方透過一些數學公式求解,也能夠是符號運算。比方我們使用world編輯一個文件或是透過搜尋引擎檢索資訊。

計算機本質上是由數位電子電路組成的運算機器,全部的運算都僅僅能透過數字來表示和處理。透過將各種資料轉換為數字表示,能夠使計算機處理各種資訊。比方音樂、圖片、電影等。

程式由一系列指令組成的,指令就是指揮計算機做某種運算的命令。通常包括下面六類:

輸入類指令

:用於從鍵盤、檔案或者其他裝置獲取資料。

輸出類指令:

用於把資料顯示到螢幕。或者存入一個檔案。或者傳送到其他裝置,比方印表機。

基本運算類指令:

用於執行最主要的數學運算(加減乘除)和資料存取。事實上輸入和輸出也屬於資料存取。

測試和分支類指令:

用於推斷某個條件是否成立,然後依據不同的結果執行不同的興許指令。

迴圈類指令

:用於反覆執行一系列操作。

對於程式來說,有上面這幾類指令就足夠了。你曾用過的不論什麼一個程式,無論它有多麼複雜,都是由上面這幾類指令組成的。

編敲程式碼能夠說就是這樣一個過程:把複雜的任務分解成子任務,把子任務再分解成更簡單的任務,層層分解,直到最後簡單得能夠用以上指令來完畢。

在不同的程式語言中。指令具有不同的形式。通常“指令”這個詞專指機器語言或者組合語言等低階語言中的指令,而在C語言、C++、Java、Python等高階語言中通常稱為語句或表示式。

計算機語言通常分為低階語言和高階語言。計算機所能直接理解的指令是機器語言,它是由一串串由“0”和“1”組成的指令序列組成的。因為機器語言對於人來來說記憶困難,難以理解。人們對它進行了改進:用一些簡潔的英文字母、符號串來替代一個特定的指令的二進位制串,出現了組合語言。機器語言和組合語言都十分依賴於機器硬體。這兩種語言同屬低階語言

因為低階語言比較冗長、複雜、easy出錯。並且須要有很多其他的計算機專業知識。所以又出現了高階語言。高階不但將很多相關的機器指令合成為單條指令並且去掉了與詳細操作有關但與完畢工作無關的細節,比如使用堆疊、暫存器等,這樣就大大簡化了程式中的指令。

經常使用的高階語言非常豐富。如:C、C++、JAVA、C#、python等。

2、C語言簡單介紹

C語言是一種計算機程式設計語言,它既具有高階語言的特點。又具有組合語言的特點。它由美國貝爾實驗室的Dennis M。 Ritchie於1972年推出。之後C語言先後被移植到大、中、小及微型機上,它即能夠作為工作系統設計語言,編寫系統應用程式。也能夠作為應用程式設計語言,編寫不依賴計算機硬體的應用程式。它的應用範圍廣泛。具備非常強的資料處理能力,適於編寫系統軟體、三維、二維圖形和動畫,詳細應用比如微控制器以及嵌入式系統開發。

C語言是一種通用的、過程式的程式語言。廣泛用於系統與應用軟體的開發。具有高效、靈活、功能豐富、表達力強和較高的可移植性等特點,在程式猿中備受青睞。

近期25年是使用最為廣泛的程式語言。

在作業系統和系統使用程式以及須要對硬體進行操作的場合,用C語言明顯優於其他高階語言。

C語言的設計影響了很多後來的程式語言。比如C++、Objective-C、Java、C#等。

二十世紀八十年代。為了避免各開發廠商用的C語言語法產生差異,由美國國家標準局為C語言訂定了一套完整的國際標準語法,稱為ANSI C。作為C語言的標準。二十世紀八十年代至今的有關程式開發工具,一般都支援符合ANSI C的語法。C語言從誕生到如今先後有了三個標準:ANSI C / C89標準、C99標準和C11標準。

C語言的長處非常多。主要有下面幾點:

1、簡潔緊湊、靈活方便

C語言一共僅僅有32個keyword,9種控制語句。程式書寫形式自由,區分大寫和小寫。

把高階語言的基本結構和語句與低階語言的有用性結合起來。C 語言能夠像組合語言一樣對位、位元組和地址進行操作,而這三者是計算機最主要的工作單元。

2、運算子豐富

C語言的運算子包括的範圍非常廣泛。共同擁有34種運算子。C語言把括號、賦值、強制型別轉換等都作為運算子處理。

從而使C語言的運算型別極其豐富,表示式型別多樣化。

靈活使用各種運算子能夠實如今其他高階語言中難以實現的運算。

3、資料型別豐富

C語言的資料型別有:整型、實型、字元型、陣列型別、指標型別、結構體型別、共用體型別等。能用來實現各種複雜的資料結構的運算。並引入了指標概念,使程式效率更高。

4、表達方式靈活有用

C語言提供多種運算子和表示式值的方法,對問題的表達可透過多種途徑獲得。其程式設計更主動、靈活。它語法限制不太嚴格。程式設計自由度大,如對整型量與字元型資料及邏輯型資料能夠通用等。

5、同意直接訪問物理地址。對硬體進行操作

因為C語言同意直接訪問物理地址,能夠直接對硬體進行操作。因此它既具有高階語言的功能,又具有低階語言的很多功能,能夠像組合語言一樣對位(bit)、位元組和地址進行操作,而這三者是計算機最主要的工作單元,可用來寫系統軟體。[20]

6、生成目的碼質量高。程式執行效率高

C語言描寫敘述問題比組合語言迅速。工作量小、可讀性好,易於除錯、修改和移植,而程式碼質量與組合語言相當。

C語言一般僅僅比彙編程式生成的目的碼效率低10%~20%。[19]

7、可移植性好

C語言在不同機器上的C編譯程式,86%的程式碼是公共的,所以C語言的編譯程式便於移植。在一個環境上用C語言編寫的程式,不修改或稍加修改,就可移植到還有一個全然不同的環境中執行。[19]

8、表達力強

C語言有豐富的資料結構和運算子。

包括了各種資料結構,如整型、陣列型別、指標型別和聯合型別等。用來實現各種資料結構的運算。

C語言能直接訪問硬體的物理地址,能進行位(bit)操作。兼有高階語言和低階語言的很多長處。

它既可用來編寫系統軟體。又可用來開發應用軟體,已成為一種通用程式設計語言。

另外C語言具有強大的圖形功能,支援多種顯示器和驅動器。

且計算功能、邏輯推斷功能強大。

3、C語言怎樣生成程式

我們編寫好的C語言程式碼是不能直接執行的,須要一系列的步驟將其轉換成能夠在硬體上執行的程式(可執行程式碼)。

當中最重要的步驟是進行編譯和連結。

編譯就是把文字形式原始碼翻譯為機器語言形式的目標檔案的過程。編譯過程須要使用編譯器。連結是把目標檔案、作業系統的啟動程式碼和用到的庫檔案進行組織形成終於生成可執行程式碼的過程。連結過程須要使用連結器。

編譯和連結的流程例如以下:

4、C語言的編譯器

C語言的編譯器種類繁多,比較經常使用的有下面幾種。

1、GNU/GCC

這是由GNU組織開發的編譯器。最初用於Unix系統。

眼下GCC是Unix/Linux系統的必備編譯器。

官網:

http://

gcc。gnu。org/

2、VC編譯器

嚴格意義上說VC不算編譯器。應該是集成了編譯器的IDE,是Windows系統開發的首選。當前最新版是VC2013。

官網:

http://www。

visualstudio。com/

3、Intel C++ Compiler

Intel C++Compiler是美國 Intel 公司開發的 C/C++ 編譯器,適用於 Linux、Microsoft Windows 和 Mac OS X 作業系統。該編譯器的最新公佈是 Intel C++ Compiler 2013 版

官網:

http://

software。intel。com/en-u

s/articles/intel-compilers/

4、mingw32/cygwin/Djgpp編譯器

這三個都是GNU/GCC的分支。

C語言入門系列主要採用VC2013環境進行解說,並涉及GCC編譯環境。

標簽: C語言  指令  編譯器  語言  程式