freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

單片機技術(shù)及應(yīng)用--第九章c51程序設(shè)計及應(yīng)用(編輯修改稿)

2025-02-16 02:57 本頁面
 

【文章內(nèi)容簡介】 復(fù)合賦值運算的一般格式如下: 變量 復(fù)合運算賦值符 表達式 += 加法賦值 ?+ 減法賦值 *= 乘法賦值 /= 除法賦值 %= 取模賦值 amp。= 邏輯與賦值 |= 邏輯或賦值 ^= 邏輯異或賦值 ~ = 邏輯非賦值 = 右移位賦值 = 左移位賦值 單片機技術(shù)與應(yīng)用實踐 7)逗號運算符 格式: 表達式 1,表達式 2,…, 表達式 n 整個用逗號運算符組成的表達式的值等于最右邊表達 式的值,即“表達式 n”的值。 在 C51語言中,逗號“ ,”是一個特殊的運算符,可以用它將兩個或兩個以上的表達式連接起來,稱為逗號表達式。 注意: 并不是在程序的任何位置出現(xiàn)的逗號,都可以認為是逗號運算符。如函數(shù)中的參數(shù),同類型變量的定義中的逗號只是起間隔作用而不是逗號運算符。 單片機技術(shù)與應(yīng)用實踐 8)條件運算符 條件表達式的一般格式為: 邏輯表達式 ?表達式 1:表達式 2 其功能是先計算邏輯表達式的值,當邏輯表達式的值為真 (非 0值 )時,將計算的表達式 1的值作為整個條件表達式的值;當邏輯表達式的值為假 (0值 )時,將計算的表達式 2的值作為整個條件表達式的值。 9)指針與地址運算符 * 指針運算符 amp。 取地址運算符 單片機技術(shù)與應(yīng)用實踐 2.運算符優(yōu)先級 【 例 98】 設(shè) a = 1, b = 2,分析下面的式子。 ( b = b + 5 ) amp。amp。!b 3|| a = = 1。 整個條件表達式值為 1,執(zhí)行后 a=1, b=7。 ( b = b + 5 ) amp。amp。!(b 3||a = = 1)。 整個條件表達式值為 0,執(zhí)行后 a=1, b=7。 104amp。amp。!(10099)amp。amp。3=5。 表達式的值為 1。 單片機技術(shù)與應(yīng)用實踐 運算符類型 運 算 符 優(yōu) 先 級 結(jié) 合 性 基本 () [] . 1 自左向右 單目 ! ~ ++ + type amp。 * sizeof 2 自右向左 算術(shù) * / % 3 自左向右 + 4 移位 5 自左向右 關(guān)系 = = 6 自左向右 = = != 7 位邏輯 amp。 8 自左向右 ^ 9 | 10 邏輯 amp。amp。 11 自左向右 || 12 條件 ?: 13 自右向左 賦值 = += = *= /= %= |= ^= amp。= = = 14 自右向左 逗號 , 15 自左向右 單片機技術(shù)與應(yīng)用實踐 C51的輸入與輸出 在 C51語言本身不提供輸入和輸出語句,輸入和輸出操作是由函數(shù)來實現(xiàn)的。當使用輸入和輸出函數(shù)時,須先用預(yù)處理命令 include 將該函數(shù)庫包含到文件中。 在 C51的一般 I/O函數(shù)庫中定義的 I/O函數(shù)都是通過串行接口實現(xiàn)的,在使用 I/O函數(shù)之前,應(yīng)先對 MCS51單片機的串行接口進行初始化。選擇串行口工作于方式 2(8位自動重載方式 ),波特率由定時器 /計數(shù)器 1溢出率決定。例如,設(shè)系統(tǒng)時鐘為12MHz,波特率為 2400,則初始化程序如下: SCON=0x52。 TMOD=0X20。 TH1=0xF3。 TR1=1。 單片機技術(shù)與應(yīng)用實踐 printf()函數(shù)的作用是通過串行接口輸出若干任意類型的數(shù)據(jù)。 格式: printf(格式控制符 ,輸出參數(shù)表 )。 格式控制符可由格式字符串和非格式字符串兩種組成。格式字符串是以 %開頭的字符串,在 %后面跟有各種格式字符,以說明輸出數(shù)據(jù)的類型、形式、長度、小數(shù)位數(shù)等。 輸出參數(shù)表為待輸出的一系列數(shù)據(jù)項,其個數(shù)必須與格式化字符串所說明的輸出參數(shù)個數(shù)一樣多,各參數(shù)之間用“ ,”分開,且順序一一對應(yīng)。 1.格式輸出函數(shù) printf() 單片機技術(shù)與應(yīng)用實踐 表 99 printf()格式控制符說明 說 明 符 功 能 %d 輸出十進制有符號整數(shù) %ld 輸出十進制有符號長整數(shù) %x或 %X 以十六進制形式輸出無符號的整數(shù) %u 輸出十進制無符號整數(shù) %f 輸出浮點數(shù) %s 輸出字符串 %c 輸出單個字符 %p 輸出指針值 %e或 %E 輸出指數(shù)形式的浮點數(shù) %0 以八進制形式輸出無符號的整數(shù) 單片機技術(shù)與應(yīng)用實踐 scanf()函數(shù)的作用是通過串行接口實現(xiàn)數(shù)據(jù)輸入。 格式: scanf(格式控制符 ,地址列表 )。 2.格式輸入函數(shù) scanf() 注意點: (1)scanf()函數(shù)中沒有精度控制,如 scanf(%, amp。a)。是非法的。 (2)scanf()中要求給出變量地址,如給出變量名則會出錯。 (3)在輸入多個數(shù)值數(shù)據(jù)時,若“格式控制符”中沒有非格式字符作輸入數(shù)據(jù)之間的間隔,則可用空格、 TAB或回車作間隔。 (4)在輸入字符數(shù)據(jù)時,若“格式控制符”中無非格式字符,則認為所有輸入的字符均為有效字符。 單片機技術(shù)與應(yīng)用實踐 【 例 99】 使用格式輸入和輸出函數(shù)的例子。 源程序清單如下: include //包含特殊功能寄存器庫 include //包含 I/O函數(shù)庫 void main(void) //主函數(shù) {int x。 float y。 SCON=0x52。 //串口初始化 TMOD=0x20。 TH1=0XF3。 TR1=1。 printf(input x,y:\n)。 //輸出提示信息 scanf(%d,%f,amp。x,amp。y)。 //輸入 x和 y的值 printf(\n)。 //輸出換行 printf(%d+%f=%f,x,y,x+y)。 //按十進制形式輸出 while(1)。 //結(jié)束 } 單片機技術(shù)與應(yīng)用實踐 在表達式的后邊加一個分號“;”就構(gòu)成了表達式語句。注意不能丟掉或輸入為全角符號。 C51的基本語句 1.表達式語句 空語句通常用于以下兩種情況: (1)在程序中為有關(guān)語句提供標號,用以標記程序執(zhí)行的位置。例 :loop: 。 goto loop。 (2)在用 while、 for語句構(gòu)成的循環(huán)語句后面加一個分號,形成一個不執(zhí)行其他操作的空循環(huán)體,常用它來寫等待事件發(fā)生的程序。這種結(jié)構(gòu)通常用于對某位進行判斷,當不滿足條件則等待,滿足條件則執(zhí)行。 僅由一個分號“ ?!闭家恍行纬梢粋€表達式語句,這種語句稱為空語句。 單片機技術(shù)與應(yīng)用實踐 復(fù)合語句是由若干條語句組合而成的一種語句,在 C51中,用一個大括號“ {}”將若干條語句括在一起就形成了一個復(fù)合語句,復(fù)合語句最后不需要以分號“ ?!苯Y(jié)束,但它內(nèi)部的各條語句仍需以分號“ ?!苯Y(jié)束。復(fù)合語句的一般格式為: { 局部變量定義 。 語句 l。 語句 2。 } 2.復(fù)合語句 復(fù)合語句是允許嵌套的,在執(zhí)行時,其中的各條單語句按順序依次執(zhí)行,整個復(fù)合語句在語法上等價于一條單語句。在復(fù)合語句內(nèi)部語句所定義的變量,稱為該復(fù)合語句中的局部變量,它僅在當前這個復(fù)合語句中有效。 單片機技術(shù)與應(yīng)用實踐 if語句是 C51中的一個基本條件選擇語句,它有兩種格式: (1)不帶 else的 if語句,格式如下: if (表達式 ) {語句 。} 如果 if括號內(nèi)的條件成立,則執(zhí)行語句塊,否則跳過該 if語句,直接執(zhí)行下一條語句。 (2)帶 else的 if語句,格式如下: if (表達式 ) {語句 1。} else {語句 2。} 當條件表達式成立時,就執(zhí)行語句 1,否則就執(zhí)行語句2。 3.分支語句 1)if語句 單片機技術(shù)與應(yīng)用實踐 if語句是 C51中的一個基本條件選擇語句,它有兩種格式: (1)不帶 else的 if語句,格式如下: if (表達式 ) {語句 。} 如果 if括號內(nèi)的條件成立,則執(zhí)行語句塊,否則跳過該 if語句,直接執(zhí)行下一條語句。 (2)帶 else的 if語句,格式如下: if (表達式 ) {語句 1。} else {語句 2。} 當條件表達式成立時,就執(zhí)行語句 1,否則就執(zhí)行語句 2。 3.分支語句 1)if語句 注意 : if else語句允許嵌套,用來實現(xiàn)多方向條件分支,使用時應(yīng)注意 if和 else的配對使用, else不能離開 if單獨出現(xiàn),else總是與最近的且尚未配對的 if配對。 單片機技術(shù)與應(yīng)用實踐 3.分支語句 1)if語句 圖 92 不帶 else的 if語句結(jié)構(gòu)流程 圖 93 帶 else的 if語句結(jié)構(gòu)流程 單片機技術(shù)與應(yīng)用實踐 【 例 910】 if語句的用法。 對學(xué)生成績劃分為 A~ D,對應(yīng)不同的百分制分數(shù),要求根據(jù)不同的等級打印出它的對應(yīng)百分數(shù)。 … if(grade= =39。A39。)printf(90~ 100\n)。 else if(grade= =39。B39。 ) printf(80~ 90\n)。 else if(grade= =39。C39。 ) printf(70~ 80\n)。 else if(grade= =39。D39。 ) printf(60~ 70\n)。 else if(grade= =39。E39。) printf(60\n)。 else printf(error\n)。 … 單片機技術(shù)與應(yīng)用實踐 switch是 C51中提供的專門處理多分支結(jié)構(gòu)的多分支選擇語句。格式如下: switch (表達式 ) {case 常量表達式 1: {語句 1。}break。 case 常量表達式 2: {語句 2。}break。 … case 常量表達式 n: {語句 n。}break。 default: {語句 n+1。} } 2)switch/case語句 單片機技術(shù)與應(yīng)用實踐 說明: (1)switch后面括號內(nèi)的表達式,可以是整型或字符型常量表達式。 (2)將 switch后條件表達式的值與 case后的各常量比較,轉(zhuǎn)到值相等的那個 case標號后的語句塊執(zhí)行,執(zhí)行過程中一旦遇到 break語句,則跳出 switch語句;如果無一值相等,則執(zhí)行 default后的語句 n+1;如果既無一值相等又沒有 default,則不執(zhí)行 switch中的任何語句。 (3)每一個 case常量表達式的值必須不同,否則會出現(xiàn)自相矛盾的現(xiàn)象。 (4)case語句和 default語句的出現(xiàn)次序?qū)?zhí)行過程沒有影響。 (5)每個 case語句后面可以有 break,也可以沒有。有 break語句,執(zhí)行到 break則退出 switch結(jié)構(gòu);若沒有,則會順次執(zhí)行后面的語句,直至遇到 break或結(jié)束。 (6)每一個 case語句后面可以帶一個語句,也可以帶多個語句,還可以不帶。語句可以用花括號括起,也可以不括。 (7)多個 case可以共用一組執(zhí)行語句。 單片機技術(shù)與應(yīng)用實踐 【 例 911】 switch/case語句的用法。 對學(xué)生成績劃分為 A~ D,對應(yīng)不同的百分制分數(shù),要求根據(jù)不同的等級打印出它的對應(yīng)百分數(shù)。 … switch(grade) { case 39。A39。: printf(90~ 100\n)。break。 case 39。B39。: printf(80~ 90\n)。break。 case 39。C39。: printf(70~ 80\n)。break。
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1