學習C語言
在初學C語言時,可能會遇到有些問題理解不透,或者表達方式與以往數學學習中不同(如運算子等),這就要求不氣餒,不明白的地方多問多想,鼓足勇氣進行學習,待學完後面的章節知識,前面的問題也就迎刃而解了;
定義
C語言是一種電腦程式設計語言。它既具有進階語言的特點,又具有組合語言的特點。它可以作為系統設計語言,編寫工作系統應用程式,也可以作為應用程式設計語言,編寫不依賴電腦硬體的應用程式。因此,它的應用範圍廣泛。
C語言的優點
1. 簡潔緊湊、靈活方便2. 運算子豐富 3. 資料結構豐富4.
C是結構式語言 5. C文法限制不太嚴格,程式設計自由度大6. C語言允許直接存取物理地址,可以直接對硬體進行操作 7.
C語言程式產生代碼品質高,程式執行效率高 8. C語言適用範圍大,可移植性好
C語言的缺點
1. C語言的缺點主要是表現在資料的封裝性上,這一點使得C在資料的安全性上做的有很大缺陷,這也是C和C++的一大區別。
2. C語言的文法限制不太嚴格,對變數的類型約束不嚴格,影響程式的安全性,對數組下標越界不作檢查等。從應用的角度,C語言比其他進階語言較難掌握。
C來源程式的結構特點
1.一個C語言來源程式可以由一個或多個源檔案組成。
2.每個源檔案可由一個或多個函數組成。
3.一個來源程式不論由多少個檔案組成,都有一個且只能有一個main函數,即主函數。
4.來源程式中可以有預先處理命令(include 命令僅為其中的一種),預先處理命令通常應放在源檔案或來源程式的最前面。
5.每一個說明,每一個語句都必須以分號結尾。但預先處理命令,函數頭和花括弧“}”之後不能加分號。
6.標識符,關鍵字之間必須至少加一個空格以示間隔。若已有明顯的間隔符,也可不再加空格來間隔。
C語言的四種程式結構(1)順序結構
(2)
分支結構
(3)迴圈結構
(4)模組化程式結構
基礎資料型別 (Elementary Data Type)(5個)
void :聲明函數無傳回值或無參數,聲明無類型指標,顯式丟棄運算結果
char :字元型類型資料,屬於整型資料的一種
int :整型資料,通常為編譯器指定的機器字長
float :單精確度浮點型資料,屬於浮點數據的一種
double :雙精確度浮點型資料,屬於浮點數據的一種
類型修飾關鍵字(4個)
short :修飾int,短整型資料,可省略被修飾的int。
long :修飾int,長整形資料,可省略被修飾的int。
signed :修飾整型資料,有符號資料類型
unsigned :修飾整型資料,無符號資料類型
複雜類型關鍵字(5個)
struct :結構體聲明
union :共用體聲明
enum :枚舉聲明
typedef :宣告類型別名
sizeof :得到特定類型或特定類型變數的大小
儲存層級關鍵字(6個)
auto :指定為自動變數,由編譯器自動分配及釋放。通常在棧上分配
static :指定為靜態變數,分配在靜態變數區,修飾函數時,指定函數範圍為檔案內部
register :指定為寄存器變數,建議編譯器將變數儲存到寄存器中使用,也可以修飾函數形參,建議編譯器通過寄存器而不是堆棧傳遞參數
extern :指定對應變數為外部變數,即標示變數或者函數的定義在別的檔案中,提示編譯器遇到此變數和函數時在其他模組中尋找其定義。
const :與volatile合稱“cv特性”,指定變數不可被當前線程/進程改變(但有可能被系統或其他線程/進程改變)
volatile :與const合稱“cv特性”,指定變數的值有可能會被系統或其他進程/線程改變,強制編譯器每次從記憶體中取得該變數的值
流程式控制制關鍵字
跳轉結構(4個)
return :用在函數體中,返回特定值(或者是void值,即不傳回值)
continue :結束當前迴圈,開始下一輪迴圈
break :跳出當前迴圈或switch結構
goto :無條件跳躍陳述式
分支結構(5個)
if :條件陳述式
else :條件陳述式否定分支(與if連用)
switch :開關語句(多重分支語句)
case :開關語句中的分支標記
default :開關語句中的“其他”分治,可選。
迴圈結構(3個)
for :for迴圈結構,for(1;2;3)4;的執行順序為1->2->4->3->2...迴圈,其中2為迴圈條件
do :do迴圈結構,do 1 while(2); 的執行順序是 1->2->1...迴圈,2為迴圈條件
while :while迴圈結構,while(1) 2; 的執行順序是1->2->1...迴圈,1為迴圈條件
以上迴圈語句,當迴圈條件運算式為真則繼續迴圈,為假則跳出迴圈。