久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 11715|回復(fù): 8
收起左側(cè)

初學(xué)者單片機(jī)C語(yǔ)言運(yùn)算符

  [復(fù)制鏈接]
ID:277999 發(fā)表于 2018-1-24 09:42 | 顯示全部樓層 |閱讀模式
單片機(jī)C語(yǔ)言運(yùn)算符
單片機(jī)及C語(yǔ)言學(xué)習(xí)
auto        存儲(chǔ)種類說(shuō)明        用以說(shuō)明局部變量,缺省值為此

break        程序語(yǔ)句        退出最內(nèi)層循環(huán)

case        程序語(yǔ)句        Switch語(yǔ)句中的選擇項(xiàng)

char        數(shù)據(jù)類型說(shuō)明        單字節(jié)整型數(shù)或字符型數(shù)據(jù)

const        存儲(chǔ)類型說(shuō)明        在程序執(zhí)行過(guò)程中不可更改的常量值

continue        程序語(yǔ)句        轉(zhuǎn)向下一次循環(huán)

default        程序語(yǔ)句        Switch語(yǔ)句中的失敗選擇項(xiàng)

do        程序語(yǔ)句        構(gòu)成do..while循環(huán)結(jié)構(gòu)

double        數(shù)據(jù)類型說(shuō)明        雙精度浮點(diǎn)數(shù)

else        程序語(yǔ)句        構(gòu)成if..else選擇結(jié)構(gòu)

enum        數(shù)據(jù)類型說(shuō)明        枚舉

extern        存儲(chǔ)種類說(shuō)明        在其他程序模塊中說(shuō)明了的全局變量

flost        數(shù)據(jù)類型說(shuō)明        單精度浮點(diǎn)數(shù)

for        程序語(yǔ)句        構(gòu)成for循環(huán)結(jié)構(gòu)

goto        程序語(yǔ)句        構(gòu)成goto轉(zhuǎn)移結(jié)構(gòu)

if        程序語(yǔ)句        構(gòu)成if..else選擇結(jié)構(gòu)

int        數(shù)據(jù)類型說(shuō)明        基本整型數(shù)

long        數(shù)據(jù)類型說(shuō)明        長(zhǎng)整型數(shù)

register        存儲(chǔ)種類說(shuō)明        使用CPU內(nèi)部寄存的變量

return        程序語(yǔ)句        函數(shù)返回

short        數(shù)據(jù)類型說(shuō)明        短整型數(shù)

signed        數(shù)據(jù)類型說(shuō)明        有符號(hào)數(shù),二進(jìn)制數(shù)據(jù)的最高位為符號(hào)位

sizeof        運(yùn)算符        計(jì)算表達(dá)式或數(shù)據(jù)類型的字節(jié)數(shù)

static        存儲(chǔ)種類說(shuō)明        靜態(tài)變量

struct        數(shù)據(jù)類型說(shuō)明        結(jié)構(gòu)類型數(shù)據(jù)

swicth        程序語(yǔ)句        構(gòu)成switch選擇結(jié)構(gòu)

typedef        數(shù)據(jù)類型說(shuō)明        重新進(jìn)行數(shù)據(jù)類型定義

union        數(shù)據(jù)類型說(shuō)明        聯(lián)合類型數(shù)據(jù)

unsigned        數(shù)據(jù)類型說(shuō)明        無(wú)符號(hào)數(shù)數(shù)據(jù)

void        數(shù)據(jù)類型說(shuō)明        無(wú)類型數(shù)據(jù)

volatile        數(shù)據(jù)類型說(shuō)明        該變量在程序執(zhí)行中可被隱含地改變

while        程序語(yǔ)句        構(gòu)成while和do..while循環(huán)結(jié)構(gòu)

附表1-1 ANSIC標(biāo)準(zhǔn)關(guān)鍵字



關(guān)鍵字        用 途        說(shuō) 明

bit        位標(biāo)量聲明        聲明一個(gè)位標(biāo)量或位類型的函數(shù)

