庫函數(shù):顧名思義是把函數(shù)放到庫里..是別人把一些常用到的函數(shù)編完放到一個文件里,供別人用.別人用的時候把它所在的文件名用#include加到里面就可以了.一般是放到lib文件里的。
成都創(chuàng)新互聯(lián)公司服務(wù)項目包括天山網(wǎng)站建設(shè)、天山網(wǎng)站制作、天山網(wǎng)頁制作以及天山網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,天山網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到天山省份的部分城市,未來相信會繼續(xù)擴大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
一般是指編譯器提供的可在c源程序中調(diào)用的函數(shù)。可分為兩類一類是c語言標(biāo)準(zhǔn)規(guī)定的庫函數(shù)一類是編譯器特定的庫函數(shù)。
由于版權(quán)原因庫函數(shù)的源代碼一般是不可見的但在頭文件中你可以看到它對外的接口。什么是庫函數(shù)語言的語句十分簡單如果要使用語言的語句直接計算sin或cos函數(shù)就需要編寫頗為復(fù)雜的程序。因為語言的語句中沒有提供直接計算sin或cos函數(shù)的語句。又如為了顯示一段文字我們在語言中也找不到顯示語句只能使用庫函數(shù)printf。
語言的庫函數(shù)并不是語言本身的一部分它是由編譯程序根據(jù)一般用戶的需要編制并提供用戶使用的一組程序。的庫函數(shù)極大地方便了用戶同時也補充了語言本身的不足。事實上在編寫語言程序時應(yīng)當(dāng)盡可能多地使用庫函數(shù)這樣既可以提高程序的運行效率又可以提高編程的質(zhì)量。
C語言輸入輸出函數(shù)有很多,標(biāo)準(zhǔn)I/O函數(shù)中包含了如下幾個常用的函數(shù):
scanf,printf,getc,putc,getchar,putchar,gets,puts,fgets,fputs,fgetc,fputc,fscanf,fprintf等.
int
scanf(const
char
*format,
arg_list)
scanf主要從標(biāo)準(zhǔn)輸入流中獲取參數(shù)值,format為指定的參數(shù)格式及參數(shù)類型,如scanf("%s,%d",str,icount);
它要求在標(biāo)準(zhǔn)輸入流中輸入類似"son
of
bitch,1000"這樣的字符串,同時程序會將"son
of
bitch"給str,1000給icount.
scanf函數(shù)的返回值為int值,即成功賦值的個數(shù),在上例中如果函數(shù)調(diào)用成功,則會返回2,所以我們在寫程序時,可以通過
語句if(scanf("%s,%d",str,icount)
!=
2){...}來判斷用戶輸入是否正確.
int
printf(const
char
*format,
arg_list)
printf主要是將格式化字符串輸出到標(biāo)準(zhǔn)輸出流中,在stdio.h頭文件中定義了標(biāo)準(zhǔn)的輸入和輸出,分別是stdin,stdout.
arg_list可以是變量名,也可以是表達式,但最終都會以值的形式填充進format中.
int
getc(FILE
*fp)
getc主要是從文件中讀出一個字符.常用的判斷文件是否讀取結(jié)束的語句為:(ch
=
getc(fp))
!=
EOF.EOF為文件結(jié)束標(biāo)志,
定義在stdio.h中,就像EXIT_SUCCESS,EXIT_FAILURE定義在stdlib.h中一樣,文件也可以被理解為一種流,所以當(dāng)fp為stdin
時,getc(stdin)就等同于getchar()了.
int
putc(int
ch,FILE
*fp)
putc主要是把字符ch寫到文件fp中去.如果fp為stdout,則putc就等同于putchar()了.
int
getchar(void)
getchar主要是從標(biāo)準(zhǔn)輸入流讀取一個字符.默認的標(biāo)準(zhǔn)輸入流即stdio.h中定義的stdin.但是從輸入流中讀取字符時又
涉及到緩沖的問題,所以并不是在屏幕中敲上一個字符程序就會運行,一般是通過在屏幕上敲上回車鍵,然后將回車前的字符
串放在緩沖區(qū)中,getchar就是在緩沖區(qū)中一個一個的讀字符.當(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)輸入流讀取字符串并回顯,讀到換行符時退出,并會將換行符省去.
int
puts(char
*str)
puts主要是把字符串str寫到標(biāo)準(zhǔn)流stdout中去,并會在輸出到最后時添加一個換行符.
char
*fgets(char
*str,
int
num,
FILE
*fp)
str是存放讀入的字符數(shù)組指針,num是最大允許的讀入字符數(shù),fp是文件指針.fgets的功能是讀一行字符,該行的字符數(shù)
不大于num-1.因為fgets函數(shù)會在末尾加上一個空字符以構(gòu)成一個字符串.另外fgets在讀取到換行符后不會將其省略.
int
fputs(char
*str,
file
*fp)
fputs將str寫入fp.fputs與puts的不同之處是fputs在打印時并不添加換行符.
int
fgetc(FILE
*fp)
fgetc從fp的當(dāng)前位置讀取一個字符.
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ù)寫入流式文件中.
文件stddef.h里包含了標(biāo)準(zhǔn)庫的一些常用定義,無論我們包含哪個標(biāo)準(zhǔn)頭文件,stddef.h都會被自動包含進來。
這個文件里定義:
類型size_t (sizeof運算符的結(jié)果類型,是某個無符號整型);
類型ptrdiff_t(兩個指針相減運算的結(jié)果類型,是某個有符號整型);
類型wchar_t (寬字符類型,是一個整型,其中足以存放本系統(tǒng)所支持的所有本地環(huán)境中的字符集的所有編碼值。這里還保證空字符的編碼值為0);
符號常量NULL (空指針值);
宏offsetor (這是一個帶參數(shù)的宏,第一個參數(shù)應(yīng)是一個結(jié)構(gòu)類型,第二個參數(shù)應(yīng)是結(jié)構(gòu)成員名。 offsetor(s,m)求出成員m在結(jié)構(gòu)類型t的變量里的偏移量)。
C語言的庫函數(shù)很多
大概幾百個,舉幾個常用的
比如
printf()、scanf(),等等
庫函數(shù)是系統(tǒng)內(nèi)部定義好的,不需要定義,但在使用前
需要把它所在的函數(shù)庫的頭文件進來
,
比如你要使用
sin()這個函數(shù)
,這個函數(shù)在math.h
這個頭文件里
,
就需要在程序開始
加入
#include
“math.h”
然后你就可以在程序里直接使用了