C語言 資料型別

2022-07-16 16:00:17 字數 3617 閱讀 5678

1. c語言中識別符號是區分大小寫的。例如下面定義的兩個變數由於大小寫不同,因此是兩個獨立的變數:

int mingri;

int mingri;

2. 資料型別包括:基本型別、構造型別、指標型別以及空型別(即void)。

基本型別包括:整型、字元型、浮點型、列舉型別;

整型包括:短整型(short )、基本整型(int)、長整型(long);

浮點型包括:單精度型(float)、雙精度型(double)、長雙精度型(long double)

構造型別包括:陣列型別、結構體型別、共用體型別;

3. c語言的精華是指標!!!!!指標的值表示的是某個記憶體位址。

4. 整型可以是16位的也可以是32位的,這是根據編譯器不同決定的,在16位的計算機中整型就是16位,在字長為32位的計算機上整型就是32位的。

5. 長整型是32位的,其取值範圍依據是否是有符號的決定,無符號的取值範圍為0~4294967295,有符號的取值範圍為-2147483648~214748647。在編寫整型常量時,可以在常量的後面加上符號l或者u進行修飾。需要注意的是這個u或者l是不區分大小寫的,即也可以寫成u或l。l表示該常量是長整型,u表示該常量是無符號型整型。例如:

longnum = 1000l;            /*l表示長整型*/

unsignlongnum = 500u;    /*u表示無符號整型*/

6. 八進位制:在常數前加上0進行修飾,例如:

octalnumber = 0123;       /*在常數前面加上乙個0來代表八進位制*/

十六進製制:在常數前面使用0x作為字首,十六進製制包含數字0~9以及字母a~f。需要注意的是,其中字元可以是大寫的a~f也可以是小寫的a~f。例如:

hexnumber = 0x123;       /*加上字首0x表示常量為十六進製制數*/

十進位制數:不需要加任何字首。

7. 整型資料是以二進位制的方式存放在計算機記憶體中的,其數值以補碼方式表示,正數的補碼與其原碼的形式相同,負數的補碼是將該數的絕對值的二進位制形式按位取反再加1。

8. 浮點型也稱為實型,表示的方式有兩種:科學技術方式和指數方式。

科學技術方式:

scinum1 = 123.45;    /*科學技術法*/ 

scinum2 = 0.5458;    /*科學技術法*/ 

指數方式(上面兩個值等價於):

scinum1 = 1.2345e2;   /*指數方式*/

scinum2 = 5.458e-1; /*指數方式*/

需要說明的是:指數表示法中e也可以寫成e,這是不區分大小寫的。

實型類似於整型,在後面可以加l或者f來進行修飾,其中f表示該常量是float單精度型別,l表示為long double長雙精度型別。並且字尾也是不區分大小寫的。

如果後面不帶字尾,則預設狀態下,實型常量為double雙精度型別。

