新聞中心
C語言中的標(biāo)準(zhǔn)函數(shù)有哪些
在最新的 C99 標(biāo)準(zhǔn)中,只有以下兩種定義方式是正確的:
十余年的應(yīng)城網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。成都營(yíng)銷網(wǎng)站建設(shè)的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整應(yīng)城建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。成都創(chuàng)新互聯(lián)公司從事“應(yīng)城網(wǎng)站設(shè)計(jì)”,“應(yīng)城網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
int main( void ) /* 無參數(shù)形式 */
{
return 0;
}
int main( int argc, char *argv[] ) /* 帶參數(shù)形式 */
{
return 0;
}
int指明了main()函數(shù)的返回類型,函數(shù)名后面的圓括號(hào)一般包含傳遞給函數(shù)的信息。void表示沒有給函數(shù)傳遞參數(shù)。關(guān)于帶參數(shù)的形式,我們等會(huì)討論。
瀏覽老版本的C代碼,將會(huì)發(fā)現(xiàn)程序常常以。
main()
這種形式開始。C90標(biāo)準(zhǔn)允許這種形式,但是C99標(biāo)準(zhǔn)不允許。因此即使你當(dāng)前的編譯器允許,也不要這么寫。
你還可能看到過另一種形式。
void main()
有些編譯器允許這種形式,但是還沒有任何標(biāo)準(zhǔn)考慮接受它。C++ 之父 Bjarne Stroustrup 在他的主頁上的 FAQ 中明確地表示:void main( ) 的定義從來就不存在于 C++ 或者 C 。所以,編譯器不必接受這種形式,并且很多編譯器也不允許這么寫。
關(guān)于C語言標(biāo)準(zhǔn)函數(shù)
C語言編譯系統(tǒng)提供了眾多的預(yù)定義庫函數(shù)和宏。用戶在編寫程序時(shí),可以直接調(diào)用這些庫函數(shù)和宏。這里選擇了初學(xué)者常用的一些庫函數(shù),簡(jiǎn)單介紹了各函數(shù)的用法和所在的頭文件。
1.測(cè)試函數(shù)
Isalnum
原型:int isalnum(int c)
功能:測(cè)試參數(shù)c是否為字母或數(shù)字:是則返回非零;否則返回零
頭文件:ctype.h
Isapha
原型:int isapha(int c)
功能:測(cè)試參數(shù)c是否為字母:是則返回非零;否則返回零
頭文件:ctype.h
Isascii
原型:int isascii(int c)
功能:測(cè)試參數(shù)c是否為ASCII碼(0x00~0x7F):是則返回非零;否則返回零
頭文件:ctype.h
Iscntrl
原型:int iscntrl(int c)
功能:測(cè)試參數(shù)c是否為控制字符(0x00~0x1F、0x7F):是則返回非零;否則返回零
頭文件:ctype.h
Isdigit
原型:int isdigit(int c)
功能:測(cè)試參數(shù)c是否為數(shù)字:是則返回非零;否則返回零。
頭文件:ctype.h
Isgraph
原型:int isgraph(int c)
功能:測(cè)試參數(shù)c是否為可打印字符(0x21~0x7E):是則返回非零;否則返回零
頭文件:ctype.h
Islower
原型:int islower(int c)
功能:測(cè)試參數(shù)c是否為小寫字母:是則返回非零;否則返回零
頭文件:ctype.h
Isprint
原型:int isprint(int c)
功能:測(cè)試參數(shù)c是否為可打印字符(含空格符0x20~0x7E):是則返回非零;否則返回零
頭文件:ctype.h
Ispunct
原型:int ispunct(int c)
功能:測(cè)試參數(shù)c是否為標(biāo)點(diǎn)符號(hào):是則返回非零;否則返回零
頭文件:ctype.h
Isupper
原型:int isupper(inr c)
功能:測(cè)試參數(shù)c是否為大寫字母:是則返回非零;否則返回零
Isxdigit
原型:int isxdigit(int c)
功能:測(cè)試參數(shù)c是否為十六進(jìn)制數(shù):是則返回非零;否則返回零
2.數(shù)學(xué)函數(shù)
abs
原型:int abs(int i)
功能:返回整數(shù)型參數(shù)i的絕對(duì)值
頭文件:stdlib.h,math.h
acos
原型:double acos(double x)
功能:返回雙精度參數(shù)x的反余弦三角函數(shù)值
頭文件:math.h
asin
原型:double asin(double x)
功能:返回雙精度參數(shù)x的反正弦三角函數(shù)值
頭文件:math.h
atan
原型:double atan(double x)
功能:返回雙精度參數(shù)的反正切三角函數(shù)值
頭文件:math.h
atan2
原型:double atan2(double y,double x)
功能:返回雙精度參數(shù)y和x由式y(tǒng)/x所計(jì)算的反正切三角函數(shù)值
頭文件:math.h
cabs
原型:double cabs(struct complex znum)
功能:返回一個(gè)雙精度數(shù),為計(jì)算出復(fù)數(shù)znum的絕對(duì)值。Complex的結(jié)構(gòu)模式在math.h中給出定義,其定義如下:
struct complex {
double a,y
};
頭文件:stdlib.h,math.h
ceil
原型:double ceil(double x)
功能:返回不小于參數(shù)x的最小整數(shù)
頭文件:math.h
_clear87
原型:unsigned int _clear87(void)
功能:清除浮點(diǎn)運(yùn)算器狀態(tài)字
頭文件:float.h
_control87
原型:unsigned int _control87(unsigned int newvals,unsigned int mask)
功能:取得或改變浮點(diǎn)運(yùn)算器控制字
頭文件:float.h
cos
原型:double cos(double x)
功能:返回參數(shù)x的余弦函數(shù)值
頭文件:math.h
cosh
原型:double cosh(double x)
功能:返回參數(shù)的雙曲線余弦函數(shù)值
頭文件:math.h
ecvt
原型:char*ecvt(double value,int ndigit,int*decpt,int*sign)
功能:把雙精度數(shù)value轉(zhuǎn)換為ndigit位數(shù)字的以空格字符結(jié)束的字符串,decpt指向小數(shù)點(diǎn)位置,sign為符號(hào)標(biāo)志。函數(shù)返回值為指向轉(zhuǎn)換后的字符串的指針
頭文件:stdlib.h
exp
原型:double exp(double x)
功能:返回參數(shù)x的指數(shù)函數(shù)值
頭文件:math.h
fabs
原型:double fabs(double x)
功能:返回參數(shù)x的絕對(duì)值
頭文件:math.h
floor
原型:double floor(double x)
功能:返回不大于參數(shù)x的最大整數(shù)
頭文件:math.h
fmod
原型:double fmod(double x,double y)
功能:計(jì)算x/y的余數(shù)。返回值為所求的余數(shù)值
頭文件:math.h
_fprest
原型:void _fprest(void)
功能:重新初始化浮點(diǎn)型數(shù)數(shù)學(xué)包
頭文件:float.h
frexp
原型:double frexp(double value,int*eptr)
功能:把雙精度函數(shù)value分解成尾數(shù)和指數(shù)。函數(shù)返回尾數(shù)值,指數(shù)值存放在eptr所指的單元中
頭文件:math.h
hypot
原型:double frexp(double x,double y)
功能:返回由參數(shù)x和y所計(jì)算的直角三角形的斜邊長(zhǎng)
頭文件:math.h
labs
原型:long labs(long n)
功能:返回長(zhǎng)整數(shù)型參數(shù)n的絕對(duì)值
頭文件:stdlib.h
ldexp
原型:double ldexp(double value,int exp)
功能:返回value*2exp的值
頭文件:math.h
log
原型:double log(double x)
功能:返回參數(shù)x的自然對(duì)數(shù)(ln x)的值
頭文件:math.h
log10
原型:double log10(double x)
功能:返回參數(shù)x以10為底的自然對(duì)數(shù)(lg x)的值
頭文件:math.h
modf
原型:double modf(double value,double*iptr)
功能:把雙精度數(shù)value分為整數(shù)部分和小數(shù)部分。整數(shù)部分保存在iptr中,小數(shù)部分作為函數(shù)的返回值
頭文件:math.h
poly
原型 :double poly(double x,int n,double c[ ])
功能:根據(jù)參數(shù)產(chǎn)生x的一個(gè)n次多項(xiàng)式,其系數(shù)為 c[0],c[1],…c[n]。函數(shù)返回值為給定x的多項(xiàng)式的值
頭文件:math.h
pow
原型:double pow(double x,double y)
功能:返回計(jì)算xy的值
頭文件:math.h
pow10
原型:double pow10(int p)
功能:返回計(jì)算10p的值
頭文件:math.h
rand
原型:int rand(void)
功能:隨機(jī)函數(shù),返回一個(gè)范圍在0~215-1的隨機(jī)整數(shù)
頭文件:stdlib.h
sin
原型:double sin(double x)
功能:返回參數(shù)x的正弦函數(shù)值
頭文件:math.h
sinh
原型double sinh(double x)
功能:返回參數(shù)x的雙曲正弦函數(shù)值
頭文件:math.h
sqrt
原型:double sqrt
功能:返回參數(shù)x的平方根值
頭文件:math.h
srand
原型:void srand(unsigned seed)
功能:初始化隨機(jī)函數(shù)發(fā)生器
頭文件:stdlib.h
_status87
原型:unsigned int_status87()
功能:取浮點(diǎn)狀態(tài)
頭文件:float.h
tan
原型:dounle tan(double x)
功能:返回參數(shù)x的正切函數(shù)值
頭文件:math.h
tanh
原型:double tan(double x)
功能:返回參數(shù)x的雙曲正切函數(shù)值
頭文件:math.h
在C中,什么是標(biāo)準(zhǔn)庫函數(shù)?
在?C語言程序設(shè)計(jì)里,C 標(biāo)準(zhǔn)函數(shù)庫(C Standard library) ?是所有符合標(biāo)準(zhǔn)的頭文件(head file)的集合,以及常用的函數(shù)庫實(shí)現(xiàn)程序,例如I/O 輸入輸出和字符串控制。不像?COBOL、Fortran?和?PL/I等編程語言,在 C 語言的工作任務(wù)里不會(huì)包含嵌入的關(guān)鍵字,所以幾乎所有的 C 語言程序都是由標(biāo)準(zhǔn)函數(shù)庫的函數(shù)來創(chuàng)建的。
每一個(gè)函數(shù)的名稱與特性會(huì)被寫成一個(gè)電腦文件,這個(gè)文件就稱為頭文件,但是實(shí)際的函數(shù)實(shí)現(xiàn)是被分存到函數(shù)庫文件里。頭文件的命名和領(lǐng)域是很常見的,但是函數(shù)庫的組織架構(gòu)也會(huì)因?yàn)椴煌木幾g器而有所不同。標(biāo)準(zhǔn)函數(shù)庫通常會(huì)隨附在編譯器上。因?yàn)?C 編譯器常會(huì)提供一些額外的非?ANSI C?函數(shù)功能,所以某個(gè)隨附在特定編譯器上的標(biāo)準(zhǔn)函數(shù)庫,對(duì)其他不同的編譯器來說,是不兼容的。
C語言中的標(biāo)準(zhǔn)函數(shù)有哪些?
C語言輸入輸出函數(shù)有很多,標(biāo)準(zhǔn)I/O函數(shù)中包含了如下幾個(gè)常用的函數(shù):
scanf,printf,getc,putc,getchar,putchar,gets,puts,fgets,fputs,fgetc,fputc,fscanf,fprintf等.
int
getc(FILE
*fp)
getc主要是從文件中讀出一個(gè)字符.常用的判斷文件是否讀取結(jié)束的語句為
(ch
=
getc(fp))
!=
EOF.EOF為文件結(jié)束標(biāo)志,定義在stdio.h中,就像EXIT_SUCCESS,EXIT_FAILURE定義在stdlib.h中一樣,文件也可以被理解為一種流,所以當(dāng)fp為stdin時(shí),getc(stdin)就等同于getchar()了.
int
putc(int
ch,FILE
*fp)
putc主要是把字符ch寫到文件fp中去.如果fp為stdout,則putc就等同于putchar()了.
int
getchar(void)
getchar主要是從標(biāo)準(zhǔn)輸入流讀取一個(gè)字符.默認(rèn)的標(biāo)準(zhǔn)輸入流即stdio.h中定義的stdin.但是從輸入流中讀取字符時(shí)又涉及到緩沖的問題,所以并不是在屏幕中敲上一個(gè)字符程序就會(huì)運(yùn)行,一般是通過在屏幕上敲上回車鍵,然后將回車前的字符串放在緩沖區(qū)中,getchar就是在緩沖區(qū)中一個(gè)一個(gè)的讀字符.當(dāng)然也可以在while循環(huán)中指定終止字符,如下面的語句:while
((c
=
getchar())
!=
'#')這是以#來結(jié)束的.
int
putchar(int
ch)
putchar(ch)主要是把字符ch寫到標(biāo)準(zhǔn)流stdout中去.
char
*
gets(char
*str)
gets主要是從標(biāo)準(zhǔn)輸入流讀取字符串并回顯,讀到換行符時(shí)退出,并會(huì)將換行符省去.
int
puts(char
*str)
puts主要是把字符串str寫到標(biāo)準(zhǔn)流stdout中去,并會(huì)在輸出到最后時(shí)添加一個(gè)換行符.
char
*fgets(char
*str,
int
num,
FILE
*fp)
str是存放讀入的字符數(shù)組指針,num是最大允許的讀入字符數(shù),fp是文件指針.fgets的功能是讀一行字符,該行的字符數(shù)不大于num-1.因?yàn)閒gets函數(shù)會(huì)在末尾加上一個(gè)空字符以構(gòu)成一個(gè)字符串.另外fgets在讀取到換行符后不會(huì)將其省略.
int
fputs(char
*str,
file
*fp)
fputs將str寫入fp.fputs與puts的不同之處是fputs在打印時(shí)并不添加換行符.
int
fgetc(FILE
*fp)
fgetc從fp的當(dāng)前位置讀取一個(gè)字符.
int
fputc(int
ch,
file
*fp)
fputc是將ch寫入fp當(dāng)前指定位置.
int
fscanf(FILE
*fp,
char
*format,
輸入列表)
fscanf按照指定格式從文件中出讀出數(shù)據(jù),并賦值到參數(shù)列表中.
int
fprintf(FILE
*fp,
char
*format,
輸出列表)
fprintf將格式化數(shù)據(jù)寫入流式文件中.
數(shù)據(jù)塊讀寫函數(shù)
fread
(buffer,size,count,fp);
fwrite(buffer,size,count,fp);
參數(shù)說明:
buffer:是一個(gè)指針。
對(duì)fread
來說,它是讀入數(shù)據(jù)的存放地址。
對(duì)fwrite來說,是要輸出數(shù)據(jù)的地址(均指起始地址)。
size:
要讀寫的字節(jié)數(shù)。
count:
要進(jìn)行讀寫多少個(gè)size字節(jié)的數(shù)據(jù)項(xiàng)。
fp:
文件型指針。
文章標(biāo)題:c語言中標(biāo)準(zhǔn)函數(shù)是什么 c語言標(biāo)準(zhǔn)數(shù)學(xué)函數(shù)
分享地址:http://fisionsoft.com.cn/article/ddoogoj.html