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

下載本文檔

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

文檔簡介

1、編譯指令編譯指令說明#include包含另一個(gè)文件#define定義一個(gè)宏(macro)或是常量#undef取消一個(gè)宏常量的定義#asm和#endasm在程序中加入?yún)R編語言的程序#ifdef、#ifndef、#else、#endif用于條件式的編譯注解:/單行注解;/*多行注解*/基本數(shù)據(jù)類型 (int,float,double,char,void)數(shù)據(jù)類型類型說明長度(位)數(shù)據(jù)長度bit位10,1char字符8128127unsigned char無符號(hào)字符80255signed char有符號(hào)字符8128127int整型163276832767short int短整型16327683276

2、7unsigned int無符號(hào)整型16065535signed int有符號(hào)整型163276832767long int長整型3221474836482147483647unsigned long int無符號(hào)長整型3204294967295signed long int有符號(hào)長整形3221474836482147483647float浮點(diǎn)數(shù)(實(shí)數(shù))320.175e-380.402e38double雙精度浮點(diǎn)320.175e-380.402e38void空0沒任何數(shù)據(jù)用戶自定義數(shù)據(jù)類型格式typedef struct數(shù)據(jù)類型 變量序列1;數(shù)據(jù)類型 變量序列1;自定義數(shù)據(jù)類型的名稱;保留字_a

3、t_,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,unsig

4、ned,void,volatile,while,xdata常量表示法常數(shù)規(guī)則范例十進(jìn)制一般十進(jìn)制格式1234567890二進(jìn)制開頭加上0b0b00001110八進(jìn)制開頭加上OO0123十六進(jìn)制開頭加上0x0xFF45無符號(hào)整數(shù)常量結(jié)尾加上U30000U長整數(shù)常量結(jié)尾加上L299L無符號(hào)長整數(shù)常量結(jié)尾加上UL327800UL浮點(diǎn)數(shù)的常量結(jié)尾加上F4.234F字符常量以單引號(hào)括起來a字符串常量以雙引號(hào)括起來“hello”-運(yùn)算符-算術(shù)運(yùn)算運(yùn)算符說明范例執(zhí)行結(jié)果+ 加c=a+b;c 等于10減d=ab;d 等于6*乘e=a*b;e 等于16/除f=a/b;f 等于4%取余數(shù)g=a%b;g 等于0+加

5、1c+;相當(dāng)于c=c+1;c 等于11減1d;相當(dāng)于d=d1;d 等于5=等于a=8;設(shè)置a等于8+=先相加在等于e+=5;相當(dāng)于e=e+5;e 等于21=先相減在等于f=5;相當(dāng)于f=f5;f 等于1*=先相乘在等于b*=5;相當(dāng)于b=b*5;b 等于0/=先相除在等于a/=5;相當(dāng)于a=a/5;a 等于1%=先取余數(shù)在等于a%=5;相當(dāng)于a=a%5;a 等于3假設(shè)a等于8,b等于2比較運(yùn)算運(yùn)算符說明范例執(zhí)行結(jié)果=等于a=5F!=不等于a!=5T<小于a<5F>大于a>5T<=小于等于a<=5F>=大于等于a>=5T比較運(yùn)算結(jié)果是個(gè)布爾值既TR

6、UE(真值)或FALSE(假值)。假設(shè)a等于8邏輯運(yùn)算運(yùn)算符說明范例執(zhí)行結(jié)果&&AND(a>5)&&(a<10)T|OR(a<5)|(a>10)F!NOT!(a>10)T邏輯運(yùn)算結(jié)果是個(gè)布爾值既TRUE(真值)或FALSE(假值)。假設(shè)a等于8位邏輯運(yùn)算運(yùn)算符說明范例執(zhí)行結(jié)果&ANDa&0x01a等于1|ORa|0x80a等于0x85NOTaa等于0xFAXORa0xFFa等于0xFA(相同為0,不同為1)<<左移a<<1a等于0x0A>>右移a>>1a等于0x0A假設(shè)

7、a等于5-控制命令-if語句if(條件) 語句1; else 語句2;例:if(d=4) d=0; /如果d等于4就設(shè)置d等于0else d+; /否則就將d加1 if(ticks=0) /如果ticks等于0ticks=1000; /ticks 設(shè)置成1000counter0+; /counter0加1 嵌套if語句例:if(counter0=10) counter1+;counter0=0;if(counter1=10) counter2+; counter1=0;switch語句switch (變量) case 常量1:語句1; break; case 常量2:語句2; break; c