9. 字元型常量分為字元常量以及字串型常量兩種。分別需要使用定界符("以及「」)來進行限制。

需要注意的是:

字元常量中只包括乙個字元,不能是字串。

字元常量是區分大小寫的。 'a'和'a'是不一樣的兩個字元。

putchar()函式可以輸出單個字元到控制台上。例如:putchar(『a』)

printf()函式可以將乙個字串輸出到控制台上,例如:printf("hello world!")

字串中如果乙個字元都沒有(「」)則該字串的長度為0.

在c語言中儲存字串常量時,系統會在字串末尾自動加乙個『\0』作為字串的結束符。例如字串hello在記憶體中的形式為hello\0。在實際程式中編寫字串常量時,不必在乙個字串的結尾加'\0',                系統會自動給我們加的。

字元常量和字串常量還有乙個重要的不同是:字元常量的長度就是1,而字串的長度卻可以是0,同時如果字串常量中的字元個數只有1,那麼該字串的長度也並不是1,而是2,因為多了一                    個'\0'。  --------------------!!!!!!!!!!!!

10. 轉義字元:以反斜槓"\"開頭的字元,後面跟乙個或幾個字元。

轉義字元  

意義轉義字元

意義\n

回車換行

\\反斜槓"\"

\t橫向跳到下乙個製表位置

\'單引號

\v豎向跳格

\a鳴鈴

\b退格

\ddd

1~3位八進位制數所代表的字元

\r回車

\xhh

1~2位十六進製制數所代表的字元

\f走紙換頁

#define pai 3.14         /*定義符號變數*/

12. 整型變數(通常說到的整型,都是指有符號的基本型別int):

有符號基本整型:signed int型, signed可以進行省略  即寫為:int。佔據4個位元組的記憶體空間。例如:int inumber = 1;  

無符號基本整型:unsigned int型,int可以進行省略,即寫為:unsigned。佔據4個位元組的記憶體空間。例如:unsigned iusignednumber = 1;

有符號短整型:signed short int型,signed和int都可以省略,即寫為:short。佔據2個位元組的記憶體空間。例如:short ishortnum = 10;

無符號短整型:unsigned short int型,int可以省略,即寫為:unsigned short。佔據2個位元組的記憶體空間。例如:unsigned short ishortnum = 10;

有符號長整型:signed long int型,signed和int可以省略,即寫為:long。佔據4個位元組的記憶體空間。例如:long ilongnum = 10;

無符號長整型:unsigned long int型,int可以省略,即寫為:unsigned long。佔據4個位元組的記憶體空間。例如 unsigned long iunsignedlongnum = 10;

13. 單精度型別float,佔據4個位元組記憶體,例如: float ffloatstyle = 3.14f;

雙精度型別double(浮點型數預設的型別),佔據8個位元組記憶體,例如: double ddoublestyle = 5.321;

長雙進度型別long double,佔據8個位元組記憶體,例如:long double flongdouble = 46.257;

14. 字元型變數佔據1個記憶體空間,用char關鍵字定義。c語言允許字元型資料與整型資料之間通用,例如char cchar1 = 'a' 等價char cchar1 = 97;

15. 變數的儲存類別有四類:auto、static、register、extern。

static:靜態變數。!!!!需要注意的是:對於區域性變數來說,static變數是和auto變數相對而言的,儘管兩者的作用域都是僅限於宣告變數的函式中,但是在語句塊執行期間,static將始終保持他的值,並且初始化操作只在第一次執行時起作用。在隨後的執行過程中,變數將保持語句塊上一次執行時的值。!!!!!!!!看書中的例子p52~53進行對比。

register:暫存器變數。目的是使變數不存在記憶體中,而存在硬體暫存器中,從而提高程式執行速度。但是從程式可移植角度來說,用處不大。

extern:外部儲存變數。extern 宣告了程式中將要用到但是尚未定義的外部變數。通常,外部儲存類都用於宣告在另乙個原始檔中定義的變數。

C語言 資料型別

基本型別 整形 int 字元型 char 實型 浮點型 單精度 float 雙精度 double 構造型別 陣列型別,結構型別 struct 聯合型別 uion 列舉型別 enum 指標型別 空型別 無值型別 void。常量 在程式執行過程中,其值不能被改變的量稱為常量。變數 變數代表記憶體中具有特...

c語言資料型別

下面是我關於c語言中各種資料型別長度的總結 參考the c programming language 1.c語言中的整數型別有char,short,int,long等幾種,下面是c語言對每種資料型別長度的規定 a short和long型別的長度不相同 b int型別通常同具體機器的物理字長相同 c ...

C語言 資料型別

整形資料在記憶體中的存放形式 數值是以補碼表示的 1.正數的補碼和原始碼相同,2.負數的補碼 將該數的絕對值的二進位制形式按位取反再加1.例如 求 10 的補碼 10的原始碼 0000 0000 0000 1010 取反 1111 1111 1111 0101 再加1,得 10補碼 1111 111...