C語言輸入輸出函數(shù)有很多,標(biāo)準(zhǔn)I/O函數(shù)中包含了如下幾個(gè)常用的函數(shù):
我們提供的服務(wù)有:成都網(wǎng)站制作、網(wǎng)站建設(shè)、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、大石橋ssl等。為成百上千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的大石橋網(wǎng)站制作公司
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:
文件型指針。
一些數(shù)學(xué)計(jì)算的公式的具體實(shí)現(xiàn)是放在math.h里,具體有:
x的正弦值
double sin (double x);
x的余弦值
double cos (double x);
x的正切值
double tan (double x);
結(jié)果介于[-PI/2, PI/2],x值域?yàn)閇-1,1]
double asin (double x);
結(jié)果介于[0, PI],x值域?yàn)閇-1,1]
double acos (double x);
反正切(主值), 結(jié)果介于[-PI/2, PI/2]
double atan (double x);
反正切(整圓值), 結(jié)果介于[-PI, PI]
double atan2 (double y, double x);
x的雙曲正弦值
double sinh (double x);
x的雙曲余弦值
double cosh (double x);
x的雙曲正切值
double tanh (double x);
冪函數(shù)e^x
double exp (double x);
x^y,如果x=0且y=0,或者x0且y不是整型數(shù),將產(chǎn)生定義域錯(cuò)誤
double pow (double x, double y);
x的平方根,其中x=0
double sqrt (double x);
以e為底的對(duì)數(shù),自然對(duì)數(shù),x0
double log (double x);
以10為底的對(duì)數(shù),x0
double log10 (double x);
取上整
double ceil (double x);
取下整
double floor (double x);
x的絕對(duì)值
double fabs (double x);
標(biāo)準(zhǔn)化浮點(diǎn)數(shù), x = f * 2^exp, 已知x求f, exp ( x介于[0.5, 1] )并返回f值
double frexp (double x, int *exp);
與frexp相反, 已知x, exp求x*2^exp
double ldexp (double x, int exp);
將參數(shù)的整數(shù)部分通過指針回傳, 返回小數(shù)部分,整數(shù)部分保存在*ip中
double modf (double x, double *ip);
返回兩參數(shù)相除x/y的余數(shù),符號(hào)與x相同。如果y為0,則結(jié)果與具體的額實(shí)現(xiàn)有關(guān)
double fmod (double x, double y);
數(shù)學(xué)函數(shù)庫,一些數(shù)學(xué)計(jì)算的公式的具體實(shí)現(xiàn)是放在math.h里,具體有:
1 三角函數(shù)
double sin (double);
double cos (double);
double tan (double);
2 反三角函數(shù)
double asin (double); 結(jié)果介于[-PI/2, PI/2]
double acos (double); 結(jié)果介于[0, PI]
double atan (double); 反正切(主值), 結(jié)果介于[-PI/2, PI/2]
double atan2 (double, double); 反正切(整圓值), 結(jié)果介于[-PI/2, PI/2]
3 雙曲三角函數(shù)
double sinh (double);
double cosh (double);
double tanh (double);
4 指數(shù)與對(duì)數(shù)
double exp (double);
double sqrt (double);
double log (double); 以e為底的對(duì)數(shù)
double log10 (double);
double pow(double x, double y)//計(jì)算以x為底數(shù)的y次冪
5 取整
double ceil (double); 取上整
double floor (double); 取下整
6 絕對(duì)值
double fabs (double);
double cabs(struct complex znum) //求復(fù)數(shù)的絕對(duì)值
7 標(biāo)準(zhǔn)化浮點(diǎn)數(shù)
double frexp (double f, int *p); 標(biāo)準(zhǔn)化浮點(diǎn)數(shù), f = x * 2^p, 已知f求x, p ( x介于[0.5, 1] )
double ldexp (double x, int p); 與frexp相反, 已知x, p求f
8 取整與取余
double modf (double, double*); 將參數(shù)的整數(shù)部分通過指針回傳, 返回小數(shù)部分
double fmod (double, double); 返回兩參數(shù)相除的余數(shù)
9其他
double hypot(double x, double y);//已知直角三角形兩個(gè)直角邊長度,求斜邊長度
double ldexp(double x, int exponent);//計(jì)算x*(2的exponent次冪)
double poly(double x, int degree, double coeffs [] )//計(jì)算多項(xiàng)式
nt matherr(struct exception *e)//數(shù)學(xué)錯(cuò)誤計(jì)算處理程序
source: 《C C++ Code Capsules》
2.long labs(long n); 求長整型數(shù)的絕對(duì)值。
3.double fabs(double x); 求實(shí)數(shù)的絕對(duì)值。
4.double floor(double x); 求不大于x的最大整數(shù),它相當(dāng)于數(shù)學(xué)函數(shù)[x]。
5.double ceil(double x); 求不小于x的最小整數(shù)。
6.double sqrt(double x); 求x的平方根。
7.double log10(double x); 求x的常用對(duì)數(shù)。
8.double log(double x); 求x的自然對(duì)數(shù)。
9.double exp(double x); 求歐拉常數(shù)e的x次方。
10.double pow10(int p); 求10的p次方。
11.double pow(double x, double y); 求x的y次方。
12.double sin(double x); 正弦函數(shù)。
13.double cos(double x); 余弦函數(shù)。
14.double tan(double x); 正切函數(shù)。
15.double asin(double x); 反正弦函數(shù)。
16.double acos(double x); 反余弦函數(shù)。
17.double atan(double x); 反正切函數(shù)。
一些數(shù)學(xué)計(jì)算的公式的具體實(shí)現(xiàn)是放在math.h里,具體有:
double sin (double x); x的正弦值
double cos (double x); x的余弦值
double tan (double x); x的正切值
double asin (double x); 結(jié)果介于[-PI/2, PI/2],x值域?yàn)閇-1,1]
double acos (double x); 結(jié)果介于[0, PI],x值域?yàn)閇-1,1]
double atan (double x); 反正切(主值), 結(jié)果介于[-PI/2, PI/2]
double atan2 (double y, double x); 反正切(整圓值), 結(jié)果介于[-PI, PI]
double sinh (double x); x的雙曲正弦值
double cosh (double x); x的雙曲余弦值
double tanh (double x); x的雙曲正切值
double exp (double x); 冪函數(shù)e^x
double pow (double x, double y); x^y,如果x=0且y=0,或者x0且y不是整型數(shù),將產(chǎn)生定義域錯(cuò)誤
double sqrt (double x); x的平方根,其中x=0
double log (double x); 以e為底的對(duì)數(shù),自然對(duì)數(shù),x0
double log10 (double x); 以10為底的對(duì)數(shù),x0
double ceil (double x); 取上整
double floor (double x); 取下整
double fabs (double x); x的絕對(duì)值
double frexp (double x, int *exp); 標(biāo)準(zhǔn)化浮點(diǎn)數(shù), x = f * 2^exp, 已知x求f, exp ( x介于[0.5, 1] )并返回f值
double ldexp (double x, int exp); 與frexp相反, 已知x, exp求x*2^exp
double modf (double x, double *ip); 將參數(shù)的整數(shù)部分通過指針回傳, 返回小數(shù)部分,整數(shù)部分保存在*ip中
double fmod (double x, double y); 返回兩參數(shù)相除x/y的余數(shù),符號(hào)與x相同。如果y為0,則結(jié)果與具體的額實(shí)現(xiàn)有關(guān)
最低0.27元/天開通百度文庫會(huì)員,可在文庫查看完整內(nèi)容
原發(fā)布者:shimingtime
附錄CC語言常用的庫函數(shù)庫函數(shù)并不是C語言的一部分,它是由編譯系統(tǒng)根據(jù)一般用戶的需要編制并提供給用戶使用的一組程序。每一種C編譯系統(tǒng)都提供了一批庫函數(shù),不同的編譯系統(tǒng)所提供的庫函數(shù)的數(shù)目和函數(shù)名以及函數(shù)功能是不完全相同的。ANSIC標(biāo)準(zhǔn)提出了一批建議提供的標(biāo)準(zhǔn)庫函數(shù)。它包括了目前多數(shù)C編譯系統(tǒng)所提供的庫函數(shù),但也有一些是某些C編譯系統(tǒng)未曾實(shí)現(xiàn)的??紤]到通用性,本附錄列出ANSIC建議的常用庫函數(shù)。由于C庫函數(shù)的種類和數(shù)目很多,例如還有屏幕和圖形函數(shù)、時(shí)間日期函數(shù)、與系統(tǒng)有關(guān)的函數(shù)等,每一類函數(shù)又包括各種功能的函數(shù),限于篇幅,本附錄不能全部介紹,只從教學(xué)需要的角度列出最基本的。讀者在編寫C程序時(shí)可根據(jù)需要,查閱有關(guān)系統(tǒng)的函數(shù)使用手冊(cè)。1.?dāng)?shù)學(xué)函數(shù)使用數(shù)學(xué)函數(shù)時(shí),應(yīng)該在源文件中使用預(yù)編譯命令:#include或#include"math.h"2.字符函數(shù)在使e68a84e8a2ade799bee5baa631333433623761用字符函數(shù)時(shí),應(yīng)該在源文件中使用預(yù)編譯命令:#include或#include"ctype.h"3.字符串函數(shù)使用字符串中函數(shù)時(shí),應(yīng)該在源文件中使用預(yù)編譯命令:#include或#include"string.h"4.輸入輸出函數(shù)在使用輸入輸出函數(shù)時(shí),應(yīng)該在源文件中使用預(yù)編譯命令:#include或#include"stdio.h"5.動(dòng)態(tài)存儲(chǔ)分配函數(shù)在使用動(dòng)態(tài)存儲(chǔ)分配函數(shù)時(shí),應(yīng)該在源文件中使用預(yù)編譯命令:#include或#include"stdlib.h"6.其他函數(shù)有些函數(shù)由于不便歸入某一類,所以單獨(dú)列出。使用這些