C語言學習 一 32個關鍵字及資料型別

2021-10-04 04:07:59 字數 3463 閱讀 2808

(

1) 資料型別關鍵字 (

12個)

.char

,short

,int

,long

,float

,double

unsigned

,signed

,struct

,union

,enum

,void(2

) 控制語句關鍵字 (

12個)if,

else

,switch

,case

,default

,for,do

,while

,break

,continue

,goto

,return,(

3) 儲存類關鍵字 (

5個)auto

,extern

,register

,static

,const(4

) 其它關鍵字 (

3個)sizeof

,typedef

,volatile

1

) 資料型別的作用 :

告訴編譯器,定義這麼乙個型別的變數需要分配多大的空間 2

) 分類 :(1

) 基本資料型別

① 整型 :

short

,int

,long

② 字元型 :

char

③ 實型 (浮點型)

:float

,double(2

) 構造型別

① 陣列型別

② 結構型別 :

struct

③ 聯合型別 :

union

④ 列舉型別 :

enum(3

) 指標型別

char*,

int*

,int

**等

1

) 常量 (1

) 概念

① 在程式執行過程中,不能被改變的量

② 常量一般在表示式和賦值語句中

③ 分為 :

整型常量,實型常量,字元型常量,字串常量

(2) 巨集定義 define

#define max 10;

//巨集定義定義了乙個常量識別符號max,預處理階段,**中的max全部換成10(3

)const修飾的變數

const

int a =10;

//const修飾後,,a變為唯讀,,可以視作常量(並不等價)

2) 變數 (1

) 概念

① 在程式執行過程中,其值可以改變

② 變數在使用時 ,必須通過資料型別來定義

③ 命名是有規則的並且同乙個內不能重複定義 (

2)初始化與賦值

① 變數的初始化 :

int a =1;

② 變數的賦值 :

int a;

a =1;

(3) 變數的特點

① 變數在編譯時為其分配相應的記憶體空間

② 可以通過其名字和位址訪問響應的記憶體

3) 宣告和定義的區別 (1

)宣告變數不需要建立儲存空間,如 extern

int a;

,,所以不能對a賦值 (2

) 定義變數需要建立儲存空間

(1)

sizeof 不是函式, 所以不需要包含任何標頭檔案, 他的功能是計算乙個資料型別的大小,單位為位元組(2

)sizeof 的返回值為 size_t(3

) size_t型別在32位作業系統下是 unsigned

int,

(

1) 分類

型別 占用空間

short

2位元組 int

4位元組 long windows為4位元組,linux4位元組(

32位)

,8位元組(

64位)

long

long

8位元組(2)

int型別的輸出

列印格式 含義

%d 輸出乙個有符號的十進位制int型別 (

%hd:短整型,

,%lld,為long

long

)%u 輸出乙個十進位制的無符號數

%o 輸出乙個八進位制的int型別

%x 輸出乙個十六進製制的int型,以小寫字母輸出

%x 輸出乙個十六進製制的int型,以大寫字母輸出

(

1) 字元型別本質上是1個位元組大小的整型

① 記憶體中沒有字元,

,只有數字

② 乙個數字對應乙個字元,這種規則就是ascll

③ 用字元和數字給字元變數賦值是等價的(2

) 輸出 %c(3

) 轉義字元

① 原則上,

''內只能有乙個字元,轉義字元除外

② 轉義字元 含義

\n 換行(lf)

,將當前位置移到下一行開頭

\r 回車(cr)

,將當前位置移到本行開頭

\t 水平製表(ht)

,跳到下乙個tab位置

\v 垂直製表(vt)

(

1) 分類

資料型別 占用空間 有效數字範圍

float

4位元組 7位

double

8位元組 15

~16位(2

) 注意

① 由於浮點型變數是由有限的儲存單元組成的,因此只能儲存有限的有效數字,

,將會產生一些誤差

② 不以f結尾的常量預設是double

限定符		含義

extern 宣告乙個變數, 宣告的變數不建立儲存空間

const 設定乙個變數為唯讀

volatile 防止編譯器優化** (多用於硬體如a=

1;a=

2;a=

3;編譯器優化後值執行a=3;

)register ① 定義暫存器,提高效率,

② register是建議型的指令,而不是命令型指令

③ 如果cpu有空閒暫存器,

register就生效,否則無效

(

1) 隱式(自動)轉換

編譯器內容自動轉換,如 double a;

int b; b=a (

2) 強制轉換

① 定義

(型別) 需要轉換的變數名

注意列印時,要強制轉換,編譯器不一定自動轉換

(3) 轉換原則

① 資料型別小的轉換成大的,

,短的前補符號位(無符號補0

) ② 資料型別大的轉換成小的,

,擷取低位

C語言32個關鍵字

關鍵字就是已被c語言本身使用,不能作其它用途使用的字。例如關鍵字不能用作變數名 函式名等 由ansi標準定義的c語言關鍵字共32個 auto double int struct break else long switch case enum register typedef char extern...

C語言32個關鍵字

c語言32個關鍵字 void 宣告函式無返回值或無引數,宣告無型別指標,顯式丟棄運算結果。a基本資料類 char 字元型型別資料,屬於整型資料的一種。型 5個 int整型資料,通常為編譯器指定的機器字長。float 單精度浮點型資料,屬於浮點資料的一種,小數點後儲存6位。double 雙精度浮點型資...

C語言32個關鍵字

常見關鍵字 int宣告整型變數 double 宣告雙精度變數 long 宣告長整型變數 char 宣告字元型變數 float 宣告浮點型變數 short 宣告短整型變數 signed 宣告有符號型別變數 unsigned 宣告無符號型別變數 struct 宣告結構體變數 union 宣告聯合資料型別...