C語言基礎 符號、指令表

上傳人:無*** 文檔編號:138663428 上傳時間:2022-08-22 格式:DOC 頁數(shù):10 大?。?21KB
收藏 版權(quán)申訴 舉報 下載
C語言基礎 符號、指令表_第1頁
第1頁 / 共10頁
C語言基礎 符號、指令表_第2頁
第2頁 / 共10頁
C語言基礎 符號、指令表_第3頁
第3頁 / 共10頁

下載文檔到電腦,查找使用更方便

10 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《C語言基礎 符號、指令表》由會員分享,可在線閱讀,更多相關《C語言基礎 符號、指令表(10頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、C語言符號控制命令表 編譯指令 編譯指令 說明 #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 位 1 0,1 char 字符 8 —128~127 unsigned char 無

2、符號字符 8 0~255 signed char 有符號字符 8 —128~127 int 整型 16 —32768~32767 short int 短整型 16 —32768~32767 unsigned int 無符號整型 16 0~65535 signed int 有符號整型 16 —32768~32767 long int 長整型 32 —2147483648~2147483647 unsigned long int 無符號長整型 32 0~4294967295 signed long int 有符號長整形 32 —2

3、147483648~2147483647 float 浮點數(shù)(實數(shù)) 32 0.175e-38~0.402e38 double 雙精度浮點 32 0.175e-38~0.402e38 void 空 0 沒任何數(shù)據(jù) 用戶自定義數(shù)據(jù)類型格式 typedef struct{ 數(shù)據(jù)類型 變量序列1; 數(shù)據(jù)類型 變量序列1; ... }自定義數(shù)據(jù)類型的名稱; 保留字 _at_,alien,bdata,break,bit,case,char,code,compact,const,continue,data, default,do,double,

4、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ī)則 范例 十進制 一般十進制格式 1234

5、567890 二進制 開頭加上0b 0b00001110 八進制 開頭加上O O0123 十六進制 開頭加上0x 0xFF45 無符號整數(shù)常量 結(jié)尾加上U 30000U 長整數(shù)常量 結(jié)尾加上L 299L 無符號長整數(shù)常量 結(jié)尾加上UL 327800UL 浮點數(shù)的常量 結(jié)尾加上F 4.234F 字符常量 以單引號括起來 ‘a(chǎn)’ 字符串常量 以雙引號括起來 “hello” -----------------------------------------------------運算符------------------------------

6、----------------------- 算術運算 運算符 說明 范例 執(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 ++ 加1 c++;相當于c=c+1; c 等于11 —— 減1 d——;相當于d=d—1; d 等于5 = 等于 a=8; 設置a等于8 += 先相加在等于 e+=5;相當于e=e+5; e 等于21 —= 先相減在等于 f—=5;相當于f=

7、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 ※假設a等于8,b等于2 比較運算 運算符 說明 范例 執(zhí)行結(jié)果 == 等于 a==5 F != 不等于 a!=5 T < 小于 a<5 F > 大于 a>5 T <= 小于等于 a<=5 F >= 大于等于 a>=5 T ※比較運算結(jié)果是個布爾值既TRUE(真值)或FALSE(假值)。假設a等于8

8、 邏輯運算 運算符 說明 范例 執(zhí)行結(jié)果 && AND (a>5)&&(a<10) T || OR (a<5)||(a>10) F ! NOT !(a>10) T ※邏輯運算結(jié)果是個布爾值既TRUE(真值)或FALSE(假值)。假設a等于8 位邏輯運算 運算符 說明 范例 執(zhí)行結(jié)果 & AND a&0x01 a等于1 | OR a|0x80 a等于0x85 ~ NOT ~a a等于0xFA ^ XOR a^0xFF a等于0xFA << 左移 a<<1 a等于0x0A >> 右移 a>>

9、1 a等于0x0A ※假設a等于5 ----------------------------------------------------控制命令--------------------------------------------------- if語句 if(條件) 語句1; else 語句2; 例:if(d==4) d=0; //如果d等于4就設置d等于0 else d++; //否則就將d加1 if(ticks==0) { //如果ticks等于0 ticks=1000; //ticks 設置成1000 counter

10、[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) fo

11、r (初值,條件,變化值) 語句; 例: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

12、”); goto語句 loop1: x++; if(x<100) goto loop1; ----------------------------------------------------指針和函數(shù)------------------------------------------------ 指針的定義 數(shù)據(jù)類型 *指針變量的名字; 例: char *p; int *x; 指針與數(shù)組 例: char filename[80]; char *p; p=filename; /

13、/指針p存放filename的開始地址 int x[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)容。 例:int x[5]={1,2,3,4,5}; int *p; p=x; //指針p存放數(shù)組x的開始地址 *p=10;

14、 //相當于設置x[0]等于10 2.變量前面加上&符號,可以取得一個變量的位置。 例:int x,y; int *p; p=&x; //指針p存放x的地址,相當于p是指向x 的指針 *p=1; //相當于設置x等于1 3.&符號也可以加在數(shù)組的前面 例:int x[5]; int *p; p=&x[2]; //指針p存放x[2]的地址,相當于p是指向x[2]的指針 *p=50;