sbit        位標(biāo)量聲明        聲明一個(gè)可位尋址變量

Sfr        特殊功能寄存器聲明        聲明一個(gè)特殊功能寄存器

Sfr16        特殊功能寄存器聲明        聲明一個(gè)16位的特殊功能寄存器

data        存儲(chǔ)器類型說(shuō)明        直接尋址的內(nèi)部數(shù)據(jù)存儲(chǔ)器

bdata        存儲(chǔ)器類型說(shuō)明        可位尋址的內(nèi)部數(shù)據(jù)存儲(chǔ)器

idata        存儲(chǔ)器類型說(shuō)明        間接尋址的內(nèi)部數(shù)據(jù)存儲(chǔ)器

pdata        存儲(chǔ)器類型說(shuō)明        分頁(yè)尋址的外部數(shù)據(jù)存儲(chǔ)器

xdata        存儲(chǔ)器類型說(shuō)明        外部數(shù)據(jù)存儲(chǔ)器

code        存儲(chǔ)器類型說(shuō)明        程序存儲(chǔ)器

interrupt        中斷函數(shù)說(shuō)明        定義一個(gè)中斷函數(shù)

reentrant        再入函數(shù)說(shuō)明        定義一個(gè)再入函數(shù)

using        寄存器組定義        定義芯片的工作寄存器



附錄二 AT89C51特殊功能寄存器列表(適用于同一架構(gòu)的芯片)

帶*號(hào)的特殊功能寄存器都是可以位尋址的寄存器

符 號(hào)        地 址        注 釋

*ACC        E0H        累加器

*B        F0H        乘法寄存器

*PSW        D0H        程序狀態(tài)字

SP        81H        堆棧指針

DPL        82H        數(shù)據(jù)存儲(chǔ)器指針低8位

DPH        83H        數(shù)據(jù)存儲(chǔ)器指針高8位

*IE        A8H        中斷允許控制器

*IP        D8H        中斷優(yōu)先控制器

*P0        80H        端口0

*P1        90H        端口1

*P2        A0H        端口2

*P3        B0H        端口3

PCON        87H



電源控制及波特率選擇

*SCON        98H        串行口控制器

SBUF        99H        串行數(shù)據(jù)緩沖器

*TCON        88H        定時(shí)器控制

TMOD        89H        定時(shí)器方式選擇

TL0        8AH        定時(shí)器0低8位

TL1        8BH        定時(shí)器1低8位

TH0        8CH        定時(shí)器0低8位

TH1        8DH        定時(shí)器1高8位

附錄三 運(yùn)算符優(yōu)先級(jí)和結(jié)合性

級(jí) 別        類 別        名 稱        運(yùn)算符        結(jié)合性

1        強(qiáng)制轉(zhuǎn)換、數(shù)組、

結(jié)構(gòu)、聯(lián)合        強(qiáng)制類型轉(zhuǎn)換        ( )        右結(jié)合

下標(biāo)        [ ]

存取結(jié)構(gòu)或聯(lián)合成員        ->或.

2        邏 輯        邏輯非        !        左結(jié)合

字 位        按位取反        ~

增 量        加一        ++

減 量        減一        --

指 針        取地址        &

取內(nèi)容        *

算 術(shù)        單目減        -

長(zhǎng)度計(jì)算        長(zhǎng)度計(jì)算        sizeof

3        算 術(shù)        乘        *        右結(jié)合

除        /

取模        %

4        算術(shù)和指針運(yùn)算        加        +

減        -

5        字 位        左移        <<

右移        >>

6        關(guān)系        大于等于        >=

大于        >

小于等于        <=

小于        <

7        恒等于        ==

不等于        !=

8        字 位        按位與        &

9        按位異或        ^

10        按位或        |

11        邏 輯        邏輯與        &&        左結(jié)合

12        邏輯或        ||

13        條 件        條件運(yùn)算        ?:

14        賦 值        賦值        =

復(fù)合賦值        Op=

15        逗 號(hào)        逗號(hào)運(yùn)算        ,        右結(jié)合

