C基礎01天 常量變數筆記

2022-02-06 12:23:52 字數 3816 閱讀 7940

程式編譯鏈結原理

預處理:.c -> .i

gcc -e hello.c -o hello.i

編譯:.i / .c -> .s

gcc -s hello.i -o hello.s

彙編:.s -> .o

gcc -c hello.s -o hello.o

gedit hello.c

小端儲存法——高位址存高位元組,低位址存低位元組(高存高,低存低)

(intel/arm)

0x表示十六進製制

數值:0x12 34 56 78在小端儲存器裡如何儲存

0x8003 0x12

0x8002 0x34

0x8001 0x56

0x8000 0x78

1 byte = 8bit

0x8003 0x78

0x8002 0x56

0x8001 0x34

0x8000 0x12

進製轉換

10進製: 0,1,2,3,4,5,6,7,8,9,10

2進製: 0,1

8進製: 0,1,2,3,4,5,6,7

16進製制:0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f

百 十 個

1 2 3

1x10^2 + 2x10^1 + 3x10^0

0 1 0

0x2^2 + 1x2^1 + 0x2^0 = 2

1100 1010

0+2+0+8+64+128=202

二進位制: 000 001 010 011 100 101 110 111 001000

十進位制: 0 1 2 3 4 5 6 7 8

八進位制: 0 1 2 3 4 5 6 7 10

二進位制: 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

十進位制: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

十六進製制: 0 1 2 3 4 5 6 7 8 9 a b c d e f

二進位制:1010 0001 1000

十六進製制:a 1 8

十六進製制:3d7

二進位制: 0011 1101 0111

八進位制:11

二進位制:001 001

37八進位制開頭:0

十六進製制開頭:0x

十進位制開頭:什麼都不跟

八進位制:0777

十六進製制:0xffff8000

5進製:23 = 3x5^0 + 2x5^1 = 13

8 4 2 1

2^3 2^2 2^1 2^0

1000 0100 0010 0001

十進位制:89 對應的二進位制 1011001

89 .... 1

44 .... 0

22 .... 0

11 .... 1

5 .... 1

2 .... 0

1 .... 1

1011001

1+0+0+8+16+0+64 = 89

49 ... 1

24 ... 0

12 ... 0

6 ... 0

3 ... 1

1 ... 1

0011 0001

0x31

0567

101 110 111

bit位

8bit = 1byte =》每個位元組擁有乙個位址

0x8003

0x8002

0x8001

0x8000

1 和 -1

原碼 反碼 補碼

1 0000 0001 0000 0001 0000 0001 正數的反碼,補碼都等於原碼

-1 1000 0001 1111 1110 1111 1111 負數的補碼等於把反碼加1

0 0000 0000 0000 0000 0000 0000

-0 1000 0000 1111 1111 0000 0000

如果(0 等於 -0)

執行aaaa;

否則執行bbbb;

97 =》 97 ... 1 => 0110 0001

48 ... 0

24 ... 0

12 .... 0

6 ... 0

3 ... 1

1 ... 1

原碼 反碼 補碼

-31 => => 31 => 31 ... 1 => 0001 1111 => 1001 1111 => 1110 0000 => 1110 0001

15 ... 1

7 ... 1

3 ... 1

1 ... 1

char b = 1; => (-128~127)

unsigned char a = 129; => (0~255)

s0000 0000

1000 0001

1111 1111

int

unsigned int -> (0~2^32-1)

char b = 'x';

int c = 10;

'x' => 120 => 0111 1000

10 => 1010..

.0x8003

0x8002

0x8001

&b => 0x8000 1byte 0111 1000 ..

.0x7003 0000 0000 => 0x00

0x7002 0000 0000 => 0x00

0x7001 0000 0000 => 0x00

&c => 0x7000 0000 1010 => 0x0a

printf("&c = %p\tc = %d", &c, c);

'x' => 120

'\a'

'"'345

"hello" => 'h' 'e' 'l' 'l' 'o' '\0'

'a' == "a"

"a" = "c";

"123" => 123

'1' '2' '3' '\0'

'1' - '0' = 1

1*10 + '2'-'0' = 12

12*10 + '3'-'0' = 123

int a = 5;

a % 3 => 2

a / 2 => 2

float a = 5.0

a % 3 => ???報錯

a / 2 => 2.5

1.列印基本資料型別sizeof大小

2.利用vs2013學會檢視記憶體, 檢視變數位址和位址裡的數值

Swift基礎 01常量 變數

定義變數 var i 10 print i i 15 print i let j 20 常量一經定義不能自改數值 j 25 print j 例項化檢視 let v uiview frame cgrectmake 0,0,100,100 設定背景顏色 v.backgroundcolor uicolor...

C (三)常量 變數

整數常量可以是十進位制 八進位制或十六進製制的常量。字首指定基數 0x 或 0x 表示十六進製制,0 表示八進位制,不帶字首則預設表示十進位制。整數常量也可以帶乙個字尾,字尾是 u 和 l 的組合,u 表示無符號整數 unsigned l 表示長整數 long 字尾可以是大寫,也可以是小寫,u 和 ...

C 複習(一)常量 變數

一 c 相關概念 c 是微軟公司發布的一種物件導向的 執行於.net framework之上的高階程式語言。c 創始人 安德斯 海爾斯伯格。二 c 關鍵字 被c 語言賦予了特殊含義的單詞。關鍵字中所有字母都為小寫。三 c 識別符號 在c 中可以自定義一些名稱,該名稱可以由數字 字母 下劃線 符號組成...