C語言筆記 1

2021-07-24 22:00:08 字數 1337 閱讀 3413

字與位元組

不同系統的字的定義可能不一樣,位元組長度與編譯器有關

bit 位

位元組 = 8bit

字    = 4位元組 = 32bit

半字 = 2位元組 = 16bit

int       4位元組

char    1位元組

double 8位元組

float    4位元組

short   2位元組

long    4位元組

注意:指標都是4位元組

sizeof( ) 與 strlen( )區別

1、sizeof是運算子,strlen是函式

2、strlen只能用char*做引數,且必須是以''\0''結尾的,而sizeof可用型別做引數,還可用函式做引數

例如:char str[20]="0123456789"; 

int a=strlen(str); // 結果為a=10   計算字串的長度,以\0'為字串結束標記。

int b=sizeof(str); // 結果b=20;     sizeof 計算的則是分配的陣列str[20] 所佔的記憶體空間的大小,不受裡面儲存的內容影響。 運算

求給定數值的補碼分以下兩種情況:

正數的補碼

與原碼相同。

負數的補碼

負數的補碼等於其絕對值的原碼各位取反,然後整個數加1的數值。

例如:求-7的補碼。

因為給定數是負數,則符號位為「1」。

後七位:-7的原碼(1 000 0111)→按位取反(1 111 1000)(負數符號位不變)→加1(1 111 1001)

所以-7的補碼是1 111 1001。

同乙個數字在不同的補碼表示形式裡頭,是不同的。比方說-15的補碼,在8位2進製裡頭是11110001,然而在16位2進製補碼表示的情況下,就成了1111111111110001。在這篇補碼概述裡頭涉及的補碼轉換預設把乙個數轉換成8位2進製的補碼形式,每一種補碼表示形式都只能表示有限的數字。

原碼已知乙個數的補碼,求原碼的操作分兩種情況:

⑴如果補碼的符號位為「0」,表示是乙個正數,其原碼就是補碼。

⑵如果補碼的符號位為「1」,表示是乙個負數,那麼求給定的這個補碼的補碼就是要求的原碼。

例如:已知乙個補碼為11111001,則原碼是10000111(-7)。

1) 補碼的補碼就是要求的原碼

因為符號位為「1」,表示是乙個負數,所以該位不變,仍為「1」。

其餘七位1111001取反後為0000110;

再加1,所以是10000111。

2)根據補碼的演算法倒推

因為符號位為「1」,表示是乙個負數,所以該位不變,仍為「1」。

減1,取反 是10000111。

C語言筆記1

helloworld include main fahrshiftcelsius1.0 include 當fahr 0,20,300時,分別 列印華氏溫度 攝氏溫度對照表 main getch fahrshiftcelsius2.0 include 當fahr 0,20,300時,分別 列印華氏溫度...

C語言筆記1

程式執行的目的是結果,過程 資料型別的本質含義是所佔位元組數和解析方法 函式名是函式的首位址 呼叫函式的方法還可以用函式指標來解引用以呼叫該函式 函式指標指向乙個函式位址後,直接呼叫該函式名就可以執行指向的函式了,因為已經確定了首位址 指標全名是指標變數,普通變數與指標變數沒有區別。c語言使用棧來儲...

c語言筆記(1)

c語言 筆記 include.h是標頭檔案,標頭檔案是包含函式宣告和定義的檔案 main main 在c語言中稱之為 主函式 乙個c程式有且僅bai有乙個main函式,任何乙個c程式總是從main函式開始執行,main函式後面的一對圓括號不能省略。被大括號括起來的內容稱為main函式的函式體,這部分...