1.算術(shù)運(yùn)算符

  用于各類數(shù)值運(yùn)算。包括加(+)、減(-)、乘(*)、除(/)、求余(或稱模運(yùn)算,%)、自增(++)、自減(--)共七種。

  2.關(guān)系運(yùn)算符

  用于比較運(yùn)算。包括大于(>)、小于(<)、等于(==)、大于等于(>=)、小于等于(<=)和不等于(!=)六種。

  3.邏輯運(yùn)算符

  用于邏輯運(yùn)算。包括與(&&)、或(||)、非(!)三種。

  4.位操作運(yùn)算符

  參與運(yùn)算的量,按二進(jìn)制位進(jìn)行運(yùn)算。包括位與(&)、位或(|)、位非(~)、位異或(^)、左移(<<)、右移(>>)六種。

  5.賦值運(yùn)算符

  用于賦值運(yùn)算,分為簡(jiǎn)單賦值(=)、復(fù)合算術(shù)賦值(+=,-=,*=,/=,%=)和復(fù)合位運(yùn)算賦值(&=,|=,^=,>>=,<<=)三類共十一種。

  6.條件運(yùn)算符

  這是一個(gè)三目運(yùn)算符,用于條件求值(?:)。

  7.逗號(hào)運(yùn)算符

  用于把若干表達(dá)式組合成一個(gè)表達(dá)式(,)。

  8.指針運(yùn)算符

  用于取內(nèi)容(*)和取地址(&)二種運(yùn)算。

  9.求字節(jié)數(shù)運(yùn)算符

  用于計(jì)算數(shù)據(jù)類型所占的字節(jié)數(shù)(sizeof)。

  10.特殊運(yùn)算符

  有括號(hào)(),下標(biāo)[],成員(→,.)等幾種。

  優(yōu)先級(jí)和結(jié)合性

  c語(yǔ)言中,運(yùn)算符的運(yùn)算優(yōu)先級(jí)共分為15級(jí)。1級(jí)最高,15級(jí)最低。在表達(dá)式中,優(yōu)先級(jí)較高的先于優(yōu)先級(jí)較低的進(jìn)行運(yùn)算。而在一個(gè)運(yùn)算量?jī)蓚?cè)的運(yùn)算符優(yōu)先級(jí)相同時(shí),則按運(yùn)算符的結(jié)合性所規(guī)定的結(jié)合方向處理。 c語(yǔ)言中各運(yùn)算符的結(jié)合性分為兩種,即左結(jié)合性(自左至右)和右結(jié)合性(自右至左)。例如算術(shù)運(yùn)算符的結(jié)合性是自左至右,即先左后右。如有表達(dá)式x-y+z則y應(yīng)先與“-”號(hào)結(jié)合,執(zhí)行x-y運(yùn)算,然后再



