知識點概括
1、常量
(1)字面常量,直接寫出來的數字,例如3、100;
(2)const修飾的常變數,
const float pai = 3.14; //變數pai的值恒定為3.14,不可修改,為常變數
(3)#define修飾的識別符號常量,
#define MAXSIZE 10 //MAXSIZE的值為10,完全等同于字面常量
(4)列舉常量,能夠被一一列舉出來的常量值,如性別:男、女,三原色:紅、黃、藍,列舉關鍵字(enum),列舉常量代碼如下:
enum sex //性別的列舉常量
{
male, //男
female //女
};
enum color //三原色的列舉常量
{
red, //紅
yellow, //黃
blue //藍
};
enum sex s = male; //定義一個變數s,值為0
enum color c = yellow; //定義一個變數c,值為1
printf("%d\n", s); //0
printf("%d\n", c); //1
s = female; //變數s的值是可以改變的,c同理,但是列舉常量的值是不能改的,如我們不能把male改成5
printf("%d\n", s); //1
//列舉體內的值默認從0、1、2依次往下排列
注:因樓主此前從未使用過列舉常量,故此處描述可能有誤,待后續學習后修正,
2、字串,“ ”內容,字符陣列儲存字串時,“ ”賦值與{ }存在細微差異,代碼如下:
char arr_1[] = "abc"; //此時字串abc正確的放入陣列arr_1
char arr_2[] = { 'a','b','c' }; //此時字串已放入陣列arr_2,但輸出會亂碼
printf("%s\n", arr_1);
printf("%s\n", arr_2);

此時的輸出結果如圖所示,造成此現象的原因其實是arr_1的賦值程序中,編譯器自動加了了'\0‘表明字串的結束,而arr_2的賦值程序中沒有該程序,所以我們要手動加上'\0',

此時字串正常顯示,
3、ASCII碼

4、轉義字符,一個轉義字符的長度為1,不為2或其他值,

轉義字符幾個細節:
(1)\\反斜杠,當我們需要輸出列印的字串中包含’\‘時,直接列印會使編譯器將我們要列印的字串誤以為是轉義字符,故為實作我們的目的,應使用\\反斜杠,代碼如下:
printf("%s\n", "C:\test\test.c"); //我希望列印得到C:\test\test.c的字串
但得到的結果是:

結果與預期不符,原因是編譯器將字串中的\t認為是轉義字符,查表得知該字符為水平制表符,故得到的結果中出現了兩段縮進,此時我們修改代碼如下:
printf("%s\n", "C:\\test\\test.c"); //使用反斜杠字符
此時得到預期的結果:

(2)\ddd(八進制轉義字符)與\xhh(十六進制轉義字符),(合法的八進制與十六進制轉義字符的長度都為1)代碼如下:
printf("%d\n", strlen("\23")); //查看字串\23的長度,輸出結果為1,由此可知合法的八進制與十六進制轉義字符無論寫的多長,長度都為1
printf("%c\n", '\23'); //列印的是八進制數23(十進制數19)所對應的ASCII碼字符,即!!
5、C語言結構
(1)順序結構
(2)分支結構
(3)回圈結構
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/249810.html
標籤:區塊鏈
上一篇:神經網路論文Enhancing deep neural networks via multiple kernel learning
下一篇:2020年基金收益盤點
