C語言可能不清楚的知識點(1) 常量與變數

2021-10-13 23:57:08 字數 1781 閱讀 7018

(1)實型常量:指數形式如何判斷是否正確:e/e前e/e後必有數,e/e後必為整數,而小數形式若小數點前後為0可以省略不寫如.15表示0.15,1.表示1.0,但是前後都為0時不可以直接用.代表0,會四捨五入。

(2)字元常量:

·普通字元:用單撇號括起來的乙個字元。字元常量只能是乙個字元,且儲存在計算機的儲存單元時以ascii碼(每乙個字元唯一對應的乙個整數)儲存。

·轉義字元:以』『為開頭的字串行。意思是將\後的字元轉換為另外的意義。當』'後為全數字且數字不超過三位時該轉義字元代表了乙個與該八進位製碼對應的字元。當』'後緊跟有乙個』x』時,其後的數字代表了乙個十六進製製碼對應的字元。

(4)符號常量:利用#define指令。

定義:乙個有名字的具有特定屬性的乙個儲存單元。

·變數必須先定義後使用。

·變數名字為識別符號,識別符號由字母,數字,下劃線組成。其中第乙個字元必須是字母或下劃線。

(1)整型變數

·以整數的補碼形式存放在儲存單元中。

·一位元組為8位符號數。

·只有整型(包括字元型)資料可以加signed/unsigned修飾符。

·整型變數相除忽略小數點後的數字。

(2)字元型變數

·字元以**(整數)形式儲存,所以可看為整型的一種,但並不相同。

·當整型按字元型處理時,若整型資料大小超出了字符集對應字元的多少時,字元型變數會擷取整型變數的低八位(相當於乙個位元組)進行轉換。所以這兩型別在一定的範圍內可以準確的相互轉換。

·字元型變數與其他型別變數運算時是其**參與運算。

(3)實型變數

·當低精度變數與高精度變數一起運算時,最終結果的型別為高精度變數的型別。

·float型別有效數字為6位,double為15位。

·賦值左右精度不同時,右型別會先變為左型別再賦值。

(4)指標型變數

·變數是乙個儲存單元,每個單元都有乙個位址。而此變數用來存放儲存單元的位址。

·定義時每個變數前都必須要有星號(*)此時型號作為指標宣告符,該指標變數指向的的變數型別為定義的型別名。

·使用時星號作為運算子。p為的值為位址,*p為位址上的值。

(5)陣列型別

·陣列第乙個元素下標為0。

`多維陣列第一維可省略不寫,其他不可以。

·中得是常量表示式。

(6)結構體型別

·定義結構體後要有分號。

·不可巢狀定義相同結構體,但可定義同型別的指標。

(1)定義時若連續定義

int a=b=c=10;

//這樣等於只定義了a乙個變數

int a,b,c;a=b=c=

10;則三個變數均賦值為10

(2)賦值運算時若連續賦值要留意每一次賦值後變數的值為新值。

int a=2;

a+=a*

=a;//結果為8 先2*2=4後4+4=8

(3)++,–不能用於常量(如5)或表示式(如(a+b))之中。

(4)c合法整數:十進位制,八進位制,十六進製制。

(5)逗號表示式若有括號括住,則整個表示式的值為最後算出來的值,前面其他算出來的值會被拋棄,逗號為第十五優先順序比=(十四)還低。沒有括號時如a=2,3,4;最終a=2。

(6)switch語句留意每個case後面是否需要break,case語句可以巢狀使用。

(7)左值(賦值運算子左邊)必須為可改變的變數,不能是常量和表示式。

(8)邏輯運算子有短路特性,當前面的判斷足以判斷整個表示式時,後面的判斷不會執行。

C語言可能不清楚的知識點(3) 陣列

陣列名不能和變數名相同。下標裡面必須是乙個常量表示式且為整型。陣列a第乙個元素為a 0 不能一次整體呼叫整個陣列全部元素的值。陣列為二維或多維時第一維下標可為空。陣列未初始化時元素的值為隨機值。部分賦值時,未賦值的元素自動賦值為0。int a 合法,只有這時初始化時可以整體賦值 int a 不合法c...

C語言可能不清楚的知識點(2) 指標

指標是一類變數,與其他變數不同的是它存放的值是位址。int a 表示a是乙個指向int型別資料的指標,在定義時 作為型別說明符說明他是乙個指標型別的變數。在使用a時要注意a的值是乙個位址,而 a的值是乙個int型別資料位址上的值,此時星號是乙個指標運算子,用來引用乙個int型別資料位址上的值。這時候...

記錄那些我不清楚的知識點(HTML)

div class link a href target iframehtml a div iframe name iframehtml width 80 height 600px iframe 1 通過 iframe 內聯框架 實現點選左側 超級鏈結,將鏈結內容顯示在右側的 iframe 內聯框架...