執(zhí)行+z的運(yùn)算。這種自左至右的結(jié)合方向就稱為“左結(jié)合性”。而自右至左的結(jié)合方向稱為“右結(jié)合性”。最典型的右結(jié)合性運(yùn)算符是賦值運(yùn)算符。如x=y=z,由于“=”的右結(jié)合性,應(yīng)先執(zhí)行y=z再執(zhí)行x=(y=z)運(yùn)算。 c語(yǔ)言運(yùn)算符中有不少為右結(jié)合性,應(yīng)注意區(qū)別,以避免理解錯(cuò)誤。

  算術(shù)運(yùn)算符和算術(shù)表達(dá)式基本的算術(shù)運(yùn)算符

  1.加法運(yùn)算符“+”加法運(yùn)算符為雙目運(yùn)算符,即應(yīng)有兩個(gè)量參與加法運(yùn)算。如a+b,4+8等。具有右結(jié)合性。

  2.減法運(yùn)算符“-”減法運(yùn)算符為雙目運(yùn)算符。但“-”也可作負(fù)值運(yùn)算符,此時(shí)為單目運(yùn)算,如-x,-5等具有左結(jié)合性。

  3.乘法運(yùn)算符“*”雙目運(yùn)算,具有左結(jié)合性。

  4.除法運(yùn)算符“/”雙目運(yùn)算具有左結(jié)合性。參與運(yùn)算量均為整型時(shí),結(jié)果也為整型,舍去小數(shù)。如果運(yùn)算量中有一個(gè)是實(shí)型,則結(jié)果為雙精度實(shí)型。

  void main(){

  printf(\"\\n\\n%d,%d\\n\",20/7,-20/7);

  printf(\"%f,%f\\n\",20.0/7,-20.0/7);

  }

  雙目運(yùn)算具有左結(jié)合性。參與運(yùn)算量均為整型時(shí),結(jié)果也為整型,舍去小數(shù)。如果運(yùn)算量中有一個(gè)是實(shí)型,則結(jié)果為雙精度實(shí)型。 printf(\"\\n\\n%d,%d\\n\",20/7,-20/7);

  printf(\"%f,%f\\n\",20.0/7,-20.0/7);

  本例中,20/7,-20/7的結(jié)果均為整型,小數(shù)全部舍去。而20.0/7和-20.0/7由于有實(shí)數(shù)參與運(yùn)算,因此結(jié)果也為實(shí)型。

  5.求余運(yùn)算符(模運(yùn)算符)“%”雙目運(yùn)算,具有左結(jié)合性。要求參與運(yùn)算的量均為整型。求余運(yùn)算的結(jié)果等于兩數(shù)相除后的余數(shù)。

  void main(){

  printf(\"%d\\n\",100%3);

  }

  雙目運(yùn)算,具有左結(jié)合性。求余運(yùn)算符%要求參與運(yùn)算的量均為整型。本例輸出100除以3所得的余數(shù)1。

  自增1,自減1運(yùn)算符

  自增1運(yùn)算符記為“++”,其功能是使變量的值自增1。自減1運(yùn)算符記為“--”,其功能是使變量值自減1。自增1,自減1運(yùn)算符均為單目運(yùn)算,都具有右結(jié)合性。可有以下幾種形式: ++i i自增1后再參與其它運(yùn)算。--i i自減1后再參與其它運(yùn)算。

  i++i參與運(yùn)算后,i的值再自增1。

  i--i參與運(yùn)算后,i的值再自減1。

  在理解和使用上容易出錯(cuò)的是i++和i--。特別是當(dāng)它們出在較復(fù)雜的表達(dá)式或語(yǔ)句中時(shí),常常難于弄清,因此應(yīng)仔細(xì)分析。

  void main(){

  int i=8;

  printf(\"%d\\n\",++i);

  printf(\"%d\\n\",--i);

  printf(\"%d\\n\",i++);

  printf(\"%d\\n\",i--);

  printf(\"%d\\n\",-i++);

  printf(\"%d\\n\",-i--);

  } i<--8

  i<--i+1

  i<--i-1

  i<--i+1

  i<--i-1

  i<--i+1

  i<--i-1 int i=8;

  printf(\"%d\\n\",++i);

  printf(\"%d\\n\",--i);

  printf(\"%d\\n\",i++);

  printf(\"%d\\n\",i--);

  pri



ntf(\"%d\\n\",-i++);

  printf(\"%d\\n\",-i--);

  i的初值為8

  第2行i加1后輸出故為9;

  第3行減1后輸出故為8;

  第4行輸出i為8之后再加1(為9);

  第5行輸出i為9之后再減1(為8);

  第6行輸出-8之后再加1(為9);

  第7行輸出-9之后再減1(為8)

  void main(){

  int i=5,j=5,p,q;

  p=(i++)+(i++)+(i++);

  q=(++j)+(++j)+(++j);

  printf(\"%d,%d,%d,%d\",p,q,i,j);

  }

  i<--5,j<--5,p<--0,q<--0

  i+i+i--->p,i+1-->i,i+1-->i,i+1-->i

  j+1->j,j+1->j,j+1->j,j+j+j->q int i=5,j=5,p,q;

  p=(i++)+(i++)+(i++);

  q=(++j)+(++j)+(++j);

  這個(gè)程序中,對(duì)p=(i++)+(i++)+(i++)應(yīng)理解為三個(gè)i相加,故p值為15。然后i再自增1三次相當(dāng)于加3故i的最后值為8。而對(duì)于q的值則不然,q=(++j)+(++j)+(++j)應(yīng)理解為q先自增1,再參與運(yùn)算,由于q自增1三次后值為8,三個(gè)8相加的和為24,j的最后值仍為8。算術(shù)表達(dá)式表達(dá)式是由常量、變量、函數(shù)和運(yùn)算符組合起來(lái)的式子。一個(gè)表達(dá)式有一個(gè)值及其類型,它們等于計(jì)算表達(dá)式所得結(jié)果的值和類型。表達(dá)式求值按運(yùn)算符的優(yōu)先級(jí)和結(jié)合性規(guī)定的順序進(jìn)行。單個(gè)的常量、變量、函數(shù)可以看作是表達(dá)式的特例。

評(píng)分

參與人數(shù) 3黑幣 +59 收起 理由
morrisliao + 5 很給力!
旋風(fēng)sv + 4 贊一個(gè)!
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:266802 發(fā)表于 2018-1-25 06:29 來(lái)自手機(jī) | 顯示全部樓層
不錯(cuò),收藏了
回復(fù)

使用道具 舉報(bào)

ID:279740 發(fā)表于 2018-1-26 19:56 來(lái)自手機(jī) | 顯示全部樓層
我收藏了,。。
回復(fù)

使用道具 舉報(bào)

ID:279640 發(fā)表于 2018-1-26 19:59 | 顯示全部樓層
挺不錯(cuò)的。;學(xué)習(xí)了!!
回復(fù)

使用道具 舉報(bào)

ID:145935 發(fā)表于 2018-1-27 16:59 | 顯示全部樓層
謝謝樓主分享
回復(fù)

使用道具 舉報(bào)

ID:279878 發(fā)表于 2018-1-28 21:46 | 顯示全部樓層
不錯(cuò) 收藏了 很有幫助
回復(fù)

使用道具 舉報(bào)

ID:266802 發(fā)表于 2018-1-31 06:57 來(lái)自手機(jī) | 顯示全部樓層
bc不錯(cuò)不錯(cuò)
回復(fù)

使用道具 舉報(bào)

ID:260785 發(fā)表于 2018-1-31 08:30 | 顯示全部樓層
感謝分享
回復(fù)

使用道具 舉報(bào)

ID:272625 發(fā)表于 2018-2-5 21:41 來(lái)自手機(jī) | 顯示全部樓層
不錯(cuò),小白收了
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 黄色高清视频 | 日韩中文字幕一区二区三区 | 青青草精品视频 | 国产 欧美 日韩 一区 | 91久久伊人 | 99这里只有精品 | 国产视频一区二区 | 国产一区二区三区免费观看视频 | 精品视频在线观看 | www.久 | 91久久爽久久爽爽久久片 | 日本网站免费观看 | 久久免费精品 | 日韩午夜在线播放 | 99精品欧美一区二区蜜桃免费 | 欧美极品在线观看 | 一区二区日韩 | 精品免费国产视频 | 91麻豆精品一区二区三区 | 超碰97免费在线 | 免费视频一区二区 | 黑人巨大精品欧美一区二区免费 | 欧美一区二区三区国产精品 | 日日综合| 天天爽天天操 | 99热最新网址 | 红桃成人在线 | 亚洲高清视频在线观看 | 中文天堂在线观看 | 性一爱一乱一交一视频 | 中国一级特黄毛片大片 | 亚洲久久久 | 欧美性jizz18性欧美 | 日韩午夜场 | 99欧美精品 | 黄色大片在线免费观看 | 蜜桃在线视频 | 精品视频一区二区三区在线观看 | 美女一级a毛片免费观看97 | 亚洲欧美一区二区三区1000 | 亚洲视频一区二区 |