天天看點

C語言總結_01

一些零碎的知識點:

  1. #include< > 引用的是編譯器的類庫路徑裡面的頭檔案。一般是引用自帶的一些頭檔案,如: stdio.h、conio.h、string.h、stdlib.h 等等。
  2. #include" " 引用的是你程式目錄的相對路徑中的頭檔案。一般是用來引用自己寫的一些頭檔案。如果使用 #include" " ,它是會先在你項目的目前目錄查找是否有對應頭檔案,如果沒有,它還是會在對應的引用目錄裡面查找對應的頭檔案。
  3. 當定義的全局變量和局部變量名字相同時,局部變量優先。如:
int	a=100;
int	main()
{
	int	a=10;
	printf(“%d\n”,a);
}//會輸出a=10
           
  1. 定義float類型的數:
float a=1.5f;
printf(“%f\n”,a);
           
  1. 高版本VS編輯器在第一行加上#define _CRT_SECURE_NO_WARNINGS
  2. 字元串:字元串的結束标志是一個轉義字元’\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. 轉義字元:
(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。

           
  1. 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. 整數在計算機中以補碼的形式存儲:正數的原碼、反碼、補碼相同,負數的原碼、反碼、補碼不同。原碼(除最高位)按位取反得到反碼,反碼最低位加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碼值,用不同類型的變量存儲所占記憶體大小不一樣。

繼續閱讀