一些零碎的知識點:
- #include< > 引用的是編譯器的類庫路徑裡面的頭檔案。一般是引用自帶的一些頭檔案,如: stdio.h、conio.h、string.h、stdlib.h 等等。
- #include" " 引用的是你程式目錄的相對路徑中的頭檔案。一般是用來引用自己寫的一些頭檔案。如果使用 #include" " ,它是會先在你項目的目前目錄查找是否有對應頭檔案,如果沒有,它還是會在對應的引用目錄裡面查找對應的頭檔案。
- 當定義的全局變量和局部變量名字相同時,局部變量優先。如:
int a=100;
int main()
{
int a=10;
printf(“%d\n”,a);
}//會輸出a=10
- 定義float類型的數:
float a=1.5f;
printf(“%f\n”,a);
- 高版本VS編輯器在第一行加上#define _CRT_SECURE_NO_WARNINGS
- 字元串:字元串的結束标志是一個轉義字元’\0’,在用strlen()計算字元串的長度時遇到’\0’就停止(長度不算’\0’),在用printf()列印時遇到’\0’就不再繼續列印。
char arr[]=”abc”; //’a’,’b’,’c’,’\0’
char arr1[]={‘a’,’b’,’c’,’\0’}; //和上面的形式等價
char arr2[]={‘a’,’b’,’c’}; //長度為随機值
sizeof(arr1); //值為4*1 byte
sizeof(arr2); //值為3*1
strlen(arr1); //值為3*1
strlen(arr2); //值為一個随機數
//sizeof() 是一個判斷資料類型或者表達式長度的運算符
//strlen()是一個庫函數
- 轉義字元:
(1)/ddd ddd表示1~3個八進制數,/xdd dd表示2個十六進制數。
printf(“%c”,’\32’); // /32是兩個八進制數。以%c的格式輸出,這裡意思是列印32這個八進制數所對應的十進制數26所對應的ASCII碼值,即為’→’。
(2)printf(“%s\n”,strlen(“c:\test\32\test.c”)); //總長度為13,三段下劃線所标字元長度均為1。
(3)printf(“%c\n”,’\’’); //列印一個單引号
(4)printf(“%s\n”,”\””); //列印一個字元串,字元串的内容為一個”
(5)'0'和0和'\0'和NULL的差別:
a.字元'0':char c = '0';它的ASCII碼實際上是48。
b.字元'\0' :ASCII碼為0,表示一個字元串結束的标志。這是轉義字元。
c.整數0 :ASCII碼為0,字元表示為空字元NULL;數值表示為0。
- sizeof()用于計算變量或類型所占記憶體空間大小(機關是byte),參數可以是變量名也可以是變量類型。
(1)int a=0;
sizeof(a); //合法 sizeof a; //合法
sizeof (int); //合法 sizeof int; //非法
(2)sizeof()計算數組大小
int arr[10]={0};
sizeof(int [10]); //計算數組類型,大小為40
sizeof(int [5]); //大小為20
(3)short a=0; int b=10;
printf(“%d\n”,sizeof(a=b+5)); //指派過後a仍然為short類型,sizeof(a=b+5)大小為2,列印2
printf(“%d\n”,a); //在sizeof()中s的值不會發生變化,仍然是0,是以列印0
- 整數在計算機中以補碼的形式存儲:正數的原碼、反碼、補碼相同,負數的原碼、反碼、補碼不同。原碼(除最高位)按位取反得到反碼,反碼最低位加1得到補碼。 如果指派時賦的是16進制數(0x),則該數已經為此變量的補碼。
C語言總結_01 10. 各種類型變量所占記憶體大小:
(1)char——1 byte
(2)short——2 byte
(3)int——4 byte
(4)long——4/8 byte
(5)long long——8 byte
(6)float——4 byte
(7)double——8 byte
變量存儲的是字元的ASCII碼值,用不同類型的變量存儲所占記憶體大小不一樣。