在看完組成原理和彙編語言之後,感覺自己對程序的運行原理有了進一步的認識,對C語言的語法添加了一些個人的理解,希望能對初學者提供一些幫助
如果有問題,歡迎大家在評論交流。
由於這個月已經提交了離職申請, 空閒時間比較多,所以計劃把之前所學到的內容做一個梳理,也算是對這兩年多工作學習的總結。
說明:文章中很多內容屬於個人理解和個人建議,不屬於強制要求,請注意區分。
基本規定:
1、C程序從main函數開始執行,與main 函數位置無關,這使由編譯器進行處理的
2、C程序書寫格式自由,一行內可以寫幾個語句,一個語句也可以寫在多行上,但是,爲了提高程序的可讀性,應該養成良好的書寫習慣。
3、語句和數據聲明都必須以分號(;)結尾
4、一個C程序是由一個或多個源文件組成,一個源文件由一個或多個函數以及其他內容組成,程序編譯時,以源文件位單位。然後通過鏈接程序把所有源文件的內容鏈接在一起。
5、面向過程的語言理解起來應該以內存爲根本,其他的都只是現象,由編譯器解釋。
基本概念:
1、常量:本質上就是宏,由編譯器進行宏替換,直接用數據編譯在代碼中。在程序載入時,和代碼一起在代碼段中保存。代碼中通常用大寫字母表示
2、變量:對應一段內存空間,首地址+長度+編碼類型。
3、常變量:const,本質上它就是一個變量,但是編譯器所規定的語法中,不允許對其進行賦值操作。
4、數值表示方法:
123(十進制),0123(八進制)0x123(十六進制) 有符號數和無符號數(範圍不同)。123L 表示long 型,123U 表示unsigned int, 1.23f float 類型,轉義字符\n,\r,\b等
5、C規定字符串常量以\0結尾(\0,即內存單元填充0),可看成是一個字符數組。
6、語句:包括數據聲明和執行語句。
控制語句:if else 、for、while、 dowhile 、 continue 、 break、 switch 、 goto、 return
函數調用語句:函數調用加上分號
表達式語句:表達式 加 分號。
空語句:只有分號。
複合語句:用{} 括起來的語句塊。
補充內容:- 變量命名規則:
1、以字母或下劃線開頭,然後可以是字母、數字、下劃線組成
2、應見名之意採用駝峯命名法是比較好的方式(建議)
3、如果在後續使用中不需要特別注意其類型信息,那麼變量名中就不應該包含其類型信息(建議)
- 進制的概念:
1、二進制:滿二進一,只有1、0兩個符號
類似常用的有八進制、十進制、十六進制。
2、進制轉換:
二與八、十六之間。從右向左,每三個二進制位可以表示一個八進制位,每四個二進制位可以表示一個十六進制位。
十進制轉二進制:整數 - 除二取餘,小數:乘二取整。二進制轉十進制:按權重展開即可。
- 原碼、反碼、補碼、移碼:
1、原碼:最高位符號位(0正1負),其他位是數值位。
正數就是它所對應的二進制位,負數是它所對應的正數的二進制位的符號位爲1
2、反碼:
正數:和原碼相同
負數:原碼變反,1變爲0,0變爲1
3、補碼:
正數:和原碼相同
負數:反碼+1
4、移碼:
補碼的符號位變反,通常在表示浮點數階碼時使用。
以上內容僅作爲總結,詳細內容可以參考我的組成原理筆記。