8、ase 常量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

9、:x+;if(x<100) goto loop1;-指針和函數(shù)-指針的定義數(shù)據(jù)類型 *指針變量的名字;例: char *p;int *x;指針與數(shù)組例: char filename80;char *p;p=filename; /指針p存放filename的開始地址int x5=1,2,3,4,5;int *p,sum,i;p=x; /指針p存放數(shù)組x的開始地址for(i=0;i<5;i+) sum=sum+pi; /pi相當(dāng)于xi指針的運(yùn)算1.針變量前面加上*號(hào)就是取得指針?biāo)赶蛭恢玫膬?nèi)容。例:int x5=1,2,3,4,5;int *p;p=x; /指針p存放數(shù)組x的開始地址*

10、p=10; /相當(dāng)于設(shè)置x0等于102.變量前面加上&符號(hào),可以取得一個(gè)變量的位置。例:int x,y; int *p; p=&x; /指針p存放x的地址,相當(dāng)于p是指向x 的指針 *p=1; /相當(dāng)于設(shè)置x等于13.&符號(hào)也可以加在數(shù)組的前面例:int x5; int *p; p=&x2; /指針p存放x2的地址,相當(dāng)于p是指向x2的指針 *p=50; /相當(dāng)于設(shè)置x2等于50函數(shù)函數(shù)類型 函數(shù)名稱(參數(shù)序列);參數(shù)說明 函數(shù)的主體例:void delay (void) /不返回任何數(shù)據(jù)的函數(shù)unsigned char i,j; /沒有任何參數(shù)的函數(shù) for(

11、i=0,i<255,i+) for(j=0,j<255,j+);main() . delay(); /調(diào)用函數(shù)例:unsigned char sum(unsigned chat a,unsigned chat b) unsigned chat x; check_GLCD_busyflag(); /函數(shù)中可以調(diào)用另一個(gè)函數(shù) x=a+b; return x; /return會(huì)返回x的數(shù)據(jù) 中斷服務(wù)函數(shù)void 中斷服務(wù)程序的名稱(void) interrupt 中斷號(hào)碼 using 寄存器組號(hào)碼中斷服務(wù)子程序主體中斷號(hào)碼#define IE0_VECTOR 0 /0x03#define

12、 TF0_VECTOR 1 /0x0B#define IE1_VECTOR 2 /0x13#define TF1_VECTOR 3 /0x1B#define SIO_VECTOR 4 /0x23對(duì)于S51有定時(shí)器2#define TF2_VECTOR 5 /0x2B例:static void xint0_isr(void) interrupt IE0_VECTOR(或0) using 1 unsigned char i,j=0xFF; for(i=0,i<16,i+) j+; P1=j; /將數(shù)值輸出到P1口 delay_4isr(); -匯編語言-在C中加入?yún)R編語言例:void del

13、ay100us() #pragma asm mov r7,#1 more: mov r3,#48 djnz r3,$ djnz r7,more #pragma endasm-宏(macro)-宏的定義%*define (macro名稱) (macro的指令)例:%*define (write_1) (setb DIserb SKclr SK)#define 宏的名稱 宏的指令例:#define uchar unsigned char1級(jí)優(yōu)先級(jí) 左結(jié)合() 圓括號(hào) 下標(biāo)運(yùn)算符 -> 指向結(jié)構(gòu)體成員運(yùn)算符 . 結(jié)構(gòu)體成員運(yùn)算符 2級(jí)優(yōu)先級(jí) 右結(jié)合! 邏輯非運(yùn)算符 按位取反運(yùn)算符 + 自增運(yùn)算符 - 自減運(yùn)算符 - 負(fù)號(hào)運(yùn)算符 (類型) 類型轉(zhuǎn)換運(yùn)算符 * 指針運(yùn)算符 & 地址與運(yùn)算符 sizeof 長度運(yùn)算符 3級(jí)優(yōu)先級(jí) 左結(jié)合* 乘法運(yùn)算符 / 除法運(yùn)算符 % 取余運(yùn)算符 4級(jí)優(yōu)先級(jí) 左結(jié)合+ 加法運(yùn)算符 - 減法運(yùn)算符 5級(jí)優(yōu)先級(jí) 左結(jié)合<< 左移運(yùn)算符 >> 右移運(yùn)算符 6級(jí)優(yōu)先級(jí) 左結(jié)合<、<=、>、>= 關(guān)系運(yùn)算符 7級(jí)優(yōu)先級(jí) 左結(jié)合= 等于運(yùn)算符 !

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論