C語言輸入輸出函數有很多,標準I/O函數中包含了如下幾個常用的函數:
我們提供的服務有:成都網站制作、網站建設、微信公眾號開發、網站優化、網站認證、大石橋ssl等。為成百上千家企事業單位解決了網站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術的大石橋網站制作公司
scanf,printf,getc,putc,getchar,putchar,gets,puts,fgets,fputs,fgetc,fputc,fscanf,fprintf等.
int
getc(FILE
*fp)
getc主要是從文件中讀出一個字符.常用的判斷文件是否讀取結束的語句為
(ch
=
getc(fp))
!=
EOF.EOF為文件結束標志,定義在stdio.h中,就像EXIT_SUCCESS,EXIT_FAILURE定義在stdlib.h中一樣,文件也可以被理解為一種流,所以當fp為stdin時,getc(stdin)就等同于getchar()了.
int
putc(int
ch,FILE
*fp)
putc主要是把字符ch寫到文件fp中去.如果fp為stdout,則putc就等同于putchar()了.
int
getchar(void)
getchar主要是從標準輸入流讀取一個字符.默認的標準輸入流即stdio.h中定義的stdin.但是從輸入流中讀取字符時又涉及到緩沖的問題,所以并不是在屏幕中敲上一個字符程序就會運行,一般是通過在屏幕上敲上回車鍵,然后將回車前的字符串放在緩沖區中,getchar就是在緩沖區中一個一個的讀字符.當然也可以在while循環中指定終止字符,如下面的語句:while
((c
=
getchar())
!=
'#')這是以#來結束的.
int
putchar(int
ch)
putchar(ch)主要是把字符ch寫到標準流stdout中去.
char
*
gets(char
*str)
gets主要是從標準輸入流讀取字符串并回顯,讀到換行符時退出,并會將換行符省去.
int
puts(char
*str)
puts主要是把字符串str寫到標準流stdout中去,并會在輸出到最后時添加一個換行符.
char
*fgets(char
*str,
int
num,
FILE
*fp)
str是存放讀入的字符數組指針,num是最大允許的讀入字符數,fp是文件指針.fgets的功能是讀一行字符,該行的字符數不大于num-1.因為fgets函數會在末尾加上一個空字符以構成一個字符串.另外fgets在讀取到換行符后不會將其省略.
int
fputs(char
*str,
file
*fp)
fputs將str寫入fp.fputs與puts的不同之處是fputs在打印時并不添加換行符.
int
fgetc(FILE
*fp)
fgetc從fp的當前位置讀取一個字符.
int
fputc(int
ch,
file
*fp)
fputc是將ch寫入fp當前指定位置.
int
fscanf(FILE
*fp,
char
*format,
輸入列表)
fscanf按照指定格式從文件中出讀出數據,并賦值到參數列表中.
int
fprintf(FILE
*fp,
char
*format,
輸出列表)
fprintf將格式化數據寫入流式文件中.
數據塊讀寫函數
fread
(buffer,size,count,fp);
fwrite(buffer,size,count,fp);
參數說明:
buffer:是一個指針。
對fread
來說,它是讀入數據的存放地址。
對fwrite來說,是要輸出數據的地址(均指起始地址)。
size:
要讀寫的字節數。
count:
要進行讀寫多少個size字節的數據項。
fp:
文件型指針。
一些數學計算的公式的具體實現是放在math.h里,具體有:
x的正弦值
double sin (double x);
x的余弦值
double cos (double x);
x的正切值
double tan (double x);
結果介于[-PI/2, PI/2],x值域為[-1,1]
double asin (double x);
結果介于[0, PI],x值域為[-1,1]
double acos (double x);
反正切(主值), 結果介于[-PI/2, PI/2]
double atan (double x);
反正切(整圓值), 結果介于[-PI, PI]
double atan2 (double y, double x);
x的雙曲正弦值
double sinh (double x);
x的雙曲余弦值
double cosh (double x);
x的雙曲正切值
double tanh (double x);
冪函數e^x
double exp (double x);
x^y,如果x=0且y=0,或者x0且y不是整型數,將產生定義域錯誤
double pow (double x, double y);
x的平方根,其中x=0
double sqrt (double x);
以e為底的對數,自然對數,x0
double log (double x);
以10為底的對數,x0
double log10 (double x);
取上整
double ceil (double x);
取下整
double floor (double x);
x的絕對值
double fabs (double x);
標準化浮點數, 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);
將參數的整數部分通過指針回傳, 返回小數部分,整數部分保存在*ip中
double modf (double x, double *ip);
返回兩參數相除x/y的余數,符號與x相同。如果y為0,則結果與具體的額實現有關
double fmod (double x, double y);
數學函數庫,一些數學計算的公式的具體實現是放在math.h里,具體有:
1 三角函數
double sin (double);
double cos (double);
double tan (double);
2 反三角函數
double asin (double); 結果介于[-PI/2, PI/2]
double acos (double); 結果介于[0, PI]
double atan (double); 反正切(主值), 結果介于[-PI/2, PI/2]
double atan2 (double, double); 反正切(整圓值), 結果介于[-PI/2, PI/2]
3 雙曲三角函數
double sinh (double);
double cosh (double);
double tanh (double);
4 指數與對數
double exp (double);
double sqrt (double);
double log (double); 以e為底的對數
double log10 (double);
double pow(double x, double y)//計算以x為底數的y次冪
5 取整
double ceil (double); 取上整
double floor (double); 取下整
6 絕對值
double fabs (double);
double cabs(struct complex znum) //求復數的絕對值
7 標準化浮點數
double frexp (double f, int *p); 標準化浮點數, 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*); 將參數的整數部分通過指針回傳, 返回小數部分
double fmod (double, double); 返回兩參數相除的余數
9其他
double hypot(double x, double y);//已知直角三角形兩個直角邊長度,求斜邊長度
double ldexp(double x, int exponent);//計算x*(2的exponent次冪)
double poly(double x, int degree, double coeffs [] )//計算多項式
nt matherr(struct exception *e)//數學錯誤計算處理程序
source: 《C C++ Code Capsules》
2.long labs(long n); 求長整型數的絕對值。
3.double fabs(double x); 求實數的絕對值。
4.double floor(double x); 求不大于x的最大整數,它相當于數學函數[x]。
5.double ceil(double x); 求不小于x的最小整數。
6.double sqrt(double x); 求x的平方根。
7.double log10(double x); 求x的常用對數。
8.double log(double x); 求x的自然對數。
9.double exp(double x); 求歐拉常數e的x次方。
10.double pow10(int p); 求10的p次方。
11.double pow(double x, double y); 求x的y次方。
12.double sin(double x); 正弦函數。
13.double cos(double x); 余弦函數。
14.double tan(double x); 正切函數。
15.double asin(double x); 反正弦函數。
16.double acos(double x); 反余弦函數。
17.double atan(double x); 反正切函數。
一些數學計算的公式的具體實現是放在math.h里,具體有:
double sin (double x); x的正弦值
double cos (double x); x的余弦值
double tan (double x); x的正切值
double asin (double x); 結果介于[-PI/2, PI/2],x值域為[-1,1]
double acos (double x); 結果介于[0, PI],x值域為[-1,1]
double atan (double x); 反正切(主值), 結果介于[-PI/2, PI/2]
double atan2 (double y, double x); 反正切(整圓值), 結果介于[-PI, PI]
double sinh (double x); x的雙曲正弦值
double cosh (double x); x的雙曲余弦值
double tanh (double x); x的雙曲正切值
double exp (double x); 冪函數e^x
double pow (double x, double y); x^y,如果x=0且y=0,或者x0且y不是整型數,將產生定義域錯誤
double sqrt (double x); x的平方根,其中x=0
double log (double x); 以e為底的對數,自然對數,x0
double log10 (double x); 以10為底的對數,x0
double ceil (double x); 取上整
double floor (double x); 取下整
double fabs (double x); x的絕對值
double frexp (double x, int *exp); 標準化浮點數, 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); 將參數的整數部分通過指針回傳, 返回小數部分,整數部分保存在*ip中
double fmod (double x, double y); 返回兩參數相除x/y的余數,符號與x相同。如果y為0,則結果與具體的額實現有關
最低0.27元/天開通百度文庫會員,可在文庫查看完整內容
原發布者:shimingtime
附錄CC語言常用的庫函數庫函數并不是C語言的一部分,它是由編譯系統根據一般用戶的需要編制并提供給用戶使用的一組程序。每一種C編譯系統都提供了一批庫函數,不同的編譯系統所提供的庫函數的數目和函數名以及函數功能是不完全相同的。ANSIC標準提出了一批建議提供的標準庫函數。它包括了目前多數C編譯系統所提供的庫函數,但也有一些是某些C編譯系統未曾實現的。考慮到通用性,本附錄列出ANSIC建議的常用庫函數。由于C庫函數的種類和數目很多,例如還有屏幕和圖形函數、時間日期函數、與系統有關的函數等,每一類函數又包括各種功能的函數,限于篇幅,本附錄不能全部介紹,只從教學需要的角度列出最基本的。讀者在編寫C程序時可根據需要,查閱有關系統的函數使用手冊。1.數學函數使用數學函數時,應該在源文件中使用預編譯命令:#include或#include"math.h"2.字符函數在使e68a84e8a2ade799bee5baa631333433623761用字符函數時,應該在源文件中使用預編譯命令:#include或#include"ctype.h"3.字符串函數使用字符串中函數時,應該在源文件中使用預編譯命令:#include或#include"string.h"4.輸入輸出函數在使用輸入輸出函數時,應該在源文件中使用預編譯命令:#include或#include"stdio.h"5.動態存儲分配函數在使用動態存儲分配函數時,應該在源文件中使用預編譯命令:#include或#include"stdlib.h"6.其他函數有些函數由于不便歸入某一類,所以單獨列出。使用這些
文章名稱:c語言述數學庫中的函數 c語言中庫函數的概念
URL地址:http://www.yijiale78.com/article16/hgocgg.html
成都網站建設公司_創新互聯,為您提供App設計、響應式網站、手機網站建設、軟件開發、移動網站建設、建站公司
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