版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、Keil c51函數(shù)參考一、數(shù)學函數(shù)(1)cabs原型:char cabs(char val);功能:cabs函數(shù)取val的絕對值。參數(shù):一字節(jié)數(shù)val。返回:cabs返回val的絕對值。(2)abs原型:Int abs(int val);功能:求絕對值參數(shù):val整型數(shù)返回:val的絕對值(3)labs原型:long labs(long val);功能:labs函數(shù)確定長整數(shù)val的絕對值。返回:val的絕對值。(4)fabs原型:float fabs(float val);功能:fabs函數(shù)確定浮點數(shù)val的絕對值。參數(shù):返回:fabs返回val的絕對值。(5)sqrt原型:float s
2、prt(float x);功能:sqrt函數(shù)計算x的平方根。返回:sqrt函數(shù)返回x的正平方根。(6)exp原型:float exp(float x);功能:exp函數(shù)計算自然對數(shù)中e的x次冪。e2.71828182845953581496,是無限循環(huán)小數(shù)。返回:ex 的值。(7)log原型:float log(float val);功能:log函數(shù)計算浮點數(shù)val的自然對數(shù)。自然對數(shù)基數(shù)為e。返回:val的浮點自然對數(shù)。(8)log10原型:float log10(float val);功能:logl0函數(shù)計算浮點數(shù)val的常用對數(shù)。常用對數(shù)為基數(shù)10。返回:val的浮點常用對數(shù)。(9)si
3、n原型:float sin(float x);功能:sin函數(shù)計算浮點數(shù)x的正弦值。參數(shù):x必須在-6553565535之間,或產(chǎn)生一個NaN錯誤。返回:sin函數(shù)返回x的正弦。(10)cos原型:float cos(float x);功能:COS函數(shù)計算浮點數(shù)X的余弦。參數(shù):X的值必須在-6553565535之間,或產(chǎn)生一個NaN錯誤。返回:COS函數(shù)返回X的余弦。(11)tan原型:float tan(float x);功能:tan函數(shù)計算浮點數(shù)x的正切值。參數(shù):x必須在-6553565535之間,或錯誤值NaN。返回:tan函數(shù)返回x的正切。(12)asin原型:float asin(f
4、loat x);功能:求反正弦參數(shù):浮點數(shù)x,取值必須在-11之間。返回:X的反正弦,值在-/2/2之間。(13)acos原型:float acos(float x);功能:求反余弦參數(shù):浮點數(shù)x,取值必須在-11之間。返回:x的反余弦,值在0之間。(14)atan原型:float atan(float x);功能:求反正切參數(shù):浮點數(shù)x,取值必須在-11之間。返回:X的反正切,值在-/2/2之間。(15)sinh原型:float sinh(float x);功能:sinh函數(shù)計算浮點數(shù)X的雙曲正弦。參數(shù):x必須在-6553565535之間,或產(chǎn)生一個NaN錯誤。返回:sinh函數(shù)返回x的雙曲
5、正弦。(16)cosh原型:float cosh(float x);功能:cosh函數(shù)計算浮點數(shù)X的雙曲余弦。參數(shù):返回:cosh函數(shù)返回X的雙曲余弦。(17)tanh原型:float tanh(float x);功能:tanh函數(shù)計算浮點數(shù)x的雙曲正切。返回:tanh函數(shù)返回x的雙曲正切。(18)atan2原型:float atan2(float y,float x);功能:計算浮點數(shù)y/x的反正切。參數(shù):浮點數(shù)y,浮點數(shù)x。返回:反正切值,值在-之間。x和y的符號確定返回值的象限。(19)ceil原型:float ceil(float val)功能:ceil函數(shù)計算大于或等于val的最小整
6、數(shù)值(收尾取整)。參數(shù):要化為整數(shù)的數(shù)。返回:ceil函數(shù)返回不小于val的最小float整數(shù)值。(20)floor原型:float floor(float val);功能:取整。返回:floor函數(shù)返回不大于val的最大整數(shù)值。(21)fmod原型:float fmod(float x,float y);功能:取模。返回:x/y的浮點余數(shù)。(22)modf原型:float modf(float val,float *ip);功能:modf函數(shù)把浮點數(shù)val分成整數(shù)和小數(shù)部分。返回:modf函數(shù)返回帶符號小數(shù)部分val。整數(shù)部分保存在浮點數(shù)ip中。(23)pow原型:float pow(flo
7、at x,float y);功能:pow函數(shù)計算x的y次冪。返回:pow函數(shù)返回值xy。如果x0和y=O,pow返回值1;如果x=0和y0,pow返回NaN。如果xO和y不是一個整數(shù),pow返回NaN。二、空操作,左右位移等內嵌代碼(1)_nop_原型:void _nop_(void);功能:_nop_插入一個8051NOP空操作指令到程序,用來停頓1個CPU周期。本程序是固有函數(shù),代碼要求內嵌而不是調用。返回:無。(2)_testbit_原型:bit _testbit_(bit b);功能:_testbit_程序在生成的代碼中用JBC指令來測試位b,并清零。參數(shù):本程序只能用在直接尋址位變量
8、,對任何類型的表達式無效。固有函數(shù),代碼要求內嵌,而非調用。返回:_testbit_程序返回值b(3)_cror_原型:unsigned char _cror_(unsigned char c, unsigned char b);功能:_cror_程序字符c循環(huán)右移b位。固有函數(shù),代碼要求內嵌,而不是調用。參數(shù):返回:右移的結果(4)_iror_原型:unsigned int _iror_(unsigned int i, unsigned char b);功能:_iror_程序將整數(shù)i循環(huán)右移b位。固有函數(shù),代碼要求內嵌而不是被調用。參數(shù):i右移的整數(shù),b右移的次數(shù)。返回:_iror_程序返回
9、右移后的值。(5)_lror_原型:unsigned long _lror_(unsigned long l,unsigned char b);功能:_lror_程序將長整數(shù)l循環(huán)右移b位。固有函數(shù)代碼,要求內嵌而不是被調用。參數(shù):l要右移的數(shù),b要右移的位數(shù)。返回:返回右移后的值。摘要:#include。(6)_crol_原型:unsigned char _crol_(unsigned char c, unsigned char b);功能:_crol_程序字符c循環(huán)左移b位。固有函數(shù),代碼要求內嵌,而不是調用。參數(shù):返回:左移的結果(7)_irol_原型:unsigned int _iro
10、l_(unsigned int i, unsigned char b);功能:_irol_程序將整數(shù)i循環(huán)左移b位。固有函數(shù),代碼要求內嵌而不是被調用。參數(shù):i左移的整數(shù),b左移的次數(shù)。返回:_irol_程序返回左移后的值。(8)_lrol_原型:unsigned long _lrol_(unsigned long l,unsigned char b);功能:_lrol_程序將長整數(shù)l循環(huán)左移b位。固有函數(shù),代碼要求內嵌而不是被調用。參數(shù):l要左移的數(shù),b要左移的位數(shù)。返回:返回左移后的值。(9)_chkfloat_原型:unsigned char _chkfloat_(float val);
11、功能:檢查浮點數(shù)的狀態(tài)。參數(shù):浮點型變量。返回:0,標準浮點數(shù);1,浮點數(shù)0;2,正溢出;3,負溢出;4,NaN(不是一個數(shù))錯誤狀態(tài)。(10)_push_原型:void _push_(unsigned char _sfr);功能:將特殊功能寄存器_sfr壓入堆棧。(11)_pop_原型:void _pop_(unsigned char _sfr);功能:將堆棧中的數(shù)據(jù)彈出到特殊功能寄存器_sfr。三、字串轉數(shù)字,隨機數(shù),存儲池管理(1)atof原型:float atof(void *string);功能:將浮點數(shù)格式的字符串轉換為浮點數(shù)。如果string的第一個字符不能轉換成數(shù)字,就停止處理
12、。參數(shù):格式為,+|-數(shù)字.數(shù)字e|E+|-數(shù)字。如,-12.345e+67返回:atof函數(shù)返回string的浮點值。(2)atoi原型:int atoi(void *string);功能:atoi函數(shù)轉換string為一個整數(shù)值。string是一個字符序列,可以解釋為一個整數(shù)。如果string的第一個字符不能轉換成數(shù)字,就停止處理。參數(shù):atoi函數(shù)要求string有這樣的格式:空格+|-數(shù)字,如”123456”。返回:atoi函數(shù)返回string的整數(shù)值。(3)atol原型:long atol(void *string);功能:atol函數(shù)轉換string為一個長整數(shù)值。string是一
13、個字符序列,可以解釋為一個長整數(shù)。如果string的第一個字符不能轉換成數(shù)字,就停止處理。參數(shù):atol函數(shù)要求string有這樣的格式:空格+|-數(shù)字,如”1234567890”。返回:atol函數(shù)返回string的長整數(shù)值。(4)rand原型:int rand(void);功能:rand函數(shù)產(chǎn)生一個032767之間的虛擬隨機數(shù)。返回:rand函數(shù)返回一個虛擬隨機數(shù)。(5)srand原型:void srand(int seed);功能:srand函數(shù)設置rand函數(shù)所用的虛擬隨機數(shù)發(fā)生器的起始值seed,隨機數(shù)發(fā)生器對任何確定值seed產(chǎn)生相同的虛擬隨機數(shù)序列。返回:無。(6)strtod原
14、型:unsigned long strtod(const char *string, char *ptr);功能:strtod函數(shù)將一個浮點數(shù)格式的字符串string轉換為一個浮點數(shù)。字符串開頭的空白字符被忽略。參數(shù):要求string有下面的格式: +|-digits.digitse|E+|-digitsdigits可能是一個或多個十進制數(shù)。ptr的值設置指針到string中轉換部分的第一個字符。如果ptr是NULL,沒有值和ptr關聯(lián)。如果不能轉換,則prt就設為string的值,strtod返回0。返回:strtod函數(shù)返回由string生成的浮點數(shù)。(7)strtol原型:long st
15、rtol(const char *string, char *ptr, unsigned char base);功能:strtol函數(shù)將一個數(shù)字字串string轉換為一個long值。參數(shù):輸入string是一個字符序列,可以解釋為一個整數(shù)。字符串開頭的空白字符被忽略,符號可選。要求string有下面的格式:whitespace+|-digitsdigits可能是一個或多個十進制數(shù)。如果base是零,數(shù)值應該有一個十進制常數(shù)、八進制常數(shù)或十六進制常數(shù)的格式。數(shù)值的基數(shù)從格式推出。如果base在236之間,數(shù)值必須是一個字母或數(shù)字的非零序列,表示指定基數(shù)的一個整數(shù)。字母az(或AZ)分別表示值10
16、36。只有小于base的字母表示的值是允許的。如果base是16,數(shù)值可能以0x或0X開頭,0x或0x被忽略。prt的值設置指針指向string中轉換部分的第一個字符。如果prt是NULL,沒有值和ptr關聯(lián)。如果不能轉換,prt設置為string的值,strtol返回0。返回:strtol函數(shù)返回string生成的整數(shù)值。如溢出則返回LONG_MIN或LONG_MAX。(8)strtoul原型:unsigned long strtoul(const char *string, char *ptr, unsigned char base);功能:strtoul函數(shù)轉換string為一個unsi
17、gned long值。參數(shù):與strtol函數(shù)類似。返回:strtoul函數(shù)返回string生成的整數(shù)值。如溢出則返回ULONG_MAX。(9)init_mempool原型:void inti_mempool(void xdata *p, unsigned int size);功能:init_mempool 函數(shù)初始化存儲管理程序,提供存儲池的開始地址和大小。本函數(shù)必須在任何其他的存儲管理函數(shù)(calloc,free,malloc,realloc)被調用前設置存儲池,只在程序的開頭調用一次。可以修改源程序以適合硬件環(huán)境。參數(shù):p參數(shù)指向一個xdata的存儲區(qū),用calloc,free,mall
18、oc和realloc庫函數(shù)管理。size參數(shù)指定存儲池所用的字節(jié)數(shù)。返回:無。(10)malloc原型:void xdata *malloc(unsigned int size);功能:malloc函數(shù)從存儲池分配size字節(jié)的存儲塊。返回:malloc返回一個指向所分配的存儲塊的指針,如果沒有足夠的空間,則返回一個NULL指針。(11)free原型:void free(void xdata *p);功能:free函數(shù)返回一個存儲塊到存儲池。p參數(shù)指向用calloc、malloc或realloc函數(shù)分配的存儲塊。一旦塊返回到存儲就可被再分配。如果p是一個NULL指針,被忽略。本程序的源代碼在K
19、EILC51LIB目錄中,可以修改源程序,根據(jù)硬件來定制本程序。參數(shù):返回:無。(12)realloc原型:void xdata *realloc(void xdata *p,unsigned int size);功能:realloc函數(shù)改變已分配的存儲塊的大小。本程序的源代碼在目錄KEILC5ILIB中,可以根據(jù)硬件環(huán)境定制本函數(shù)。參數(shù):P參數(shù)指向己分配塊,size參數(shù)指定新塊的大小。原塊的內容復制到新塊,新塊中的任何其他區(qū),如果是一個更大的塊不初始化。返回:realloc返回一個指向新塊的指針。如果存儲池沒有足夠的存儲區(qū),返回一個NULL指針,存儲塊不受影響。(13)calloc原型:vo
20、id xdata *calloc(unsigned int num,unsigned int len);功能:calloc函數(shù)從一個數(shù)組分配num個元素的存儲區(qū)。每個元素占用len字節(jié),并清0。字節(jié)總數(shù)為num*len。在LIB目錄提供程序的源代碼??梢孕薷脑闯绦?,為硬件定制本函數(shù)。參數(shù):num為元素數(shù)目,len為每個元素的長度。返回:calloc函數(shù)返回一個指針,指向分配的存儲區(qū),如果不能分配,則返回一個NULL指針。四、流輸入輸出(1)_getkey原型:char _getkey(void);功能:_getkey函數(shù)等待從串口接收字符。_getkey和putchar函數(shù)的源代碼可以修改,提
21、供針對硬件的字符級的I/O。返回:接收到的字符(2)getchar原型:char getchar(void);功能:getchar函數(shù)用_getkey函數(shù)從輸入流讀一個字符。所讀的字符用putchar函數(shù)顯示。本函數(shù)基于_getkey或putchar函數(shù)的操作。這些函數(shù),在標準庫中提供,用8051的串口讀和寫字符。定制函數(shù)可以用別的I/O設備。返回:所讀的字符。(3)ungetchar原型:char ungetchar(char c);功能:ungetchar函數(shù)把字符c放回到輸入流。子程序被getchar和別的返回c的流輸入函數(shù)調用。getchar在調用時只能傳遞一個字符給ungetehar
22、。參數(shù):返回:如果成功,ungetchar函數(shù)返回字符c。如果調用者在讀輸入流時調用ungetchar多次,返回EOF表示一個錯誤條件。(4)putchar原型:char putchr(char c);功能:putchar函數(shù)用8051的串口輸出字符c。本程序指定執(zhí)行,功能可能有變。因提供了_getkey和putchar函數(shù)的源程序,可以根據(jù)任何硬件環(huán)境修改以提供字符級的I/O。參數(shù):返回:putchar函數(shù)返回輸出的字符c。(5)printf原型:int printf(const char *fmtstr ,arguments);功能:printf函數(shù)格式化一系列的字符串和數(shù)值,生成一個字符
23、串用putchar寫到輸出流。參數(shù):fmtstr參數(shù)是一個格式化字符串,可能是字符、轉義系列和格式標識符。普通的字符和轉義系列按說明的順序復制到流。格式標識符通常以百分號(%)開頭,要求在函數(shù)調用中包含附加的參數(shù)Arguments。格式字符串從左向右讀。第一個格式標識符使用fmtstr后的第一個參數(shù),用格式標識符轉換和輸出。第二個格式標識符訪問fmtstr后的第二個參數(shù)。如果參數(shù)比格式標識符多,多出的參數(shù)被忽略。如果參數(shù)不夠,結果是不可預料的。格式標識符用下面的格式:%flagswidth.precisionb|B|l|Ltype格式標識符中的每個域可以是一個字符或數(shù)字type域是一個字符,指
24、定參數(shù)是否解釋為一個字符、字符串、數(shù)字或指針。如下表所示:可選的字符b或B和l和L可直接放在類型字符前,分別指定整數(shù)類型d、i、u、o、x和X的char或long版本。flags 域是單個字符,用來對齊、輸出和打印+/-號、空白、小數(shù)點、八進制和十六進制的前綴。如下表所示:width 域是一個非負數(shù)字,指定顯示的最小字符數(shù)。如果輸出值的字符數(shù)小于width,空白會加到左邊或右邊(當指定了一個標記)以達到最小的寬度。如果width用一個0作前綴,則填充的是零而不是空白。width域不會截短一個域。如果輸出值的長度超過指定寬度,則輸出所有的字符。width域可能是星號(*),在這種情況下,參數(shù)列表
25、的一個int參數(shù)提供寬度值。如果參數(shù)使用的是unsigned char,在星號標識符前指定一個b。precision域是非負數(shù)字,指定顯示的字符數(shù)、小數(shù)位數(shù)或有效位。precison域可能使輸出值切斷或舍入。precision域可能是星號(*),在這種情況,參數(shù)列表的一個int參數(shù)提供寬度值。如果參數(shù)使用的是unsigned char,在星號標識符前指定一個b。本函數(shù)指定執(zhí)行基于putchar函數(shù)的操作。本函數(shù)作為標準庫提供,用805l的串口寫字符,用別的I/O設備可以定制函數(shù)。必須確保參數(shù)類型和指定的格式匹配??捎妙愋陀成浯_保正確的類型傳遞到printf??蓚鬟f給 printf 的總的字節(jié)數(shù)
26、受到 8051 的存儲區(qū)的限制。SMALL 模式和COMPACT模式最多15字節(jié),LARGE模式最多40字節(jié)。返回:printf函數(shù)返回實際寫到輸出流的字符數(shù)。(6)sprintf原型:int sprintf(char *buffer,const char *fmtstr ,arguments);功能:sprintf函數(shù)格式化一系列的字符串和數(shù)值,并保存結果字符串在buffer fintstr。參數(shù):參數(shù)是一個格式字符串,和printf函數(shù)指定的要求相同。返回:sprintf函數(shù)返回實際寫到buffer的字符數(shù)。(7)vprintf原型:void vprintf(const char *fmt
27、str, char *argptr);功能:vprintf函數(shù)格式化一系列字符串和數(shù)字值,并建立一個用puschar函數(shù)寫到輸出流的字符串,函數(shù)類似于printf的副本,但使用參數(shù)列表的指針,而不是一個參數(shù)列表。本函數(shù)是指定執(zhí)行的,基于putchar函數(shù)的操作。本函數(shù)作為標準庫提供,用8051的串口寫字符。別的I/O設備可以定制函數(shù)。參數(shù):fmtstr參數(shù)是一個指向一個格式字符串的指針,和printf函數(shù)的fmtstr參數(shù)有相同的形式和功能。argptr參數(shù)指向一系列參數(shù),根據(jù)格式中指定的對應格式轉換和輸出。返回:vprintf函數(shù)返回實際寫到輸出流的字符數(shù)。(8)vsprimf原型:void
28、 vsprintf(char *buffer, const char *fmtstr, char *argptr);功能:vsprintf函數(shù)格式化一系列字符串和數(shù)字值,并保存字符串在Buffer中。函數(shù)類似于sprintf的副本,但使用參數(shù)列表的指針,而不是一個參數(shù)列表。參數(shù):fmtstr參數(shù)是一個指向一個格式字符串的指針,和printf函數(shù)的fmtstr參數(shù)有相同的形式和功能。argptr參數(shù)指向一系列參數(shù),根據(jù)格式中指定的對應格式轉換和輸出。返回:vsprintf函數(shù)返回實際寫到輸出流的字符數(shù)。 (9)gets原型:char *gets(char *string, int len);功能
29、:gets函數(shù)調用getchar函數(shù)讀一行字符到string。這行包括所有的字符和換行符(n)。在string中換行符被一個NULL字符(n)替代。len參數(shù)指定可讀的最多字符數(shù)。如果長度超過len,gets函數(shù)用NULL字符終止string并返回。本函數(shù)指定執(zhí)行基于_getkey或putchar函數(shù)的操作。這些函數(shù),在標準庫中提供,用8051的串口讀寫。對別的I/O設備可以定制。參數(shù):string要讀的字符串,len最多字符數(shù)。返回:gets函數(shù)返回string(10)scanf原型:int scanf(sonst char *fmtstr ,argument);功能:scanf函數(shù)用get
30、char程序讀數(shù)據(jù)。輸入的數(shù)據(jù)保存在由argument根據(jù)格式字符串fmtstr指定的位置。參數(shù):每個argument必須是一個指針,指向一個變量,對應fmtstr定義的類型,fmtstr控制解釋輸入的數(shù)據(jù),fmtstr參數(shù)由一個或單個空白字符、非空白字符和下面定義的格式標識符組成。 空白字符,空白( ),制表(t)或換行(n),使scanf跳過輸入流中的空白字符。格式字符串中的單個的空白字符匹配輸入流的0或多個空白字符。 非空白字符,除了百分號(%),使scanf從輸入流讀但不保存一個匹配字符。如果輸入流的下一個字符和指定的非空白字符不匹配,scanf函數(shù)終止。 格式標識符以百分號(%)開頭
31、,使scanf從輸入流讀字符,并轉換字符到指定的類型值。轉換后的值保存在參數(shù)列表的argument中。百分號后面的字符不被認為是一個格式標識符,只作為一個普通字符。例如%匹配輸入流的一個百分號。格式字符串從左向右讀,不是格式標識符的字符必須和輸入流的字符匹配。這些字符從輸入流讀入,但不保存,如果輸入流的一個字符和格式字符串沖突,scanf終止。任何沖突的字符仍保留在輸入流中。在格式字符串中的第一個格式標識符引用fmtstr后面的第一個參數(shù),并轉化輸入字符,用格式標識符保存值。第二個格式標識符訪問fmtstr后面的第二個參數(shù),等等。如果參數(shù)比格式標識符多,多出的參數(shù)被忽略。如果沒有足夠的參數(shù)匹配
32、格式標識符,結果是不可預料的。輸入流中的值被輸入域調用,用空白字符隔開。在轉換輸入域時,scanf遇到一個空白字符就結束一個參數(shù)的轉換,而且任何當前格式標識符不認識的字符會結束一個域轉換。格式標識符的格式:%*widthb|h|ltype格式標識符中的每個域可以是單個字符或數(shù)字,用來指定一個特殊的格式選項。type域是單個字符,指定輸入字符是否解釋為一個字符、字符串或數(shù)字。本域可以是下表中的任何值。以星號(*)作為格式標識符的第一個字符,會使輸入域被掃描但不保存。星號禁止和格式標識符關聯(lián)。width域是一個非負數(shù),指定從輸入流讀入的最多字符數(shù)。從輸入流讀入的字符不超過width,并根據(jù)相應的a
33、rgument轉換。然而,如果一個空白字符或一個不認識字符先遇到,則讀入的字符數(shù)小于width??蛇x字符b,h和l直接放在類型字符前面,分別指定整數(shù)類型d,i,u,o和x的char,short或long版本。本函數(shù)指定執(zhí)行基于_getkey或putchar函數(shù)的操作。這些函數(shù),作為標準庫提供,用805l的串口讀寫??蓪e的I/O設備定制函數(shù)。可以傳遞給scanf的字節(jié)數(shù)受8051存儲區(qū)的限制。SMALL模式或COMPACT模式最多為15字節(jié)。LARGE模式最多為40字節(jié)。返回:scanf函數(shù)返回成功轉換的輸入域的數(shù)目。如果有錯誤則返回EOF。(11)sscanf原型:int sscanf(ch
34、ar *buffer,const char *fmtstr ,argument);功能:sscanf函數(shù)從buffer讀字符串。參數(shù):輸入的數(shù)據(jù)保存在由argument根據(jù)格式字符串fmtstr指定的位置。每個argument必須是指向變量的指針,對應定義在 fmtstr 的類型,控制輸入數(shù)據(jù)的解釋。fmtstr參數(shù)由一個或多個空白字符、非空白字符和格式標識符組成,如同scanf函數(shù)所定義。返回:sscanf函數(shù)返回成功轉換的輸入域的數(shù)目,如果出現(xiàn)錯誤則返回EOF。(12)puts原型:int puts(const char *string);功能:puts函數(shù)用putchar函數(shù)寫strin
35、g和換行符n到輸出流。本函數(shù)指定執(zhí)行基于putchar函數(shù)的操作。本函數(shù)作為標準庫提供,寫字符到8051的串口。用別的I/O口可以定制函數(shù)。參數(shù):輸出的字符串。返回:如果出現(xiàn)錯誤,puts函數(shù)返回EOF,如果沒有則返回0。五、字符測試(1)isalpha原型:bit isalpha(char c);功能:isalpha函數(shù)測試參數(shù)c,確定是否是一個字母(AZ,az)。返回:如果c是一個字母,isalpha函數(shù)返回1(真),否則返回0(假)。(2)isalnum原型:bit isalnum(char c);功能:isalnum函數(shù)測試參數(shù)c,確定是否是一個字母或數(shù)字字符(AZ,az,09)。返回
36、:如果c是一個字母或數(shù)字字符,isalnum函數(shù)返回1(真),否則返回0(假)。(3)iscntrl原型:bit iscntrl (char c);功能:iscntrl函數(shù)測試參數(shù)c,確定是否是一個控制字符(0x000x1F或0x7F)。返回:如果c是一個控制字符,iscntrl函數(shù)返回1(真),否則返回0(假)。(4)isdigit原型:bit isdigit(char c);功能:isdigit函數(shù)測試參數(shù)c,確定是否是一個十進制數(shù)(09)。返回:如果c是一個十進制數(shù),isdigit函數(shù)返回1(真),否則返回0(假)。(5)isgraph原型:bit isgraph(char c);功能:
37、isgraph函數(shù)測試參數(shù)c,確定是否是一個可打印字符(0x210x7E,不包括空格)。返回:如果c是一個可打印字符,isgraph函數(shù)返回1(真),否則返回0(假)。(6)isprint原型:bit isprint(char c);功能:isprint函數(shù)測試參數(shù)c,確定是否是一個可打印字符(0x200x7E)。返回:如果c是一個可打印字符,isprint函數(shù)返回1(真),否則返回0(假)。(7)ispunct原型:bit ispunct(char c);功能:ispunct函數(shù)測試參數(shù)c,確定是否是一個標點符號字符( ! , . : ; ? ” # $ % & ( ) * + - = /
38、| _ )。返回:如果c是一個標點符號字符,ispunct函數(shù)返回1(真),否則返回0(假)。(8)islower原型:bit islower(char c);功能:islower函數(shù)測試參數(shù)c,確定是否是一個小寫字母字符(az)。返回:如果c是一個小寫字母字符,islower函數(shù)返回1(真),否則返回0(假)。 (9)isupper原型:bit isupper(char c);功能:isupper函數(shù)測試參數(shù)c,確定是否是一個大寫字母字符(AZ)。返回:如果c是一個大寫字母字符,isupper函數(shù)返回1(真),否則返回0(假)。(10)isspace原型:bit isspace(char c
39、);功能:isspace函數(shù)測試參數(shù)c,確定是否是一個空白字符(0x090x0D或0x20)。返回:如果c是一個空白字符,isspace函數(shù)返回1(真),否則返回0(假)。(11)isxdigit原型:bit isalnum(char c);功能:isalnum函數(shù)測試參數(shù)c,確定是否是一個十六進制數(shù)(AF,af,09)。返回:如果c是一個十六進制數(shù),isalnum函數(shù)返回1(真),否則返回0(假)。(12)tolower原型:char tolower(char c);功能:tolower函數(shù)轉換c為一個小寫字符。如果c不是一個字母,tolower函數(shù)無效。(13)toupper原型:char
40、 toupper(char c);功能:toupper函數(shù)轉換c為一個大寫字符。如果c表示一個字母,toupper函數(shù)無效。參數(shù):返回:toupper宏返回c的大寫。(14)toint原型:char toint(char c);功能:toint函數(shù)解釋c為十六進制值。ASCII字符09生成值09。ASCII字符AF和af生成值1015。如果c表示一個十六進制數(shù),函數(shù)返回-1。返回:toint宏返回c的十六進制ASCII值。(15)_tolower原型:#define _tolower(c) ( (c)-A+a )功能:_tolower宏是在已知c是一個大寫字符的情況下可用的lower的一個版本
41、。返回:_tolower宏返回c的小寫。(16)_toupper原型:#define _toupper(c) ( (c)-a+A )功能:_toupper宏是在已知c是一個小寫字符的情況下可用的toupper的一個版本。返回:_toupper宏返回c的大寫。(17)toascii原型:#define toascii(c) ( (c) & 0x7F )功能:toascii宏轉換c為一個7位ASCII字符。宏只轉換變量c的低7位。返回:toascii宏返回c的7位ASCII字符。六、跳轉(1)setjmp原型:volatile int setjmp(jmp_buf env);功能:setjmp函數(shù)
42、保存當前CPU的狀態(tài)在env,該狀態(tài)可以調用longjmp函數(shù)來恢復。參數(shù):當同時使用時,setjmp和longjmp函數(shù)提供一種方法實行非局部跳轉。setjmp函數(shù)保存當前指令地址和別的CPU寄存器。一個longjmp的并發(fā)調用恢復指令指針和寄存器,在setjmp調用后面恢復運行。只有聲明了volatile屬性的局部變量和函數(shù)參數(shù)被恢復。返回:當CPU的當前狀態(tài)被復制到env,setjmp函數(shù)返回一個0。一個非零值表示執(zhí)行了longjmp函數(shù)來返回setjmp函數(shù)調用。在這種情況下,返回值是傳遞給longjmp函數(shù)的值。(2)longjmp原型:volatile void longjmp(j
43、mp_bufenv,int retval);功能:longjmp函數(shù)恢復用setjmp函數(shù)保存在env的狀態(tài)。retval參數(shù)指定從setjmp函數(shù)調用返回值。longjmp和setjmp函數(shù)可以用來執(zhí)行非局部跳轉,通常用來控制一個錯誤恢復程序。只有用volatile屬性聲明的局部變量和函數(shù)參數(shù)被恢復。七、字符串操作(1)strcat原型:char *strcat(char *s1,char *s2);功能:strcat函數(shù)連接或添加s2到s1,并用NULL字符終止s1。參數(shù):s1目標字符串,s2源字符串。返回:s1。(2)strncat原型:char *strncat(char *s1,ch
44、ar *s2,int len);功能:strncat函數(shù)從s2添加最多l(xiāng)en個字符到s1,并用NULL結束。如果s2的長度小于len,s2連帶NULL全部復制。參數(shù):s1目標字符串,s2源字符串,len連接的最多字符數(shù)。返回:strncat函數(shù)返回s1。(3)strcmp原型:char strcmp(char *s1,char *s2);功能:strcmp函數(shù)比較字串s1和s2的內容,并返回一個值表示它們的關系。返回:若s1s2返回正數(shù)。(4)strncmp原型:char *strncmp(char *s1,char *s2,int len);功能:strncmp函數(shù)比較s1的前l(fā)en字節(jié)和s
45、2,返回一個值表示它們的關系。參數(shù):s1,s2為字串,len為比較的長度。返回:若s1s2返回正數(shù)。(5)strcpy原型:char *strcpy(char *s1, char *s2);功能:strcpy函數(shù)復制字符串s2到字符串s1,并用NULL字符結束s1。參數(shù):s1目標字符串,s2源字符串。返回:字符串s1。(6)strncpy原型:char *strncpy(char *dest, char *s2, int len);功能:strncpy函數(shù)從字符串s2復制最多l(xiāng)en個字符到字符串s1。返回:字符串s1。(7)strlen原型:int strlen(char *s);功能:str
46、len函數(shù)計算字符串s的字節(jié)數(shù),不包括NULL結束符。參數(shù):s要測試長度的字串。返回:字符串s的長度。(8)strchr原型:char *strchr(const char *s, char c);功能:strchr函數(shù)搜索字符串s中第一個出現(xiàn)的c。s中的NULL字符終止搜索。參數(shù):s被搜索的字符串,c要查找的字符。返回:字符串s中指向c的指針,如沒有發(fā)現(xiàn)則返回一個NULL指針。(9)strops原型:int strpos(const char *s, char c);功能:strpos函數(shù)查找字符串s中c的第一次出現(xiàn),包括s的NULL結束符。參數(shù):s被搜索的字符串,c要查找的字符。返回:s中
47、和c匹配的字符的索引。如沒匹配則返回-1。s中第一個字符的索引是0。(10)strrchr原型:char *strrchr(const char *s, char c);功能:strrchr函數(shù)查找字符串s中c的最后一次出現(xiàn),包括s的NULL結束符。參數(shù):s被搜索的字符串,c要查找的字符。返回:strrchr函數(shù)返回s中和c匹配的字符的指針,如沒匹配則返回NULL。(11)strrpos原型:int strrpos(const char *s, char c);功能:strrpos函數(shù)查找字符串s中c的最后一次出現(xiàn),包括s的NULL結束符。參數(shù):s被搜索的字符串,c要查找的字符。返回:s中和c
48、匹配的最后字符的索引。如沒匹配則返回-1,s中第一個字符的索引是0。(12)strcspn原型:int strcspn(char *s, char *set);功能:在字符串s中查找字符串set中的任何字符。參數(shù):s源字串,set查找的字串。返回:strcspn函數(shù)返回s中和set匹配的第一個字符的索引。如果s的第一個字符和set中的一個字符匹配,返回0。如果s中沒有字符匹配,返回字符串的長度。(13)strpbrk原型:char *strpbrk(char *s, char *set);功能:查找字符串s中第一個出現(xiàn)的set中的任何字符,不包括NULL結束符。參數(shù):s源字串,set查找的字串。返回:s匹配的字符的指針。如果s沒有字符和set匹配,返回一個NULL指針。(14)strrpbrk原型:char *strrpbrk(char *s, char *set);功能:查找字符串s中最后一個出現(xiàn)的set中的任何字符,不包括NULL結束符。返回:s最后匹配的字符的指針。如果s沒有字符和set匹配,返回一個NULL指針。(15)strspn原型:int strspn(char *s, char *set);功能:查找字符串s中set沒有的字符。返回:strspn函數(shù)返回s第一個和set不匹配的字符的索引
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024版房地產(chǎn)買賣合同(含裝修及家具)3篇
- 2025屆福建省寧德市普通高中高三下學期第六次檢測語文試卷含解析
- 甘肅省玉門市玉門一中2025屆高三3月份模擬考試數(shù)學試題含解析
- 2025屆吉林省延吉市高考數(shù)學押題試卷含解析
- 遼寧省遼河油田第二中學2025屆高三適應性調研考試語文試題含解析
- 新疆烏魯木齊市沙依巴克區(qū)四中2025屆高三壓軸卷數(shù)學試卷含解析
- 甘肅省定西市通渭二中2025屆高考考前提分語文仿真卷含解析
- 2025屆上海市嘉定、長寧、金山區(qū)高考英語一模試卷含解析
- 2025屆山西省大同市高三壓軸卷數(shù)學試卷含解析
- 2025屆江西省南昌市10所省重點高三第二次聯(lián)考英語試卷含解析
- GB/T 5231-2001加工銅及銅合金化學成分和產(chǎn)品形狀
- GB/T 4957-2003非磁性基體金屬上非導電覆蓋層覆蓋層厚度測量渦流法
- 尿動力學檢查操作指南2023版
- GB/T 27806-2011環(huán)氧瀝青防腐涂料
- GB/T 14124-2009機械振動與沖擊建筑物的振動振動測量及其對建筑物影響的評價指南
- GB/T 11170-2008不銹鋼多元素含量的測定火花放電原子發(fā)射光譜法(常規(guī)法)
- 最新《工會基礎知識》試題庫及答案1000題【完美打印版】
- 2023年現(xiàn)行建筑施工規(guī)范目錄
- 工程變更聯(lián)系單【范本模板】
- 《網(wǎng)絡傳播學概論》(第四版)-課件
- hsk教程5上練習冊
評論
0/150
提交評論