c語言前言
因為計算機只能識別「0
」和「1
」,因此想要計算機執行編寫的程式,必須要通過編譯和鏈結這兩個步驟,簡單說下編譯和鏈結。
編譯:把c
語言**翻譯成「
0」和「1」。
工具:clang
編譯器等
指令:cc -c
檔名.c
編譯成功,會生成乙個.o
目標檔案
目標檔案跟系統自帶的函式庫合併在一起,生成乙個可執行檔案
指令:cc
檔名.o
因此,乙個程式要想執行,一般要四個步驟:
1、編寫程式
2、編譯
3、鏈結
4、執行
如下圖所示:
cc 檔名
.c還有一點,編譯只會檢測語法是否正確,並不會檢測有沒有mian
函式,鏈結會檢測有沒有
main
函式。也就是說乙個函式如果沒有
main
函式,在編譯的過程中不會報錯,在鏈結過程中才會報錯。
下面在說一下c
語言的基礎知識
一、關鍵字
1、關鍵字就是c語言提供的有特殊含義的符號,也叫做「保留字
」2、c語言一共提供了32個關鍵字,這些關鍵字都被c語言賦予了特殊含義
3、關鍵字的特徵
1> 全部都是小寫
2> 在開發工具或者智慧型文字編輯工具中會顯示特殊顏色。
二、識別符號
識別符號就是在程式中自定義的一些符號和名稱。要跟關鍵字區分開來:關鍵字是c語言預設提供的符號,識別符號是程式設計師自定義的。
1.識別符號的作用
1>識別符號,從字面上理解就是用來標識某些東西的符號,標識的目的就是為了將這些東西區分開來
2>其實,識別符號的作用就跟人類的名字差不多,為了區分每個人,就在每個人出生的時候起了個名字
3>c語言是由函式構成的,乙個c程式中可能會有多個函式,為了區分這些函式,就給每乙個函式都起了個名稱。函式的名稱就是識別符號的一種。除了函式,以後還會學到「變數」這個概念,變數的名稱也是識別符號。
2.命名規則
1>只能由26
個英文本母的大小寫、10
個阿拉伯數字
0~9、下劃線
_組成
2>嚴格區分大小寫,比如test
和test是2
個不同的識別符號
3>不能以數字開頭不可以使用關鍵字作為識別符號
3.常見的識別符號錯誤
合法識別符號
非法識別符號 注釋
fromno12
from#12
識別符號中不能使用#符號
my_boolean
my-boolean
識別符號中不能使用「-」符號,應使用下劃線「_」代替
obj2
2ndobj
識別符號不能使用數字開頭
myint
int「int」是內建關鍵字
jack_rose
jack&rose
符號「&」不能出現在識別符號中
guig.u.i
識別符號內部需要出現「.」分隔符
三、注釋
1.注釋是在所有計算機語言中都非常重要的乙個概念,從字面上看,就是註解、解釋的意思
1>注釋可以用來解釋某一段程式或者某一行**是什麼意思,方便程式設計師之間的交流。假如我寫完一行**後,加上相應的注釋,那麼別人看到這個注釋就知道我的這行**是做什麼用的
2>注釋可以是任何文字,也就是說可以寫中文
3>在開發工具中注釋一般是豆沙綠色
2.注釋的作用
1> 被注釋的**不會參與編譯
2>注釋是寫給人看的,不是給計算機看的。計算機怎麼可能看得我們寫的中文嘛。因此,當編譯程式的時候,並不會將注釋編譯到.o
目標檔案中
3>從.o
檔案的大小可以間接看出注釋後的**並沒有被編譯
4>檢查**的作用
5>排除錯誤
學習筆記 前言
我很少會寫學習筆記,因為我不太擅長將自己掌握的東西轉換為文字展示給別人來看,但是我卻不能說自己不會講,因為我確實很能說。這自然是我的文字表述能力不足的所造成的問題了。不足的地方自然是我需要補足的地方,所以,我現在嘗試開始學習寫一些筆記。當我把學習當成工具的時候,金錢就成了唯一的目的,慾望也就開始不斷...
zephyr學習筆記 前言
一直在找適合用於教學嵌入式作業系統。在我心目中,適合用於教學的作業系統應具備如下特點 contiki是非實時作業系統,實時作業系統中的那些機制它幾乎都沒有,用於教學的確是不合適。當初學contiki主要原因是它實現了6lowpan,也是在為將來學華為liteos作準備。之後學ti rtos也是因為大...
Vim學習筆記 前言
1.1 編輯器的三個層次 1.eait notepad gedit,壟斷著你的大腦,並且已經根深蒂固,揮之不去,那麼vim的使用不是提高你的工作效率,而是降低,一場噩夢。2.editplus notepadt uitraedit,是vindows上目前比較流行的3種文字編輯器,都支援多種程式語言,並...