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

下載本文檔

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

文檔簡介

1、C語言符號(hào)控制命令表編譯指令編譯指令說明#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短整型1

2、63276832767unsigned 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ù)類

3、型的名稱;保留字_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,u

4、nion,unsigned,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

5、%b;g 等于0+加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)算

6、結(jié)果是個(gè)布爾值既TRUE(真值)或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<<左移a<<1a等于0x0A>>右移a>>1a等于0x0A假設(shè)a

7、等于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; ca

8、se 常量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的開始地址*p

10、=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(i

11、=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對于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 dela

13、y100us() #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 charC語言中的符號(hào)總結(jié)運(yùn)算符的種類C語言的運(yùn)算符可分為以下幾類;1. 算術(shù)運(yùn)算符 用于各類數(shù)值運(yùn)算,包括加減乘除求余自增自減共七種運(yùn)算 ( + ) ,( - ),( *

14、) ,( / ) ,( % ),( + ),( - )。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)算,分為: 簡單賦值(=) 復(fù)合算術(shù)賦值(+=,-=,*=,/=,%=) 復(fù)合位運(yùn)算賦值(&=,|=

15、,=,>>=,<<=)三類共十一種。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),成員(, .)1.C的數(shù)據(jù)類型基本類型,構(gòu)造類型,指針類型,空類型2.基本類型的分類及特點(diǎn)類型說明符 字節(jié) 數(shù)值范圍字符型char 1 C字符集基本整型int 2 -3276832767短整型short int 2 -3276832767長整型 long i

16、nt 4 -214783648214783647無符號(hào)型 unsigned 2 065535無符號(hào)長整型 unsigned long 4 04294967295單精度實(shí)型 float 4 3/4E-383/4E+38雙精度實(shí)型 double 8 1/7E-3081/7E+3083.常量后綴L或l 長整型U或u 無符號(hào)數(shù)F或f 浮點(diǎn)數(shù)4.常量類型整數(shù),長整數(shù),無符號(hào)數(shù),浮點(diǎn)數(shù),字符,字符串,符號(hào)常數(shù),轉(zhuǎn)義字符。5.數(shù)據(jù)類型轉(zhuǎn)換a自動(dòng)轉(zhuǎn)換在不同類型數(shù)據(jù)的混合運(yùn)算中,由系統(tǒng)自動(dòng)實(shí)現(xiàn)轉(zhuǎn)換, 由少字節(jié)類型向多字節(jié)類型轉(zhuǎn)換。 不同類型的量相互賦值時(shí)也由系統(tǒng)自動(dòng)進(jìn)行轉(zhuǎn)換,把賦值號(hào)右邊的類型轉(zhuǎn)換為左邊的類型。

17、b強(qiáng)制轉(zhuǎn)換由強(qiáng)制轉(zhuǎn)換運(yùn)算符完成轉(zhuǎn)換。6.運(yùn)算符優(yōu)先級和結(jié)合性一般而言,單目運(yùn)算符優(yōu)先級較高,賦值運(yùn)算符優(yōu)先級低。 算術(shù)運(yùn)算符優(yōu)先級較高,關(guān)系和邏輯運(yùn)算符優(yōu)先級較低。 多數(shù)運(yùn)算符具有左結(jié)合性,單目運(yùn)算符、三目運(yùn)算符、 賦值7.表達(dá)式表達(dá)式是由運(yùn)算符連接常量、變量、函數(shù)所組成的式子。 每個(gè)表達(dá)式都有一個(gè)值和類型。 表達(dá)式求值按運(yùn)算符的優(yōu)先級和結(jié)合性所規(guī)定的順序進(jìn)行。表示輸出類型的格式字符 格式字符意義d 以十進(jìn)制形式輸出帶符號(hào)整數(shù)(正數(shù)不輸出符號(hào))o 以八進(jìn)制形式輸出無符號(hào)整數(shù)(不輸出前綴O)x 以十六進(jìn)制形式輸出無符號(hào)整數(shù)(不輸出前綴OX)u 以十進(jìn)制形式輸出無符號(hào)整數(shù)f 以小數(shù)形式輸出單、雙精

18、度實(shí)數(shù)e 以指數(shù)形式輸出單、雙精度實(shí)數(shù)g 以%f%e中較短的輸出寬度輸出單、雙精度實(shí)數(shù)c 輸出單個(gè)字符s 輸出字符串標(biāo)志字符為-、+、#、空格四種,其意義下表所示:標(biāo)志格式字符 標(biāo) 志 意 義- 結(jié)果左對齊,右邊填空格+ 輸出符號(hào)(正號(hào)或負(fù)號(hào))空格輸出值為正時(shí)冠以空格,為負(fù)時(shí)冠以負(fù)號(hào)# 對c,s,d,u類無影響;對o類, 在輸出時(shí)加前綴o 對x類,在輸出時(shí)加前綴0x;對e,g,f 類當(dāng)結(jié)果有小數(shù)時(shí)才給出小數(shù)點(diǎn)格式字符串格式字符串的一般形式為: %*輸入數(shù)據(jù)寬度長度類型 其中有方括號(hào)的項(xiàng)為任選項(xiàng)。各項(xiàng)的意義如下:1.類型表示輸入數(shù)據(jù)的類型,其格式符和意義下表所示。格式 字符意義d 輸入十進(jìn)制整數(shù)

19、o 輸入八進(jìn)制整數(shù)x 輸入十六進(jìn)制整數(shù)u 輸入無符號(hào)十進(jìn)制整數(shù)f或e 輸入實(shí)型數(shù)(用小數(shù)形式或指數(shù)形式)c 輸入單個(gè)字符s 輸入字符串轉(zhuǎn)義字符轉(zhuǎn)義字符是一種特殊的字符常量。轉(zhuǎn)義字符以反斜線”開頭,后跟一個(gè)或幾個(gè)字符。轉(zhuǎn)義字符具有特定的含義,不同于字符原有的意義,故稱“轉(zhuǎn)義”字符。例如,在前面各例題printf函數(shù)的格式串中用到的“n”就是一個(gè)轉(zhuǎn)義字符,其意義是“回車換行”。轉(zhuǎn)義字符主要用來表示那些用一般字符不便于表示的控制代碼。常用的轉(zhuǎn)義字符及其含義轉(zhuǎn)義字符 轉(zhuǎn)義字符的意義n 回車換行t 橫向跳到下一制表位置v 豎向跳格b 退格r 回車f 走紙換頁 反斜線符” 單引號(hào)符a 鳴鈴ddd 13位八進(jìn)制數(shù)所代表的字符xhh 12位十六進(jìn)制數(shù)所代表的字符廣義地講,C語言字符集中的任何一個(gè)字符均可用轉(zhuǎn)義字符來表示。表2.2中的ddd和xhh正是為此而提出的。ddd和hh分別為八進(jìn)制和十六進(jìn)制的ASCII代碼。如101表示字?quot;A” ,102表示字母”B”,134表示反斜線,X

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論