二 C base 資料型別 運算子

2021-08-03 13:02:55 字數 4381 閱讀 3240

資料型別

1--- 定義變數

資料型別 變數名 = 初始值;

資料型別 變數名;

變數名:由數字、字母、下劃線組成,開頭不能是數字

2--- bool

#include bool a = 123;

printf(「a = %d\n」,a);

3--- char

char a = 'a'; //佔1個位元組,8位

printf(「a = %c\n」,a); --> a

printf(「a = %d\n」,a); --> 65

signed char :-128~127

unsigned char :0~255

4--- int

int 佔4位元組,32位

signed int :-2147483648 ~ 2147483647

unsigned int :0~ 4294967295

short 佔2位元組,16位

signed short :-32768 ~ 32767

unsigned short :0 ~ 65535

long 佔4位元組

5--- float

float 佔4位元組

double 佔8位元組

資料的儲存

正數:unsigned  char a = 12    

0000 1100 原始碼、反碼、補碼相同

負數:signed char a = -12

1000 1100 原始碼(最高位是符號位)

1111 0011 反碼(符號位不變,其它位取反)

1111 0100 補碼(反碼+1)

unsigned char b = -1; signed char c = 129;

儲存(看數值): 儲存(看數值):

原始碼: 1000 0001 --> -1 原始碼: 1000 0001 --> 129

反碼: 1111 1110

補碼: 1111 1111 讀取(signed):

讀取(unsigned): 補碼: 1000 0001

反碼: 1000 000

補碼: 1111 1111 --> 255 原始碼: 1111 1111 --> -127

全域性變數和區域性變數

全域性變數,不初始化時為0。   

區域性變數,不初始化時為隨機值。

全域性變數和區域性變數名字相重時預設使用區域性的變數。

常量

唯讀的資料。

字元常量 :『a』 『*』 『!』 『\n』

整數常量 : 12 012 0x12

浮點型常量: 12.34

指數常量 : 1.2e-3

字串常量: "world" //以『\0』作為結束標誌

"world" // w o r l d \0

『w』 //乙個字元

"w" //字串: 'w' + '\0'

運算子

1--- 算術運算子

+ - * / %(參與運算的只能是整數)

++ 自增運算子;++在變數名的後面:則先參與其他所有運算,再執行自增

-- 自建運算子;--在變數名的後面:則先參與其他所有運算,再執行自減

2--- 關係運算子

運算結果只有兩種情況:真1 假0

< <= > >= == !=

3--- 邏輯運算

運算結果只有兩種情況:真1 假0

&& :一假則假

|| :一真則真

! :真變假,假變真

短路原則:當乙個表示式可以決定整個運算的結果,其它運算不執行

4--- 位運算

~ :位運算取反

^ :異或,相同為0,不同為1

& :位與

| :位或

a>>n : a / 2^n;

a<>=

6--- 條件運算子

《表示式1> ? 《表示式2> : 《表示式3>

先判斷表示式1,為真執行表示式2, 為假執行表示式3

運算優先順序

()

++ --

* / %

+ -

<< >>

關係運算

位運算子(& ^ |)

邏輯運算

賦值運算,復合運算子

1、1_bool.c

#include 

#include

//資料型別 變數名 = 初始值;

int main(int argc, const

char *argv)

2、2_char.c

#include 

//資料型別 變數名 = 初始值;

int main(int argc, const

char *argv)

3、3_int.c

#include 

int main(int argc, const

char *argv)

4、4_float.c

#include 

int c; //全域性變數,不初始化時為0

int main(int argc, const

char *argv)

5、5_count.c

#include 

#define n 30 //巨集定義:給乙個常量命名

int main(int argc, const char *argv)

6、6_expr+.c

#include 

// + - * / %

int main(int argc, const

char *argv)

7、7_expr++.c

#include 

//自增運算子 ++

//自減運算子 --

int main(int argc, const

char *argv)

8、8_expr_relation.c

#include 

//關係運算的結果只有兩個值: 真1 假0

//< <= > >= == !=

int main(int argc, const

char *argv)

else

return

0;}

9、9_expr_logic.c

#include 

//邏輯運算的運算結果只有兩個值: 真1 假0

//&& || !

int main(int argc, const

char *argv)

else

return

0;}

10、5_bit.c

#include 

//位運算

// & | ^ ~

int main(int argc, const

char *argv)

11、11_expr=.c

#include 

int main(int argc, const

char *argv)

12、12_expr.c

#include 

//sizeof():用於求乙個資料開闢空間的大小

//sizeof(型別名); sizeof(變數)

int main(int argc, const

char *argv)

資料型別和運算子(二)

運算子分類 二元運算子指的是需要兩個運算元才能完成運算的運算子。二元運算子的運算規則 整數運算 如果兩個運算元有乙個為long,則結果也為long。沒有long時,結果為int。即使運算元全為short,byte,結果也是int。浮點運算 如果兩個運算元有乙個為double,則結果為double。只...

資料型別 運算子

一.資料型別 1.整數型別 2.浮點數 定點數 m為精度 資料總長度 d為標度 小數點後長度 單精度 佔4個位元組,有效數字是7位 雙精度 佔8個位元組,有效數字是16位 在一定情況下,浮點數能表示更大的儲存範圍,但容易產生誤差。因而對精度要求較高時,選擇定點數。定點數以字串儲存。3.日期 時間 4...

資料型別。運算子

一.變數不能重複宣告 int a 10 int a 100 錯誤 二.8種資料型別 1.整形 byte short int long byte 的取值範圍 128 127 2的7次方到2的7次方 1 short 的取值範圍 32768 32767 2的15次方到2的15次方 1 int 的取值範圍 ...