嵌入(ru)式(shi)學(xue)習筆(bi)記(ji): c語言入(ru)門(men)自學(xue)知識點
時間:2018-09-21 來(lai)源:未(wei)知
1、計(ji)算(suan)機(ji)的(de)基(ji)本機(ji)構(gou)
(1)CPU中(zhong)央處理器
(2)存儲器
(3)輸(shu)入輸(shu)出設備(bei)
存儲器:
(1)主存(cun)儲器:容(rong)量小,讀(du)寫速(su)度(du)較快,只能在加電時保(bao)存(cun)數據(ju)
(2)外(wai)存(cun)儲器(qi):容量大(da),讀寫速(su)度慢,可以在(zai)斷電(dian)時保存(cun)數據
(3)寄存器(qi):CPU內部的存儲器(qi),容量小,數目少,讀寫速度最(zui)快
2、什么是程序(xu)
廣義上講:為了實現(xian)一(yi)個特定的目標(biao),而進行的一(yi)系列的步驟;
狹義:為(wei)了(le)實現特定的功能,而進行(xing)的一系列有序的指令的集合(he);
指令:計(ji)算機(ji)可以識別的操作;
3、程(cheng)序的設(she)計步驟(zou)
編(bian)輯----》》編(bian)譯、鏈(lian)接----》》執行、調試
4、計算(suan)機的數據表示(shi)
數值(zhi)數據(ju)與非(fei)數值(zhi)數據(ju)
數值數據:
二進制 01
十進(jin)制 0~9
八(ba)進制 0~7
十(shi)六進制(zhi) 0 ~ 9a ~ f(A ~ F)
5、c語言的(de)簡介
關鍵字:32個(ge),由系統(tong)自定義的,全部是小(xiao)寫
const:定義的是(shi)只讀變(bian)量(liang)
typedef:給一個類型取別名
sizeof:求(qiu)取所占內存的長度(字節)
volatile:表示它所聲明的變(bian)(bian)量(liang)可能會被隱含的改變(bian)(bian),防止編譯器優化
標識符:程(cheng)序員自(zi)己定(ding)義(yi)(yi)的(de),用(yong)于定(ding)義(yi)(yi)變量(liang)名(ming)、函數名(ming)、宏名(ming)、自(zi)定(ding)義(yi)(yi)的(de)類型名(ming)等,
大小寫敏感
(1)有數字、字母、下劃線組成
(2)第(di)一個字符必須是字母或下劃線
(3)不能(neng)和關鍵字相同(tong)
分隔符:
注釋://
/* */不能嵌套
6、數(shu)據類型(xing)
基本數據類型(xing):整型(xing)、浮點型(xing)、字符型(xing)、指針(zhen)、枚舉
構造(zao)數據類型(xing):數組(zu)、結構體、共用體
空類型:void型
有符號數:最高位(wei)為符號位(wei)
正數(shu)(shu):0 負數(shu)(shu):1
負數以補碼的形式存放在計算機(ji)中(zhong)
補(bu)碼:原碼取反加1
字符型:char 8bit
signed char:1000_0000 ~ 0111_1111
-128 ~ 127(-2^7 ~ 2^7-1)
unsigned char:0000_0000 ~ 1111_1111
0 ~ 255(0 ~ 2^8-1)
整型:int short long longlong
short: 16bit
signed short:-2^15 ~ 2^15-1
unsigned short:0 ~ 2^16-1
int/long: 32bit
signed:-2^31 ~ 2^31-1
unsigned:0 ~ 2^32-1
long long: 64bit
signed:-2^63 ~ 2^63-1
unsigned:0 ~ 2^64-1
浮點型:float double
float:32bit
符號位:1位
指數位:8位
小數位:23
有(you)效數(shu)字的位(wei)數(shu):6-7位(wei)
double:64bit
符號位:1位
指數位:11位
小數(shu)位:52位
有效數字(zi)的位(wei)數:15-16位(wei)
7、常量(liang):在(zai)程序(xu)運行期(qi)間,其(qi)數值(zhi)不發(fa)生變化的數據
整型常量:
十進制常量:67 90 10000
八進制(zhi)常量:067 076 0100
十六進制常量:0xef
長整(zheng)(zheng)型(xing):整(zheng)(zheng)型(xing)常量可在結尾加上’l’或(huo)’L’表示長整(zheng)(zheng)型(xing) 677777L ‘u’或(huo)‘U’表示無符號整(zheng)(zheng)型(xing)
浮點(dian)常量:8.25 -3.59.8765555353
指數常量:2*10^62e+62e-6
字符(fu)常量:‘a’ ‘0’
字符(fu)串常(chang)量(liang):“hello world!”,字符(fu)串常(chang)量(liang)都是以‘\0’結尾
標識(shi)常量:只是(shi)單純的(de)符號替換
#define 宏名(一般(ban)大寫) 常(chang)量(常(chang)量表達式)
宏函(han)數(shu):#define 函(han)數(shu)名(形參(can)) 表(biao)達式
例如:#define ADD(x, y) ((x)+(y))
注:在定義宏函數時(shi),必須給每一(yi)個變量和整個表達(da)式(shi)都加上括號,因為它(ta)只(zhi)是單純的符號替換
三(san)目運算符(三(san)個表達(da)式):
表(biao)(biao)達式(shi)(shi)1 ? 表(biao)(biao)達式(shi)(shi)2 : 表(biao)(biao)達式(shi)(shi)3;
判斷表達式(shi)1,其值為真時,執行(xing)表達式(shi)2,否(fou)則(ze)執行(xing)表達式(shi)3;

