一、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...