




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、會計學1第一頁,共123頁。項目(xingm)3 單片機C語言基礎 知識目標:1掌握單片機C語言的數據類型、標識符和關鍵字、常量(chngling)、函數結構和數組、函數、指針、文件、結構體類型變量、結構體數組等的使用。2. 掌握單片機C語言的運算符和表達式,順序、選擇、循環(huán)的流程控制語句。3能夠使用C語言進行應用程序設計。 能力目標:1. 通過本課程的學習,掌握 C語言的基本語法、程序設計基本概念和基本方法;2. 能運用所學的知識和技能對一般問題進行分析和程序設計,編制出高效的C語言應用程序。 第1頁/共122頁第二頁,共123頁。項目(xingm)3 單片機C語言基礎 u一、單片機C語言概
2、述(i sh)第2頁/共122頁第三頁,共123頁。任務1 C51程序(chngx)組成的識讀 第3頁/共122頁第四頁,共123頁。第4頁/共122頁第五頁,共123頁。圍(fnwi)是 0255。signed char 類型用字節(jié)中最高位字節(jié)表示數據的符號,0表示正數,1表示負數,負數用補碼表示。所能表示的數值范圍(fnwi)是-128+127。unsigned char 常用于處理ASCII 字符或用于處理小于或等于255 的整型數。n注意:正數的補碼與原碼相同,負二進制數的補碼等于它的絕對值按位取反后加1。第5頁/共122頁第六頁,共123頁。+32767,字節(jié)(z ji)中最高位表示
3、數據的符號,0表示正數,1表示負數。unsigned int表示的數值范圍是065535。第6頁/共122頁第七頁,共123頁。2147483648+2147483647,字節(jié)中最高位表示數據的符號,0表示正數, 1表示負數。unsigned long 表示的數值范圍是04294967295。第7頁/共122頁第八頁,共123頁。n指針型本身(bnshn)就是一個變量,在這個變量中存放的指向另一個數據的地址。這個指針變量要占據一定的內存單元,對不同的處理器長度也不盡相同,在C51 中它的長度一般為13 個字節(jié)。第8頁/共122頁第九頁,共123頁。第9頁/共122頁第十頁,共123頁。第10頁
4、/共122頁第十一頁,共123頁。第11頁/共122頁第十二頁,共123頁。文本編輯器中編寫C程序,系統(tǒng)可以把保留字以不同顏色顯示,默認顏色為天藍色。標準和擴展的關鍵字如表3-2 所示第12頁/共122頁第十三頁,共123頁。第13頁/共122頁第十四頁,共123頁。第14頁/共122頁第十五頁,共123頁。第15頁/共122頁第十六頁,共123頁。第16頁/共122頁第十七頁,共123頁。C型數組來處理的,在存儲字符串時系統(tǒng)會在字符串尾部加上o 轉義字符以作為該字符串的結束符。第17頁/共122頁第十八頁,共123頁。第18頁/共122頁第十九頁,共123頁。第19頁/共122頁第二十頁,共
5、123頁。第20頁/共122頁第二十一頁,共123頁。譯時準確的定位。下表中是Keil uVision2 所能認別的存儲(cn ch)器類型。注意的是在AT89S51 芯片中RAM 只有低128 位,位于 80H 到FFH 的高128 位則在52 芯片中才有用,并和特殊寄存器地址重疊。第21頁/共122頁第二十二頁,共123頁。第22頁/共122頁第二十三頁,共123頁。第23頁/共122頁第二十四頁,共123頁。貯地址構成,最低的地址對應貯地址構成,最低的地址對應于第一個數組元素于第一個數組元素, 最高的地最高的地址對應最后一個數組元素。數址對應最后一個數組元素。數組可以是一維的、也可以是多
6、組可以是一維的、也可以是多維的。維的。第24頁/共122頁第二十五頁,共123頁。第25頁/共122頁第二十六頁,共123頁。第26頁/共122頁第二十七頁,共123頁。給,0將會自動(zdng)的賦給str2,這點應特別注意。第27頁/共122頁第二十八頁,共123頁。第28頁/共122頁第二十九頁,共123頁。第29頁/共122頁第三十頁,共123頁。第30頁/共122頁第三十一頁,共123頁。第31頁/共122頁第三十二頁,共123頁。任務(rn wu)1 C51程序組成的識讀第32頁/共122頁第三十三頁,共123頁。第33頁/共122頁第三十四頁,共123頁。第34頁/共122頁第三
7、十五頁,共123頁。任務(rn wu)1 C51程序組成的識讀第35頁/共122頁第三十六頁,共123頁。任務1 C51程序(chngx)組成的識讀第36頁/共122頁第三十七頁,共123頁。任務1 C51程序(chngx)組成的識讀第37頁/共122頁第三十八頁,共123頁。任務(rn wu)1 C51程序組成的識讀第38頁/共122頁第三十九頁,共123頁。任務1 C51程序(chngx)組成的識讀第39頁/共122頁第四十頁,共123頁。任務1 C51程序(chngx)組成的識讀第40頁/共122頁第四十一頁,共123頁。任務(rn wu)1 C51程序組成的識讀第41頁/共122頁第四
8、十二頁,共123頁。任務(rn wu)1 C51程序組成的識讀第42頁/共122頁第四十三頁,共123頁。任務1 C51程序(chngx)組成的識讀第43頁/共122頁第四十四頁,共123頁。任務(rn wu)1 C51程序組成的識讀第44頁/共122頁第四十五頁,共123頁。任務1 C51程序(chngx)組成的識讀第45頁/共122頁第四十六頁,共123頁。任務(rn wu)1 C51程序組成的識讀第46頁/共122頁第四十七頁,共123頁。任務(rn wu)1 C51程序組成的識讀第47頁/共122頁第四十八頁,共123頁。任務(rn wu)1 C51程序組成的識讀第48頁/共122頁第
9、四十九頁,共123頁。任務(rn wu)1 C51程序組成的識讀第49頁/共122頁第五十頁,共123頁。任務1 C51程序(chngx)組成的識讀第50頁/共122頁第五十一頁,共123頁。任務(rn wu)1 C51程序組成的識讀第51頁/共122頁第五十二頁,共123頁。任務1 C51程序(chngx)組成的識讀第52頁/共122頁第五十三頁,共123頁。任務(rn wu)1 C51程序組成的識讀第53頁/共122頁第五十四頁,共123頁。任務1 C51程序(chngx)組成的識讀第54頁/共122頁第五十五頁,共123頁。任務(rn wu)1 C51程序組成的識讀第55頁/共122頁第
10、五十六頁,共123頁。任務(rn wu)2 運算符和表達式的識讀 第56頁/共122頁第五十七頁,共123頁。任務(rn wu)2 運算符和表達式的識讀第57頁/共122頁第五十八頁,共123頁。任務(rn wu)2 運算符和表達式的識讀第58頁/共122頁第五十九頁,共123頁。n常量不能出現左邊。第59頁/共122頁第六十頁,共123頁。=+ =、-=、*=、%=、/= i + = 2 等價(dngji)于 i = i + 2 a * = b + 5 等價(dngji)于 a = a * (b + 5) x% = 3 等價(dngji)于 x = x%3第60頁/共122頁第六十一頁,共1
11、23頁。任務(rn wu)2 運算符和表達式的識讀第61頁/共122頁第六十二頁,共123頁。任務(rn wu)2 運算符和表達式的識讀第62頁/共122頁第六十三頁,共123頁。 注 意兩個整數相除結果為整數,如8/5的結果為1,舍去小數(xiosh)部分。如果參加運算的兩個數中有一個數為實數,則結果是實型。求余運算要求%兩側都是整型數據。第63頁/共122頁第六十四頁,共123頁。實戰(zhàn)演練:請說明(shumng)程序運行完后x,y,z,m,n的值分別是多少?main() int x=6,y,z,m,n;y=+x;z=x-; m=y/z; n=y%z; 第64頁/共122頁第六十五頁,共12
12、3頁。任務(rn wu)2 運算符和表達式的識讀第65頁/共122頁第六十六頁,共123頁。關系(gun x)運算符 優(yōu)先級 = = !=低高第66頁/共122頁第六十七頁,共123頁。p 用關系運算符將兩個表達式(可以(ky)是算術表達式、關系表達式、賦值表達式或邏輯表達式)連接起來的式子,稱為關系表達式。p 關系表達式的值為邏輯值“真”或“假”,以1代表“真”,以0代表“假”。p 例如:p (1)關系表達式“8=4”的值為 ,表達式的值為 。p (2) 關系表達式“50”的值為 ,表達式的值為 。 p 第67頁/共122頁第六十八頁,共123頁。任務(rn wu)2 運算符和表達式的識讀第
13、68頁/共122頁第六十九頁,共123頁。第69頁/共122頁第七十頁,共123頁。任務(rn wu)2 運算符和表達式的識讀第70頁/共122頁第七十一頁,共123頁。任務(rn wu)2 運算符和表達式的識讀第71頁/共122頁第七十二頁,共123頁。若a=1,b=2,c=3,x=4,y=3,寫出下各個(gg)表達式的值:(1)a+bc&b=c(2)!ab&b!=c|x+y=3(3)!(x=a)&(y=b)&0000第72頁/共122頁第七十三頁,共123頁。運算類型運算符優(yōu)先級結合性括號運算符()1從左至右邏輯非和按位取反! 2從右至左算術運算* / %3
14、從左至右+ -4從左至右左移、右移運算5從左至右關系運算 =6從左至右= !=7從左至右位運算&8從左至右9從左至右|10從左至右邏輯與&11從左至右邏輯或|12從左至右賦值運算與復合賦值運算 = 、*=、/=、&=、=、|=、=14從右至左例如(lr):(1) xy& mn 等效于 (xy) & (mc 等效于(!a) & (bc)第73頁/共122頁第七十四頁,共123頁。任務(rn wu)2 運算符和表達式的識讀第74頁/共122頁第七十五頁,共123頁。任務(rn wu)2 運算符和表達式的識讀第75頁/共122頁第七十六頁,共123頁。
15、與操作(cozu)按位與操作(cozu)符 :&格式:x&y規(guī)則:對應位均為1時才為1,否則為0 例如, i=i&0 x0f; 等同于 i&=0 x0f;主要用途:取(或保留)1個數的某(些)位,其余各位置0。第76頁/共122頁第七十七頁,共123頁。或操作按位或操作符: |格式:x|y規(guī)則:對應位均為0時才為0,否則(fuz)為1 例如, i=i|0 x0f; 等同于 i|=0 x0f;主要用途:將1個數的某(些)位置1,其余各位不變第77頁/共122頁第七十八頁,共123頁。異或操作按位異或操作符:格式:xy規(guī)則:對應(duyng)位相同時為0,不同時為1
16、 例如, i=i0 x0f; 等同于 i=0 x0f;主要用途:使1個數的某(些)位翻轉(即原來為1的位變?yōu)?,為0的變?yōu)?),其余各位不變。第78頁/共122頁第七十九頁,共123頁。按位取反操作按位取反操作符:格式:x規(guī)則(guz):各位翻轉,即原來為1的位變成0,原來為0的位變成1 例如, i=i;主要用途:間接地構造一個數,以增強程序的可移植性。第79頁/共122頁第八十頁,共123頁。n右移運算符右移運算符“”的功能,的功能,是把是把“”左邊左邊(zu bian)的操作數的各二進制位全部的操作數的各二進制位全部右移若干位,移動的位數由右移若干位,移動的位數由“”右邊的常數指定。進右邊
17、的常數指定。進行右移運算時,如果是無符行右移運算時,如果是無符號數,則總是在其左端補號數,則總是在其左端補“0”第80頁/共122頁第八十一頁,共123頁。n -= 減法賦值減法賦值 & = 邏輯邏輯與賦值與賦值n*= 乘法賦值乘法賦值 | = 邏輯邏輯或賦值或賦值n /= 除法賦值除法賦值 = 邏輯邏輯異或賦值異或賦值n %= 取模賦值取模賦值!= 邏輯邏輯非賦值非賦值n = 左移位賦值左移位賦值任務(rn wu)2 運算符和表達式的識讀第81頁/共122頁第八十二頁,共123頁。zhn)方法,凡是二目運算都可以用復合賦值運算符去簡化表達。例如:n a+=56 等價于 a = a+5
18、6 n y/=x+9 等價于 y = y / (x+9) 任務(rn wu)2 運算符和表達式的識讀第82頁/共122頁第八十三頁,共123頁。任務(rn wu)2 運算符和表達式的識讀第83頁/共122頁第八十四頁,共123頁。號表達式的目的只是為了分別得到各個表達式的值,而并不一定要得到和使用整個逗號表達式的值。n需要注意的是:并不是在程序的任何位置出現的逗號,都可以認為是逗號運算符。如函數中的參數,同類型變量的定義中的逗號只是用來間隔之用而不是逗號運算符。任務(rn wu)2 運算符和表達式的識讀第84頁/共122頁第八十五頁,共123頁。任務(rn wu)2 運算符和表達式的識讀第85
19、頁/共122頁第八十六頁,共123頁。任務(rn wu)2 運算符和表達式的識讀第86頁/共122頁第八十七頁,共123頁。任務(rn wu)2 運算符和表達式的識讀第87頁/共122頁第八十八頁,共123頁。任務(rn wu)2 運算符和表達式的識讀第88頁/共122頁第八十九頁,共123頁。任務(rn wu)2 運算符和表達式的識讀第89頁/共122頁第九十頁,共123頁。任務(rn wu)2 運算符和表達式的識讀第90頁/共122頁第九十一頁,共123頁。任務(rn wu)2 運算符和表達式的識讀第91頁/共122頁第九十二頁,共123頁。任務(rn wu)2 運算符和表達式的識讀第92
20、頁/共122頁第九十三頁,共123頁。任務(rn wu)2 運算符和表達式的識讀第93頁/共122頁第九十四頁,共123頁。任務(rn wu)3 程序結構及流程控制語句的識讀 第94頁/共122頁第九十五頁,共123頁。任務(rn wu)3 程序結構及流程控制語句的識讀 第95頁/共122頁第九十六頁,共123頁。任務3 程序結構及流程(lichng)控制語句的識讀 第96頁/共122頁第九十七頁,共123頁。nn else nn語句語句2;n 任務3 程序結構及流程(lichng)控制語句的識讀 上述結構(jigu)表示:如果表達式的值為非0 (TURE) 即真,則執(zhí)行語句1,執(zhí)行完語句1從
21、語句2 后開始繼續(xù)向下執(zhí)行;如果表達式的值為0 (FALSE) 即假, 則跳過語句 1 而執(zhí)行語句2,執(zhí)行完語句2后繼續(xù)向下執(zhí)行。所謂表達式是指關系表達式和邏輯表達式的結合式。 第97頁/共122頁第九十八頁,共123頁。任務3 程序結構及流程控制(kngzh)語句的識讀 第98頁/共122頁第九十九頁,共123頁。任務3 程序結構及流程控制(kngzh)語句的識讀 第99頁/共122頁第一百頁,共123頁。任務3 程序結構及流程(lichng)控制語句的識讀 第100頁/共122頁第一百零一頁,共123頁。任務3 程序結構及流程控制(kngzh)語句的識讀 第101頁/共122頁第一百零二頁
22、,共123頁。任務3 程序結構及流程(lichng)控制語句的識讀 第102頁/共122頁第一百零三頁,共123頁。任務3 程序結構及流程(lichng)控制語句的識讀 第103頁/共122頁第一百零四頁,共123頁。else-if 用不方便,并用不方便,并且容易出錯。且容易出錯。對這種情況,對這種情況,應該應用開關應該應用開關語句。開關語語句。開關語句格式為句格式為: 任務3 程序結構及流程控制(kngzh)語句的識讀 switch (變量(binling) case 常量1: 語句1 或空; case 常量2: 語句2 或空; . case 常量n: 語句n 或空; Default: 語句
23、n+1 或空; 執(zhí)行 switch 開關語句時, 將變量逐個與case 后的常量進行比較, 若與其中一個相等,則執(zhí)行該常量下的語句, 若不與任何一個常量相等,則執(zhí)行default后面的語句。 第104頁/共122頁第一百零五頁,共123頁。任務3 程序結構及流程(lichng)控制語句的識讀 第105頁/共122頁第一百零六頁,共123頁。任務3 程序結構及流程控制(kngzh)語句的識讀 第106頁/共122頁第一百零七頁,共123頁。printf(%dn, test); n break; 任務3 程序結構及流程(lichng)控制語句的識讀 case 3:printf(%dn, test)
24、; break; default: puts(Error); break; 第107頁/共122頁第一百零八頁,共123頁。語句有:語句有:for 語句、語句、while 語句語句和和do-while 語句。語句。任務3 程序結構及流程控制(kngzh)語句的識讀 第108頁/共122頁第一百零九頁,共123頁。其 值 為 真 ( 非 零 ) 則 執(zhí) 行其 值 為 真 ( 非 零 ) 則 執(zhí) 行FOR中的語句體,然后執(zhí)行中的語句體,然后執(zhí)行第三步,否則結束第三步,否則結束FOR語句,語句,直接跳出,不在執(zhí)行第三步。直接跳出,不在執(zhí)行第三步。n求解表達式求解表達式3n跳到第跳到第2步,重復執(zhí)行步
25、,重復執(zhí)行任務(rn wu)3 程序結構及流程控制語句的識讀 第109頁/共122頁第一百一十頁,共123頁。任務3 程序結構及流程控制(kngzh)語句的識讀 注意:(1)for 循環(huán)中語句可以為語句體,但要用“”和“”將參加循環(huán)的語句括起來(q li)。 (2)for 循環(huán)中的初始化、條件表達式和增量都是選擇項,即可以缺省, 但;不能缺省。省略了初始化,表示不對循環(huán)控制變量賦初值。省略了條件表達式,則不做其它處理時便成為死循環(huán)。省略了增量, 則不對循環(huán)控制變量進行操作, 這時可在語句體中加入修改循環(huán)控制變量的語句。 第110頁/共122頁第一百一十一頁,共123頁。n for(k=0; k
26、2; k+) n printf(%d %d %dn, i, j, k); n 任務(rn wu)3 程序結構及流程控制語句的識讀 輸出(shch)結果為: i j k 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 第111頁/共122頁第一百一十二頁,共123頁。n(tiojin))不是不是0,為真,那么執(zhí)行語句,為真,那么執(zhí)行語句,否則跳出否則跳出WHILE語句。語句。nWhile(0),While(1),While(5),While(10)n若循環(huán)語句為空,若循環(huán)語句為空,While(1);,后面后面的分號不能省略。的分號不能省略。任務(rn wu)3 程序結構及流程控制語句的識讀 第112頁/共122頁第一百一十三頁,共123頁。任務3 程序結構及流程(lichng)控制語句的識讀 程序中 while 循環(huán)是以檢查c 是否為回車符開始,因其事先被初始化為空,所以條件為真,進入循環(huán)等待鍵盤輸入字符;一旦輸入回車,則c= X0D , 條件為假,循環(huán)便告結束。與for 循環(huán)一樣(yyng),while 循環(huán)總是在循環(huán)的頭部檢驗條件,這就意味著循環(huán)可能什么也
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 高中提前考試數學試卷
- 福建省質檢卷數學試卷
- 高一年泉州統(tǒng)考數學試卷
- 福州初中五月數學試卷
- 甘肅15高考數學試卷
- 教師課件的制作培訓
- 2025年浙江醫(yī)療衛(wèi)生招聘金華義烏市中醫(yī)醫(yī)院招聘4人筆試歷年專業(yè)考點(難、易錯點)附帶答案詳解
- 2025年年唐都醫(yī)院住培醫(yī)師招錄筆試歷年專業(yè)考點(難、易錯點)附帶答案詳解
- 2025至2030城市建設規(guī)劃發(fā)展趨勢分析與未來投資戰(zhàn)略咨詢研究報告
- 二一年高考數學試卷
- 定向士官心理測試題及答案
- 2025至2030中國低溫氣體產品行業(yè)項目調研及市場前景預測評估報告
- e級籃球教練員理論考試試題及答案
- 高校教師資格證考試《高等教育心理學》真題及解析(2025年)
- T/CECS 10386-2024排水工程微型頂管用高性能硬聚氯乙烯管及連接件
- 店鋪轉讓合同協議書模板
- (王瑞元版本)運動生理學-課件-3-第三章-血液
- 濟南世創(chuàng)友聯有機硅科技有限公司年產1000 噸特種硅彈性體項目環(huán)評資料環(huán)境影響
- 2025中考(傳統(tǒng)文化)類滿分作文10篇
- 標準檢驗指導書(SIP)-鈑金
- 交易員心理培訓課件
評論
0/150
提交評論