C语言基础知识汇总
c語言執行步驟:
一.編輯程序
?? ? ? ? 1.編寫c語言的代碼,保存在擴展名.c的文件中,源文件。
?? ? ? ? 2.編寫代碼有三種方式:
? ? ? ? ? ? ? ? ? a.vi命令方式系統自帶
? ? ? ? ? ? ? ? ? b.ultraedit網絡下載
? ? ? ? ? ? ? ? ? c.xcode網絡下載
?
二.編譯(gcc? 文件名.c)
? ? ? 將c語言轉換成計算機識別的代碼
?
?三.運行(./a.out)
?? ? ? 經過編輯、連接之后,源程序文件就可以生成可執行文件
?
*?vi的使用-補充(c語言快捷鍵):shift+“:”進入編輯功能
?? wq退出
?? “i”insert進入編輯模式
?
四.xcode簡單的使用
1.創建項目
2.創建一個osx—command line Tool
3.main.c進行編程
4. 菜單欄product編譯-run執行
5.改字體(蘋果-第二個prefer..偏好設置-第五個改字體)
?
五.#include指令
?? 1.在編譯之前做的事情
?? 2.相當于復制操作
?? 3.加載系統提供的標準函數庫
* 備注: ? ? ? ?” ?” 是加載系統自定義功能 ? ? ???《 ?》是加載系統功能
?
六.變量
? ? 1.數據類型:字符型char、整數型int、浮點型float/double、指? 針、結構、聯合等類型。
? ? 2.語法格式:變量類型? 變量名=初始化值
? ? 3.保存運算中臨時的值,number1=10賦值,可以多次賦值,但只會保留最后一次的值(右—左)
? ? 4.變量命名:a.必須以字母或下劃線開頭
? ? ? ? ? ? ? ? ? ? ?b.包含字母、下劃線或數字(不要出現空格)
? ? ? ? ? ? ? ? ? ? ?c.不能與關鍵字沖突
? ? ? ? ? ? ? ? ? ? ?d.大小寫敏感的
? ? ? ? ? ? ? ? ? ? ?e.長度一般不會限制,但會被編輯器截斷
?
備注:變量放在等號左邊就是存值操作,變量放在等式右邊就是取值操作 ?
? ? ? ? i=10(存),j=i(取).把右面的賦值給左邊的,從右向左
?
?
七 ?數據類型和變量賦值
1.整數類型
? ? ? ? (char、int)小數類型(float、double)
?? ? ? ? a.有符號類型(整數、負數、0) ? ? ? ?范圍( -128~127)
?? ? ? ? ? ? ? *所占存儲空間的第一位為符號位。
?? ? ? ? ? ? ? *二進制符號位,最左邊0+,1代表負數
?? ? ? ? b.無符號整型(整數、0) ? ? ? ? ? ? ? ?范圍(0~255)256
?? ? ? ? c.有符號的整型(int,4個字節 ) ? ? ? 范圍(-2^31~2^31-1)
?
?? ? * ? ?Byte、KB、MB、GB、TB、PB ? ? ? ? ? ?進率(1024) ?詳情參考 ??http://www.cnblogs.com/yhj1787354782/p/5048994.html
?? ? 如:1KB=1024B
? ? 超出最大值從最小值開始運算
? ? 超出最小值從最大值開始運算
?
? ? ? ? d.有符號的短整型(short int,2字節)
? ? ? ? e.有符號的長整型(long int,8字節)
? ? ? ? f.有符號的長長整型(long long int)
? ? ? ? g.無符號的整型(unsigned int,4字節)
? ? ? ? h.無符號短整型(unsigned? short int,2字節)
? ? ? ? i.無符號長整型(unsigned? long int,8字節)
? ? ? ? j.無符號長長整型(unsigned? long long? int,8字節)
?
2.進制
?? a.十進制%d(0-9) ? ? ? ? ? ? ? ? 逢十進一
?? b.八進制%o(0-7) ? ? ? ? ? ? ? ? 逢八進一
?? c.十六進制%x(0-9ABCDEF) ? 逢十六進一
?? d.二進制(0、1) ? ? ? ? ? ? ? ? ? ?逢二進一
?? ? ? ? ? int i=11 //十進制
?? ? ? ? ? int i=011 //八進制
?? ? ? ? ? int i=0x11 //十六進制
*c語言不能使用二進制
?? ? 1.十進制轉換二進制(除二取余,將余數從下向上讀出)
舉例:
32/2=17……0
17/2=8……1
8/2=4……0
4/2=2……0
2/2=1……0
1/2=0……1
將余數從下向上讀出:100010
?
2.二進制數轉化成十進制數(按權相加)
? 0 ? ? ? 1 ? ? 0? ? 1? ? 1? ? 1? 0 ? 1位 ? ?(從右向左)93
128 ? 64 ? ?32 ? 16 ? 8 ? ?4 ?2 ? 1權
舉例:
1001110
0*2^0=0
1*2^1=2
1*2^2=4
1*2^3=8
0*2^4=0
0*2^5=0
1*2^6=64
得出的值相加=0+2+4+8+0+0+64=78
?
3.十進制數轉換成八進制數、十六進制數
方法:輾轉相除,從下向上取余
34/8=16……6
16/8=2……0
2/8=0……2
從下向上對應的八進制數:206
?
4.八進制數、十六進制數轉換成十進制數
方法:按權相加法
6*8^0=6
0*8^1=0
2*8^2=128
按權相加:=134
?
5.二進制數轉換成八進制數
?方法:從最后一位開始,每三位二進制數,相當于一個八進制數。前面不足3為補0
舉例:100? 010=42
?
6.二進制轉換成十六進制數
方法:每四位,不足補0
舉例:0010? 0010->22
?
7.字符(%c)
?1.通過數值直接賦值? 2.通過字符直接賦值
*備注: ? ? ?.2f保留兩位有效數字
?
8.變量:臨時保存數據,數據的容器
?? 常量:不可改變的值(具體的數值)
?? 字面值:不可改變的值,就是數值(字符、數值)
? * ?備注:變量=字面值(常量)數據
?
練習題: 可參考 原碼,反碼,補碼 :?http://www.cnblogs.com/zhangziqiu/archive/2011/03/30/ComputerCode.html
C語言中整數-8在內存中存儲形式是: ? ? 原碼->反碼->補碼(只有負數存的是補碼)(2個字節=16位)
A)1111,1111,1111,1000 ? ? ? ? ? ? B)1000,0000,0000,1000
C)0000,0000,0000,1000 ? ? ? ? ? ? D)1111,1111,1111,0111
?
轉載于:https://www.cnblogs.com/yhj1787354782/p/5049047.html
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
- 上一篇: 梦到织毛线是什么意思
- 下一篇: 梦到小孩是犯小人吗怎么破解