C語言符號、指令表_第1頁
C語言符號、指令表_第2頁
C語言符號、指令表_第3頁
C語言符號、指令表_第4頁
C語言符號、指令表_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

./編譯指令編譯指令說明#include包含另一個文件#define定義一個宏〔macro或是常量#undef取消一個宏常量的定義#asm和#endasm在程序中加入?yún)R編語言的程序#ifdef、#ifndef、#else、#endif用于條件式的編譯注解://—單行注解;/*多行注解*/基本數(shù)據(jù)類型〔int,float,double,char,void數(shù)據(jù)類型類型說明長度〔位數(shù)據(jù)長度bit位10,1char字符8—128~127unsignedchar無符號字符80~255signedchar有符號字符8—128~127int整型16—32768~32767shortint短整型16—32768~32767unsignedint無符號整型160~65535signedint有符號整型16—32768~32767longint長整型32—2147483648~2147483647unsignedlongint無符號長整型320~4294967295signedlongint有符號長整形32—2147483648~2147483647float浮點數(shù)<實數(shù)>320.175e-38~0.402e38double雙精度浮點320.175e-38~0.402e38void空0沒任何數(shù)據(jù)用戶自定義數(shù)據(jù)類型格式typedefstruct{數(shù)據(jù)類型變量序列1;數(shù)據(jù)類型變量序列1;...}自定義數(shù)據(jù)類型的名稱;保留字_at_,alien,bdata,break,bit,case,char,code,compact,const,continue,data,default,do,double,far,else,enum,extern,float,for,goto,if,funcused,idata,int,inline,interrupt,large,long,pdata,_priority_,reentrant,return,sbit,sfr,sfr16,short,sigend,sizeof,small,static,struct,switchc_task_,typedef,using,union,unsigned,void,volatile,while,xdata常量表示法常數(shù)規(guī)則范例十進制一般十進制格式1234567890二進制開頭加上0b0b00001110八進制開頭加上OO0123十六進制開頭加上0x0xFF45無符號整數(shù)常量結(jié)尾加上U30000U長整數(shù)常量結(jié)尾加上L299L無符號長整數(shù)常量結(jié)尾加上UL327800UL浮點數(shù)的常量結(jié)尾加上F4.234F字符常量以單引號括起來‘a(chǎn)’字符串常量以雙引號括起來"hello"運算符算術(shù)運算運算符說明范例執(zhí)行結(jié)果+加c=a+b;c等于10—減d=a—b;d等于6*乘e=a*b;e等于16/除f=a/b;f等于4%取余數(shù)g=a%b;g等于0++加1c++;相當于c=c+1;c等于11——減1d——;相當于d=d—1;d等于5=等于a=8;設(shè)置a等于8+=先相加在等于e+=5;相當于e=e+5;e等于21—=先相減在等于f—=5;相當于f=f—5;f等于—1*=先相乘在等于b*=5;相當于b=b*5;b等于0/=先相除在等于a/=5;相當于a=a/5;a等于1%=先取余數(shù)在等于a%=5;相當于a=a%5;a等于3※假設(shè)a等于8,b等于2比較運算運算符說明范例執(zhí)行結(jié)果==等于a==5F!=不等于a!=5T<小于a<5F>大于a>5T<=小于等于a<=5F>=大于等于a>=5T※比較運算結(jié)果是個布爾值既TRUE〔真值或FALSE〔假值.假設(shè)a等于8邏輯運算運算符說明范例執(zhí)行結(jié)果&&AND<a>5>&&<a<10>T||OR<a<5>||<a>10>F!NOT!<a>10>T※邏輯運算結(jié)果是個布爾值既TRUE〔真值或FALSE〔假值.假設(shè)a等于8位邏輯運算運算符說明范例執(zhí)行結(jié)果&ANDa&0x01a等于1|ORa|0x80a等于0x85~NOT~aa等于0xFA^XORa^0xFFa等于0xFA〔相同為0,不同為1<<左移a<<1a等于0x0>>右移a>>1a等于0x0A※假設(shè)a等于5控制命令if語句if〔條件語句1;else語句2;例:if<d==4>d=0;//如果d等于4就設(shè)置d等于0elsed++;//否則就將d加1if<ticks==0>{//如果ticks等于0ticks=1000;//ticks設(shè)置成1000counter[0]++;//counter[0]加1}嵌套if語句例:if<counter[0]==10>{counter[1]++;counter[0]=0;if<counter[1]==10>{counter[2]++;counter[1]=0;}}switch語句switch<變量>{case常量1:語句1;break;case常量2:語句2;break;case常量3:語句3;break;......default;語句n;}for循環(huán)for<初值,條件,變化值>語句;例:for<i=0;i<10;i++>x=x+i;for<i=1;i<10,i++>for<j=1;j<10,j++>printf<"%d%d",i,j>;無窮循環(huán):for<;;>;while循環(huán)while<條件>語句;例:while<ch!=!’A’>ch=getche<>;無窮循環(huán):while<1>;do/while循環(huán)do{語句;...}while<條件>;例:do{ch=getche<>;}while<ch!="A">;goto語句loop1:x++;if<x<100>gotoloop1;指針和函數(shù)指針的定義數(shù)據(jù)類型*指針變量的名字;例:char*p;int*x;指針與數(shù)組例:charfilename[80];char*p;p=filename;//指針p存放filename的開始地址intx[5]={1,2,3,4,5};int*p,sum,i;p=x;//指針p存放數(shù)組x的開始地址for<i=0;i<5;i++>sum=sum+p[i];//p[i]相當于x[i]指針的運算1.針變量前面加上*號就是取得指針所指向位置的內(nèi)容.例:intx[5]={1,2,3,4,5};int*p;p=x;//指針p存放數(shù)組x的開始地址*p=10;//相當于設(shè)置x[0]等于102.變量前面加上&符號,可以取得一個變量的位置.例:intx,y;int*p;p=&x;//指針p存放x的地址,相當于p是指向x的指針*p=1;//相當于設(shè)置x等于13.&符號也可以加在數(shù)組的前面例:intx[5];int*p;p=&x[2];//指針p存放x[2]的地址,相當于p是指向x[2]的指針*p=50;//相當于設(shè)置x[2]等于50函數(shù)函數(shù)類型函數(shù)名稱〔參數(shù)序列;參數(shù)說明{函數(shù)的主體}例:voiddelay<void>{//不返回任何數(shù)據(jù)的函數(shù)unsignedchari,j;//沒有任何參數(shù)的函數(shù)for<i=0,i<255,i++>for<j=0,j<255,j++>;}main<>{...delay<>;//調(diào)用函數(shù)}例:unsignedcharsum<unsignedchata,unsignedchatb>{unsignedchatx;check_GLCD_busyflag<>;//函數(shù)中可以調(diào)用另一個函數(shù)x=a+b;returnx;//return會返回x的數(shù)據(jù)}中斷服務(wù)函數(shù)void中斷服務(wù)程序的名稱<void>interrupt中斷號碼using寄存器組號碼{中斷服務(wù)子程序主體}中斷號碼#defineIE0_VECTOR0//0x03#defineTF0_VECTOR1//0x0B#defineIE1_VECTOR2//0x13#defineTF1_VECTOR3//0x1B#defineSIO_VECTOR4//0x23對于S51有定時器2#defineTF2_VECTOR5//0x2B例:staticvoidxint0_isr<void>interruptIE0_VECTOR〔或0using1{unsignedchari,j=0xFF;for<i=0,i<16,i++>{j++;P1=j;//將數(shù)值輸出到P1口delay_4isr<>;}}匯編語言在C中加入?yún)R編語言例:voiddelay100us<>{#pragmaasmmovr7,#1more:movr3,#48djnzr3,$djnzr7,more#pragmaendasm}宏〔macro宏的定義%*define<macro名稱><macro的指令例:%*define<write_1><setbDIserbSKclrSK>#define宏的名稱宏的指令例:#defineucharunsignedchar1級優(yōu)先級左結(jié)合<>圓括號[]下標運算符->指向結(jié)構(gòu)體成員運算符.結(jié)構(gòu)體成員運算符2級優(yōu)先級右結(jié)合!邏輯非運算符~按位取反運算符++自增運算符--自減運算符-負號運算符<類型>類型轉(zhuǎn)換運算符*指針運算符&地址與運算符sizeof長度運算符3級優(yōu)先級左結(jié)合*乘法運算符/除法運算符%取余運算符4級優(yōu)先級左結(jié)合+加法運算符-減法運算符5級優(yōu)先級左結(jié)合<<左移運算符>>右移運算符6級優(yōu)先級左結(jié)合<、<=、>、>=關(guān)系運算符7

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論