當(dāng)前位置:首頁(yè) > 嵌入式培訓(xùn) > 嵌入式學(xué)習(xí) > 學(xué)習(xí)筆記 > 嵌入式學(xué)習(xí)筆記: c語(yǔ)言入門自學(xué)知識(shí)點(diǎn)
1、計(jì)算機(jī)的基本機(jī)構(gòu)
(1)CPU中央處理器
(2)存儲(chǔ)器
(3)輸入輸出設(shè)備
存儲(chǔ)器:
(1)主存儲(chǔ)器:容量小,讀寫速度較快,只能在加電時(shí)保存數(shù)據(jù)
(2)外存儲(chǔ)器:容量大,讀寫速度慢,可以在斷電時(shí)保存數(shù)據(jù)
(3)寄存器:CPU內(nèi)部的存儲(chǔ)器,容量小,數(shù)目少,讀寫速度最快
2、什么是程序
廣義上講:為了實(shí)現(xiàn)一個(gè)特定的目標(biāo),而進(jìn)行的一系列的步驟;
狹義:為了實(shí)現(xiàn)特定的功能,而進(jìn)行的一系列有序的指令的集合;
指令:計(jì)算機(jī)可以識(shí)別的操作;
3、程序的設(shè)計(jì)步驟
編輯----》》編譯、鏈接----》》執(zhí)行、調(diào)試
4、計(jì)算機(jī)的數(shù)據(jù)表示
數(shù)值數(shù)據(jù)與非數(shù)值數(shù)據(jù)
數(shù)值數(shù)據(jù):
二進(jìn)制 01
十進(jìn)制 0~9
八進(jìn)制 0~7
十六進(jìn)制 0 ~ 9a ~ f(A ~ F)
5、c語(yǔ)言的簡(jiǎn)介
關(guān)鍵字:32個(gè),由系統(tǒng)自定義的,全部是小寫
const:定義的是只讀變量
typedef:給一個(gè)類型取別名
sizeof:求取所占內(nèi)存的長(zhǎng)度(字節(jié))
volatile:表示它所聲明的變量可能會(huì)被隱含的改變,防止編譯器優(yōu)化
標(biāo)識(shí)符:程序員自己定義的,用于定義變量名、函數(shù)名、宏名、自定義的類型名等,
大小寫敏感
(1)有數(shù)字、字母、下劃線組成
(2)第一個(gè)字符必須是字母或下劃線
(3)不能和關(guān)鍵字相同
分隔符:
注釋://
/* */不能嵌套
6、數(shù)據(jù)類型
基本數(shù)據(jù)類型:整型、浮點(diǎn)型、字符型、指針、枚舉
構(gòu)造數(shù)據(jù)類型:數(shù)組、結(jié)構(gòu)體、共用體
空類型:void型
有符號(hào)數(shù):最高位為符號(hào)位
正數(shù):0 負(fù)數(shù):1
負(fù)數(shù)以補(bǔ)碼的形式存放在計(jì)算機(jī)中
補(bǔ)碼:原碼取反加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
浮點(diǎn)型:float double
float:32bit
符號(hào)位:1位
指數(shù)位:8位
小數(shù)位:23
有效數(shù)字的位數(shù):6-7位
double:64bit
符號(hào)位:1位
指數(shù)位:11位
小數(shù)位:52位
有效數(shù)字的位數(shù):15-16位
7、常量:在程序運(yùn)行期間,其數(shù)值不發(fā)生變化的數(shù)據(jù)
整型常量:
十進(jìn)制常量:67 90 10000
八進(jìn)制常量:067 076 0100
十六進(jìn)制常量:0xef
長(zhǎng)整型:整型常量可在結(jié)尾加上’l’或’L’表示長(zhǎng)整型 677777L ‘u’或‘U’表示無(wú)符號(hào)整型
浮點(diǎn)常量:8.25 -3.59.8765555353
指數(shù)常量:2*10^62e+62e-6
字符常量:‘a’ ‘0’
字符串常量:“hello world!”,字符串常量都是以‘\0’結(jié)尾
標(biāo)識(shí)常量:只是單純的符號(hào)替換
#define 宏名(一般大寫) 常量(常量表達(dá)式)
宏函數(shù):#define 函數(shù)名(形參) 表達(dá)式
例如:#define ADD(x, y) ((x)+(y))
注:在定義宏函數(shù)時(shí),必須給每一個(gè)變量和整個(gè)表達(dá)式都加上括號(hào),因?yàn)樗皇菃渭兊姆?hào)替換
三目運(yùn)算符(三個(gè)表達(dá)式):
表達(dá)式1 ? 表達(dá)式2 : 表達(dá)式3;
判斷表達(dá)式1,其值為真時(shí),執(zhí)行表達(dá)式2,否則執(zhí)行表達(dá)式3;