day04 資料型別與運算子

2021-10-18 01:39:53 字數 3445 閱讀 6054

c語言32個關鍵字

duto	break	case	char	const

continue default do double

else enum extern float for

goto if int long register

return short signed sizeof static

struct switch typedef unsigned union

void volatile while

九種控制語句

if()~else~

for()~

while()~

do~while()

continue

break

swich

goto

return

34種運算子

1、資料型別的定義

變數的定義:資料型別 變數名【識別符號】 

變數的賦值:變數名 = 值;

資料型別 變數名【識別符號】 = 值

2、標示符的命名規則:

1、字母、數字、下劃線

2、不能以數字開頭

3、見名知義

4、不能和同一函式內的其他標示符重複

5、不能使用c語言關鍵字

6、區分大小寫

3、常量的定義:

1、const 資料型別 常量名

2、【巨集定義】#deifne 常量名 值

注意:1、通過#define 定義的常量 是根據值來匹配資料型別的

2、const 修飾的常量是不安全 可以通過指標來修改

4、各資料型別佔的記憶體大小(32位作業系統下)

sizeof(

) //求出資料型別在記憶體中佔的大小(byte)

int value = sizeof(變數名)

int value = sizeof(資料型別)

int value = sizeof 資料型別

char【字元型】 1

short【短整型】 2

int【整型】 4

long【長整型】 4

float【單精度浮點型】 4

long long【長長整型】 8

double【雙精度浮點型】 8

1.十進位制轉二進位制

除二反序取餘法:將十進位制數每次除以2 取出餘數 按照結果倒敘依次獲取結果
2.進製在程式中列印:

int a=10;//十進位制中的10

int b=010;//八進位制中的10 在程式中定義乙個八進位制數需要在數前面加上0區分

int c=0x10;//十六進製制中的10在程式中定義乙個十六進製制數需要在數前面加上0x區分

int d=0x10;//十六進製制中的10在程式中定義乙個十六進製制數需要在數前面加上0x區分

注意:在程式中沒有辦法表示乙個二進位制數

%u 將資料按照無符號十進位制整數輸入或輸出

%d 將資料按照十進位制輸出

%o 將資料按照八進位制輸出

%x 將資料按照十六進製制小寫輸出

%x 將資料按照十六進製制大寫輸出

3.原碼、反碼、補碼

乙個有符號的整型資料可以分為兩部分:一部分是符號位、一部分是數字位

無符號資料型別只包含數字位部分

signed int a= 1986(有符號標識 signed可以不用寫)

二進位制:11111000010

1986原碼:0000 0000 0000 0000 0000 0111 1100 0010

-1986原碼:1000 0000 0000 0000 0000 0111 1100 0010

1986反碼: 0000 0000 0000 0000 0000 0111 1100 0010

-1986反碼:1111 1111 1111 1111 1111 1000 0011 1101

1986補碼: 0000 0000 0000 0000 0000 0111 1100 0010

-1986補碼:1111 1111 1111 1111 1111 1000 0011 1110

1986 - 1986:1 0000 0000 0000 0000 0000 0000 0000 0000

//溢位:在資料進行操作的時候會導致超出資料型別大小,會向前位進1,多於原始資料型別大小,會被系統自動捨棄 保留從後面開始資料型別大小的位數

//正數原碼反碼補碼相同

//負數原碼最高位變為1

//負數反碼,其原碼最高位不變,其餘位取反

//負數補碼是其反碼加1

練習:用生辰年份年去生辰日期

1992

-326

1、將10進製轉化為二進位制

1992 :0000 0000 0000 0000 0000 0111 1100 1000

-326 :0000 0000 0000 0000 0000 0001 0100 0110

2、加符號位將資料變為原碼

1992 :0000 0000 0000 0000 0000 0111 1100 1000

-326 :1000 0000 0000 0000 0000 0001 0100 0110

3、轉化為反碼

1992 :0000 0000 0000 0000 0000 0111 1100 1000

-326 :1111 1111 1111 1111 1111 1110 1011 1001

4、將反碼+1轉化為補碼

1992 :0000 0000 0000 0000 0000 0111 1100 1000

-326 :1111 1111 1111 1111 1111 1110 1011 1010

5、計算補碼

1992 :0000 0000 0000 0000 0000 0111 1100 1000

-326 :1111 1111 1111 1111 1111 1110 1011 1010

結果 : 1 0000 0000 0000 0000 0000 0110 1000 0010

6、將資料轉化為10進製

110 1000 0010

2+128+512+1024 = 1666

輸出字元的兩種方式:

1、printf(

"%c",變數|asc碼)

2、putchar(字元|變數|asc碼)

putchar(a)

輸入字元的兩種方式:

1、scanf(

"%c",&變數)

2、getchar(字元|變數|asc碼)

a = getchar(

)

Oracle學習筆記day04 資料型別

字元型別 型別引數 描述char 1 2000位元組 固定長度字串,長度不夠的用空格補充 varchar2 1 4000位元組 可變長度字串,與char型別相比,使用varchar2可以節省磁碟空間,但查詢 效率沒有char型別高 數值型別 型別引數描述 number m,n m 1 38 n 84...

資料型別與運算子

字下美人數 駱駝 有意義 字 字母a z a z 下 下劃線 美 美元符 人 人民幣符 數 數字0 9 要點 不能以數字開頭 變數名由 字下美人數 組成 駱駝 駝峰命名法 小寫字母開頭 例classname addressofschool 有意義 見名知義 基本資料型別 1 數值型 整數型別 byt...

資料型別與運算子

資料型別 型別轉換 算術運算子 賦值運算子 比較運算子 邏輯運算子 條件語句 資料型別 位元組範圍 byte 1b 8位 128 127 short 2b 16位 32768 32767 int4b 32位 2 31 2 31 1 long 8b 64位 2 63 2 63 1 floate 4b ...