引言
C語言許多年來一直是編程語言中排名前二的語言,學好C語言無疑可以大大的擴展大家的就業空間。這一章節我們就來學習和研究一下C編程語言。
C語言概況
【通用化】
C是一種通用的、程序化的計算機編程語言,支持結構化編程、變量範圍限定和遞歸操作,而它的靜態類型系統可以防止很多意外的錯誤操作。
【支持機器指令】
C語言提供了能有效地使用機器指令的機制,並在以前用彙編語言編碼的應用中得到了持久的推廣。這些應用包括操作系統和各種計算機的應用軟件,從超級計算機到PLC和嵌入式系統。
【起源】
C語言最初是由Dennis Ritchie在1972年至1973年在貝爾實驗室開發的,用於開發運行在Unix上的工具程序。
【重寫UNIX內核】
後來,它被用於Unix操作系統的內核的重寫。
【最廣泛使用的編程語言之一】
在20世紀80年代,C語言逐漸普及。目前已經成爲應用最廣泛的編程語言之一。
不同廠商的C語言編譯器已經可以用於大多數現有的計算機體系結構和操作系統。
C語言從1989年起就被美國國家標準學會(ANSI)和國際標準化組織(InternationalOrganization for Standardization)標準化。
【命令式過程】
C語言是一種命令式過程語言。
C語言的編譯器相對簡單,在最小化的運行時環境的支持下,提供對內存和語言結構的低級訪問,這些低級訪問可以有效地調用機器指令。
【跨平臺編程】
儘管它具有低級的功能,但C語言的設計是爲了跨平臺編程。
一個符合標準的C語言程序應該在編寫時考慮到了可移植性,只需對其源代碼進行少量的修改,就可以在各種計算機平臺和操作系統上進行編譯。
從嵌入式微控制器到超級計算機, C語言可用於各種平臺。
【函數】
在C語言中,所有可執行的代碼都包含在子程序中,也被稱爲"函數",雖然嚴格意義上來說並不是功能編程。
函數的參數總是通過值傳遞。
在C語言中,通過顯式傳遞指針值來模擬引用傳遞。
【自由格式】
C語言的程序源代碼是自由格式的,用分號作爲語句的終結符,用大括號將語句塊分組。
【操作符】
C語言支持豐富的操作符集,這些操作符是在表達式中使用的符號,用於指定在評估該表達式時要執行的操作。C語言中的運算符有:
· 算術運算符。+, -, *, /,%
· 賦值: =
· 增強的賦值:+=, -=, *=,/=, %=, &=, |=, ^=, <<=, >>=
· 位邏輯:~, &, |, ^
· 移位:<<,>>
· 布爾邏輯: !, &&,||
· 條件評價: ?
· 相同測試: ==, !=
· 調用函數: ( )
· 增量和減量: ++, --
· 成員選擇: ., ->
· 對象大小:sizeof
· 順序關係:<, <=,>, >=
· 引用和取值: &, *, []
· 順序:,
· 子表達式分組:( )
· 類型轉換:(類型名)
【Hello World例子】
K&R第一版中出現的"hello,World "的例子,已經成爲大多數編程教科書中的入門程序的範本。該程序將"hello,World"打印到標準輸出。
最初的版本是:
main()
{
printf("hello, world\n");
}
一個符合標準的Hello World程序:
#include <stdio.h>
int main(void)
{
printf("hello, world\n");
}
【數據類型】
C語言的類型系統是靜態的、弱類型化的,這點上與ALGOL後裔如Pascal等的類型系統類似。
對於整數類型:
· 有符號和無符號的整數。
· 浮點數。
· 枚舉類型(enum)類型。
· 整數類型char常用於單字節字符。
· C99增加了一個布爾數據類型。
還有派生類型包括數組、指針、記錄(struct)和聯合(union)。
【指針】
C語言支持使用指針,指針是一種記錄對象或函數在內存中的地址或位置的引用類型。
1. 指針可以用來訪問存儲在所指向的地址上的數據,或者調用指向的函數。
2. 指針可以使用賦值或指針運算來操作。
3. 指針通常是一個原始的內存地址,但是由於指針的類型包括了被指向的事物的類型,所以在編譯時可以對使用指針在的表達式進行類型檢查。
4. 指針算術會根據指向的數據類型的大小自動調整。
5. 通常使用指針將字符串當成字符數組操作。
等等......
路還挺長的,一步一步走完,是你現在最應該做的!
對於熱愛編程的人來說,有一羣一起學習一起解答的小夥伴很重要!
小編有一個免費的C/C++編程學習交流俱樂部,【點擊進入】!
還有編程學習文件(源碼,零基礎教程,項目實戰教學視頻),歡迎初學者和正在進階中的小夥伴們!