C言語語法總結 隨時更新

2022-09-12 20:39:24 字數 3150 閱讀 4857

一、gccvisual studio

1. f5或ctrl+f5或本地windows偵錯程式 #把原**編譯成可執行檔案***

2. 生成->編譯 #生成***.obj目標檔案

3. 生成->僅用於專案->僅鏈結 cdemo #生成可執行檔案***.exe ###2.3 步等於1

二、語法

1. puts("hello world"); #輸出字串

2. printf("a=%d, b=%d, c=%d", a, b, c); #10進製輸出

# %hd 十進位制輸出 short 型別

# %d 十進位制輸出 int 型別

# %ld 十進位制輸出 long 型別

# %#ho 八進位制輸出 short 型別

# %#o 八進位制輸出 int 型別

# %#lo 八進位制輸出 long 型別

# %#hx/%#hx 十六進製制輸出 short 型別

# %#x/%#x 十六進製制輸出 int 型別

# %#lx/%#lx 十六進製制輸出 long 型別 十六進製制的表示用到了字母, 因此x/x字母的表現形式不同,0b/0b 二進位制 0 八進位制 0x/0x 十六進製制

# %c 輸出乙個字元

# %f 輸出乙個小數float #float與double型別的區別是, float點四位元組(32位), double佔8位元組(64位)

# %lf 輸出乙個小數double

# %e 以指數輸出乙個float型別3.020000e-1

# %e 以指數輸出乙個float型別3.020000e-1

# %le 以指數輸出乙個double型別1.126400e+05

# %le 以指數輸出乙個double型別1.126400e+05

# %g 智慧型輸出小數float, 若是指數形式e小寫

# %lg 智慧型輸出小數double, 若是指數形式e小寫

# %g 智慧型輸出小數float, 若是指數形式e大寫

# %lg 智慧型輸出小數double, 若是指數形式e大寫

# %s 輸出乙個字串

3. int: 8bit=1byte(位元組),一般佔4位元組,32bit,也叫32位,如果不考慮正負數int型別儲存的最大數為2的32次方減1, 約43億

short int(short) 只佔2位元組(16位),如果不考慮正負數short儲存的型別最大數2的16次方減1, 等於65535

long int(long) 佔8位元組(64位),如果不考慮正負數long儲存的型別最大數2的64次方減1,這個值很大,過億萬億了,我也不知道是多大

char 佔一位元組(8位) 如果不考慮正負數char儲存的最大值為2的8次方減1, 等於255, 考慮正負數-128到127

4. 資料型別的長度(不同資料型別佔的位元組數稱為資料型別長度)

sizeof 方法可以檢測出長度 short 2位元組, int 4位元組, long 4/8位元組(系統不一樣)

記憶體中儲存的數字是以補碼形式儲存的

三、多執行緒

1. 建立執行緒: pthread_create

2. 阻止呼叫執行緒並接收返回值: pthread_join

3. 終止當前執行緒: pthread_exit

4. 執行緒間的終止訊號: pthread_cancel (注意取消點的問題)

5. 鎖 

四、進製之間的轉換

1. 整數任意進製轉換為十進位制: 按權相加

如: 八進位制轉成十進位制 53627 = 5*84+ 3*83 + 6*82 + 2*81 + 7*80 = 22423

十六進製制轉成十進位制 9fa8c = 9*164 + 15*163 + 10*162 + 8*161 + 12*160 = 653964

二進位制轉成十進位制 11010 = 1*24 + 1*23 + 0*22 + 1*21 + 0*20 = 26

2. 小數任意進製轉換為十進位制:

如: 八進位制轉成十進位制423.5176 = 4*82 + 2*81 + 3*80 + 5*8-1 + 1*8-2 + 7*8-3 + 6*8-4 = 275.65576171875

3. 整數十進位制轉換成任意進製: 除n取餘, 逆序排列

如: 十進位制轉成八進位制 36926 = 36926/8 = 4615 % 6 (商為4615餘6)

4615/8 = 576 % 7

576/8 = 72 % 0

72/8 = 9 % 0

9/8 = 1 % 1

1/8 = 0 % 1

= 110076

十進位制轉二進位制   42 = 42/2 = 21 % 0

21/2 = 10 % 1

10/2 = 5 % 0

5/2 = 2 % 1

2/2 = 1 % 0

1/2 = 0 % 1

= 101010

4. 小數十進位制轉任意進製: 乘n取整, 順序排列

如: 十進位制轉八進位制 0.930908203125 = 0.930908203125*8 = 7.447265625 int 7(整數部分)

= 0.447265625*8 = 3.578125 int 3

= 0.578125*8 = 4.625 int 4

= 0.625*8 = 5.0 int 5

= 0.7345(八進位制)

十進位制轉二進位制 0.6875 = 0.6875 * 2 = 1.375 int 1

= 0.375 * 2 = 0.75 int 0

= 0.75 * 2 = 1.5 int 1

= 0.5 * 2 = 1.0 int 1

= 0.1011(二進位制)

0.1   = 0.1 * 2 = 0.2 int 0

= 0.2 * 2 = 0.4 int 0

= 0.4 * 2 = 0.8 int 0

= 0.8 * 2 = 1.6 int 1

= 0.6 * 2 = 1.2 int 1

= 0.2 * 2 = 0.4 int 0

= 0.4 * 2 = 0.8 int 0

= 0.8 * 2 = 1.6 int 1

= 0.00011001………………(無限迴圈的二進位制)

c語言語法陷阱總結

學習c語言也有一段時間了,關於語法上的錯誤,現在基本上也沒犯過,不過,我還是想小結一下。運算優先順序的問題,其實在背乘法表,的時候就已經開始接觸了。那時候我們知道在加減乘除的混合運算中,先算乘除,再算加減,如果遇到括號,先算括號裡的內容,這就是優先順序問題。那麼在 c語言中,我們也有很多運算,有運算...

迭代總結(隨時更新)

每個迭代完成,缺陷分析,找到根本原因,遺漏問題總結,建立預防方法,對流程規範可以改進的點完善測試規範 範圍 時間,成本,質量,人力資源,溝通,風險,採購 解決對策 開發方面 增強開發的風險意識培訓 評審 特別是增刪改,增加的介面孤立,修改刪除的介面被老功能呼叫 2,風險問題增加 流程性風險 搭建自動...

C語言語法

printf 01f n double 2 1 printf 02f n double 2 1 保留兩位小數 陣列賦值 include memset al,0,sizeof al 輸入浮點數 while scanf lf n eof 字串比較 include char a 11 1234567890...