15、//相當于設置x[2]等于50 函數(shù) 函數(shù)類型 函數(shù)名稱(參數(shù)序列); 參數(shù)說明 { 函數(shù)的主體 } 例:void delay (void) { //不返回任何數(shù)據(jù)的函數(shù) unsigned char i,j; //沒有任何參數(shù)的函數(shù) for(i=0,i<255,i++) for(j=0,j<255,j++); } main() { ... delay(); //調(diào)用函數(shù) } 例:unsigned char sum(unsigned chat a,unsigned chat

16、b) { unsigned chat x; check_GLCD_busyflag(); //函數(shù)中可以調(diào)用另一個函數(shù) x=a+b; return x; //return會返回x的數(shù)據(jù) } 中斷服務函數(shù) void 中斷服務程序的名稱(void) interrupt 中斷號碼 using 寄存器組號碼 { 中斷服務子程序主體 } 中斷號碼 #define IE0_VECTOR 0 //0x03 #define TF0_VECTOR 1 //0x0B #define IE1_VE

17、CTOR 2 //0x13 #define TF1_VECTOR 3 //0x1B #define SIO_VECTOR 4 //0x23 對于S51有定時器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口

18、 delay_4isr(); } } -----------------------------------------------------匯編語言-------------------------------------------------- 在C中加入?yún)R編語言 例:void delay100us() { #pragma asm mov r7,#1 more: mov r3,#48 djnz r3,$ djnz r7,more #pragma endasm } -

19、---------------------------------------------------宏(macro)---------------------------------------------- 宏的定義 %*define (macro名稱) (macro的指令) 例:%*define (write_1) ( setb DI serb SK clr SK ) #define 宏的名稱 宏的指令 例:#define uchar unsigned char C語言中的符號總結(jié) 運算符的種類C語言的運算符可分為以下幾類; 1. 算術運算符

20、 用于各類數(shù)值運算,包括加減乘除求余自增自減共七種運算 { ( + ) ,( - ),( * ) ,( / ) ,( % ),( ++ ),( -- )}。 2. 關系運算符 用于比較運算,包括大于(>),小于(<),等于(==),大于等于(>=), 小于等于(<=),不等于(!=)共六種。 3.邏輯運算符 用于邏輯運算,包括與(&&)或(||)非(!)三種. 4.位操作運算符 參與運算的量,按二進制位進行運算,包括: 位與(&),位或(|),位非(~),為異或(^),左移(<<),右移(>>)共六種。 5.賦值運算符 用于賦值運算,分為: 簡單賦值(=

21、) 復合算術賦值(+=,-=,*=,/=,%=) 復合位運算賦值(&=,|=,^=,>>=,<<=)三類共十一種。 6.條件運算符 這是一個三目運算符,用于條件求值(?:)。 7.逗號運算符 用于把若干表達式組合成一個表達式(,)。 8.指針運算符 用于取內(nèi)容(*)和取地址(&)兩種運算。 9.求字節(jié)數(shù)運算符 用于計算數(shù)據(jù)類型所占用的字節(jié)數(shù)(sizeof)。 10.特殊運算符 有括號(),下標[],成員(→, .) 1.C的數(shù)據(jù)類型 基本類型,構(gòu)造類型,指針類型,空類型 2.基本類型的分類及特點 類型說明符 字節(jié) 數(shù)值范

22、圍 字符型char 1 C字符集 基本整型int 2 -32768~32767 短整型short int 2 -32768~32767 長整型 long int 4 -214783648~214783647 無符號型 unsigned 2 0~65535 無符號長整型 unsigned long 4 0~4294967295 單精度實型 float 4 3/4E-38~3/4E+38 雙精度實型 double 8 1/7

23、E-308~1/7E+308 3.常量后綴 L或l 長整型 U或u 無符號數(shù) F或f 浮點數(shù) 4.常量類型 整數(shù),長整數(shù),無符號數(shù),浮點數(shù),字符,字符串,符號常數(shù),轉(zhuǎn)義字符。 5.數(shù)據(jù)類型轉(zhuǎn)換 a自動轉(zhuǎn)換 在不同類型數(shù)據(jù)的混合運算中,由系統(tǒng)自動實現(xiàn)轉(zhuǎn)換, 由少字節(jié)類型向多字節(jié)類型轉(zhuǎn)換。 不同類型的量相互賦值時也由系統(tǒng)自動進行轉(zhuǎn)換,把賦值號右邊的類型轉(zhuǎn)換為左邊的類型。 b強制轉(zhuǎn)換 由強制轉(zhuǎn)換運算符完成轉(zhuǎn)換。 6.運算符優(yōu)先級和結(jié)合性 一般而言,單目運算符優(yōu)先級較高,賦值運算符優(yōu)先級低。 算術運算符優(yōu)先級較高,關系和邏輯運算符優(yōu)先級較低。 多數(shù)運算符具有左結(jié)合性,單目運算

24、符、三目運算符、 賦值 7.表達式 表達式是由運算符連接常量、變量、函數(shù)所組成的式子。 每個表達式都有一個值和類型。 表達式求值按運算符的優(yōu)先級和結(jié)合性所規(guī)定的順序進行。 表示輸出類型的格式字符 格式字符意義 d 以十進制形式輸出帶符號整數(shù)(正數(shù)不輸出符號) o 以八進制形式輸出無符號整數(shù)(不輸出前綴O) x 以十六進制形式輸出無符號整數(shù)(不輸出前綴OX) u 以十進制形式輸出無符號整數(shù) f 以小數(shù)形式輸

25、出單、雙精度實數(shù) e 以指數(shù)形式輸出單、雙精度實數(shù) g 以%f%e中較短的輸出寬度輸出單、雙精度實數(shù) c 輸出單個字符 s 輸出字符串 標志字符為-、+、#、空格四種,其意義下表所示: 標志格式字符 標 志 意 義 - 結(jié)果左對齊,右邊填空格 + 輸出符號(正號或負號)空格輸出值為正時冠以空格,為負時冠以負號 # 對c,s,d,u類無影響;對o類, 在輸出時加前 綴o

26、對x類,在輸出時加前綴0x;對e,g,f 類當結(jié)果有小數(shù)時才給出小數(shù)點 格式字符串 格式字符串的一般形式為: %[*][輸入數(shù)據(jù)寬度][長度]類型 其中有方括號[]的項為任選項。各項的意義如下: 1.類型 表示輸入數(shù)據(jù)的類型,其格式符和意義下表所示。 格式 字符意義 d 輸入十進制整數(shù) o 輸入八進制整數(shù) x 輸入十六進制整數(shù) u 輸入無符號十進制整數(shù) f或e 輸入實型數(shù)(用小數(shù)形式或指數(shù)形式) c 輸入單個字符 s 輸入字符串 轉(zhuǎn)義字符 轉(zhuǎn)義字符是一種特殊的字符常量。轉(zhuǎn)義字符以反斜線”\”開頭,后跟一

27、個或幾個字符。轉(zhuǎn)義字符具有特定的含義,不同于字符原有的意義,故稱“轉(zhuǎn)義”字符。例如,在前面各例題printf函數(shù)的格式串中用到的“\n”就是一個轉(zhuǎn)義字符,其意義是“回車換行”。轉(zhuǎn)義字符主要用來表示那些用一般字符不便于表示的控制代碼。 常用的轉(zhuǎn)義字符及其含義 轉(zhuǎn)義字符 轉(zhuǎn)義字符的意義 \n 回車換行 \t 橫向跳到下一制表位置 \v 豎向跳格 \b 退格 \r 回車 \f 走紙換頁 \\ 反斜線符”\” \’ 單引號符 \a 鳴鈴 \ddd 1~3位八進制數(shù)所代表的字符

28、\xhh 1~2位十六進制數(shù)所代表的字符 廣義地講,C語言字符集中的任何一個字符均可用轉(zhuǎn)義字符來表示。表2.2中的\ddd和\xhh正是為此而提出的。ddd和hh分別為八進制和十六進制的ASCII代碼。如\101表示字?quot;A” ,\102表示字母”B”,\134表示反斜線,\XOA表示換行等。轉(zhuǎn)義字符的使用 在C語言中,對變量的存儲類型說明有以下四種: auto 自動變量 register 寄存器變量 extern 外部變量 static 靜態(tài)變量 自動變量和寄存器變量屬于動態(tài)存儲方式, 外部變量和靜態(tài)變量屬于靜態(tài)存儲方式。在介紹了變量

29、的存儲類型之后, 可以知道對一個變量的說明不僅應說明其數(shù)據(jù)類型,還應說明其存儲類型。 因此變量說明的完整形式應為: 存儲類型說明符 數(shù)據(jù)類型說明符 變量名,變量名…; 例如: static int a,b; 說明a,b為靜態(tài)類型變量 auto char c1,c2; 說明c1,c2為自動字符變量 static int a[5]={1,2,3,4,5}; 說明a為靜整型數(shù)組 extern int x,y; 說明x,y為外部整型變量 與指針有關的各種說明和意義見下表。 int *p; p為指向整型量的指針變量 i

30、nt *p[n]; p為指針數(shù)組,由n個指向整型量的指針元素組成。 int (*p)[n]; p為指向整型二維數(shù)組的指針變量,二維數(shù)組的列數(shù)為n int *p() p為返回指針值的函數(shù),該指針指向整型量 int (*p)() p為指向函數(shù)的指針,該函數(shù)返回整型量 int **p p為一個指向另一指針的指針變量,該指針指向一個整型量。 指針變量的賦值 p可以有以下兩種方式: (1)指針變量初始化的方法 int a; int *p=&a; (2)賦值語句的方法 int a; int *p; p=&a; (1)取地址運算符& (2)取內(nèi)容運算符*

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關資源

更多
正為您匹配相似的精品文檔
關于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!