#includestdio.h

10年積累的成都做網(wǎng)站、網(wǎng)站設計經(jīng)驗,可以快速應對客戶對網(wǎng)站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡服務。我雖然不認識你,你也不認識我。但先網(wǎng)站制作后付款的網(wǎng)站建設流程,更有山亭免費網(wǎng)站建設讓你可以放心的選擇與我們合作。
#include math.h
void main()
{
double a,b,c,d;
scanf("%f,%f",b,d);
a=sin(b);/*這是三角函數(shù)*/
c=asin(d);/*這是反三角函數(shù)*/
printf("sin(b)=%f,asin(d)=%d",a,c);
}
其他三角函數(shù)如cos(x)什么的,可以直接用,前提有math.h的頭文件
求差:sub,
乘法:mul,除法:div。
C語言是一門面向過程、抽象化的通用程序設計語言,廣泛應用于底層開發(fā)。C語言能以簡易的方式編譯、處理低級存儲器。C語言是僅產(chǎn)生少量的機器語言以及不需要任何運行環(huán)境支持便能運行的高效率程序設計語言。
盡管C語言提供了許多低級處理的功能,但仍然保持著跨平臺的特性,以一個標準規(guī)格寫出的C語言程序可在包括一些類似嵌入式處理器以及超級計算機等作業(yè)平臺的許多計算機平臺上進行編譯。
擴展資料
C語言運算符號
比特右移()運算符可以是算術(左端補最高有效位)或是邏輯(左端補 0)位移。例如,將 11100011 右移 3 比特,算術右移后成為 11111100,邏輯右移則為 00011100。因算術比特右移較適于處理帶負號整數(shù),所以幾乎所有的編譯器都是算術比特右移。
運算符的優(yōu)先級從高到低大致是:單目運算符、算術運算符、關系運算符、邏輯運算符、條件運算符、賦值運算符(=)和逗號運算符。
起初,C語言沒有官方標準。1978年由美國電話電報公司(ATT)貝爾實驗室正式發(fā)表了C語言。布萊恩·柯林漢(Brian Kernighan) 和 丹尼斯·里奇(Dennis Ritchie) 出版了一本書,名叫《The C Programming Language》。
這本書被 C語言開發(fā)者們稱為KR,很多年來被當作 C語言的非正式的標準說明。人們稱這個版本的 C語言為KR C。
KR C主要介紹了以下特色:
結構體(struct)類型
長整數(shù)(long int)類型
無符號整數(shù)(unsigned int)類型
原型:extern float tanh(float x);
用法:#include math.h
功能:求x的雙曲正切值
說明:tanh(x)=(e^x-e^(-x))/(e^2+e^(-x))
舉例:
// tanh.c
#include syslib.h
#include math.h
main()
{
float x;
clrscr(); // clear screen
textmode(0x00); // 6 lines per LCD screen
x=PI/4.;
printf("tanh(%.4f)=%.4f\n",x,tanh(x));
getchar();
return 0;
}
一些數(shù)學計算的公式的具體實現(xiàn)是放在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); 冪函數(shù)e^x
double pow (double x, double y); x^y,如果x=0且y=0,或者x0且y不是整型數(shù),將產(chǎn)生定義域錯誤
double sqrt (double x); x的平方根,其中x=0
double log (double x); 以e為底的對數(shù),自然對數(shù),x0
double log10 (double x); 以10為底的對數(shù),x0
double ceil (double x); 取上整
double floor (double x); 取下整
double fabs (double x); x的絕對值
double frexp (double x, int *exp); 標準化浮點數(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ù),符號與x相同。如果y為0,則結果與具體的額實現(xiàn)有關
字符處理函數(shù)
本類別函數(shù)用于對單個字符進行處理,包括字符的類別測試和字符的大小寫轉(zhuǎn)換
頭文件 ctype.h
函數(shù)列表
函數(shù)類別 函數(shù)用途 詳細說明
字符測試 是否字母和數(shù)字 isalnum
是否字母 isalpha
是否控制字符 iscntrl
是否數(shù)字 isdigit
是否可顯示字符(除空格外) isgraph
是否可顯示字符(包括空格) isprint
是否既不是空格,又不是字母和數(shù)字的可顯示字符 ispunct
是否空格 isspace
是否大寫字母 isupper
是否16進制數(shù)字(0-9,A-F)字符 isxdigit
字符大小寫轉(zhuǎn)換函數(shù) 轉(zhuǎn)換為大寫字母 toupper
轉(zhuǎn)換為小寫字母 tolower
地區(qū)化
本類別的函數(shù)用于處理不同國家的語言差異。
頭文件 local.h
函數(shù)列表
函數(shù)類別 函數(shù)用途 詳細說明
地區(qū)控制 地區(qū)設置 setlocale
數(shù)字格式約定查詢 國家的貨幣、日期、時間等的格式轉(zhuǎn)換 localeconv
數(shù)學函數(shù)
本分類給出了各種數(shù)學計算函數(shù),必須提醒的是ANSI C標準中的數(shù)據(jù)格式并不符合IEEE754標準,一些C語言編譯器卻遵循IEEE754(例如frinklin C51)
頭文件 math.h
函數(shù)列表
函數(shù)類別 函數(shù)用途 詳細說明
錯誤條件處理 定義域錯誤(函數(shù)的輸入?yún)?shù)值不在規(guī)定的范圍內(nèi))
值域錯誤(函數(shù)的返回值不在規(guī)定的范圍內(nèi))
三角函數(shù) 反余弦 acos
反正弦 asin
反正切 atan
反正切2 atan2
余弦 cos
正弦 sin
正切 tan
雙曲函數(shù) 雙曲余弦 cosh
雙曲正弦 sinh
雙曲正切 tanh
指數(shù)和對數(shù) 指數(shù)函數(shù) exp
指數(shù)分解函數(shù) frexp
乘積指數(shù)函數(shù) fdexp
自然對數(shù) log
以10為底的對數(shù) log10
浮點數(shù)分解函數(shù) modf
冪函數(shù) 冪函數(shù) pow
平方根函數(shù) sqrt
整數(shù)截斷,絕對值和求余數(shù)函數(shù) 求下限接近整數(shù) ceil
絕對值 fabs
求上限接近整數(shù) floor
求余數(shù) fmod
本分類函數(shù)用于實現(xiàn)在不同底函數(shù)之間直接跳轉(zhuǎn)代碼。 頭文件 setjmp.h io.h
函數(shù)列表
函數(shù)類別 函數(shù)用途 詳細說明
保存調(diào)用環(huán)境 setjmp
恢復調(diào)用環(huán)境 longjmp
信號處理
該分類函數(shù)用于處理那些在程序執(zhí)行過程中發(fā)生例外的情況。
頭文件 signal.h
函數(shù)列表
函數(shù)類別 函數(shù)用途 詳細說明
指定信號處理函數(shù) signal
發(fā)送信號 raise
可變參數(shù)處理
本類函數(shù)用于實現(xiàn)諸如printf,scanf等參數(shù)數(shù)量可變底函數(shù)。
頭文件 stdarg.h
函數(shù)列表
函數(shù)類別 函數(shù)用途 詳細說明
可變參數(shù)訪問宏 可變參數(shù)開始宏 va_start
可變參數(shù)結束宏 va_end
可變參數(shù)訪問宏 訪問下一個可變參數(shù)宏 va_arg
輸入輸出函數(shù)
該分類用于處理包括文件、控制臺等各種輸入輸出設備,各種函數(shù)以“流”的方式實現(xiàn)
頭文件 stdio.h
函數(shù)列表
函數(shù)類別 函數(shù)用途 詳細說明
文件操作
刪除文件 remove
修改文件名稱 rename
生成臨時文件名稱 tmpfile
得到臨時文件路徑 tmpnam
文件訪問 關閉文件 fclose
刷新緩沖區(qū) fflush
打開文件 fopen
將已存在的流指針和新文件連接 freopen
設置磁盤緩沖區(qū) setbuf
設置磁盤緩沖區(qū) setvbuf
格式化輸入與輸出函數(shù) 格式輸出 fprintf
格式輸入 fscanf
格式輸出(控制臺) printf
格式輸入(控制臺) scanf
格式輸出到緩沖區(qū) sprintf
從緩沖區(qū)中按格式輸入 sscanf
格式化輸出 vfprintf
格式化輸出 vprintf
格式化輸出 vsprintf
字符輸入輸出函數(shù) 輸入一個字符 fgetc
字符串輸入 fgets
字符輸出 fputc
字符串輸出 fputs
字符輸入(控制臺) getc
字符輸入(控制臺) getchar
字符串輸入(控制臺) gets
字符輸出(控制臺) putc
字符輸出(控制臺) putchar
字符串輸出(控制臺) puts
字符輸出到流的頭部 ungetc
直接輸入輸出 直接流讀操作 fread
直接流寫操作 fwrite
文件定位函數(shù) 得到文件位置 fgetpos
文件位置移動 fseek
文件位置設置 fsetpos
得到文件位置 ftell
文件位置復零位 remind
錯誤處理函數(shù) 錯誤清除 clearerr
文件結尾判斷 feof
文件錯誤檢測 ferror
得到錯誤提示字符串 perror
實用工具函數(shù)
本分類給出了一些函數(shù)無法按以上分類,但又是編程所必須要的。
頭文件 stdlib.h
函數(shù)列表
函數(shù)類別 函數(shù)用途 詳細說明
字符串轉(zhuǎn)換函數(shù) 字符串轉(zhuǎn)換為整數(shù) atoi
字符串轉(zhuǎn)換為長整數(shù) atol
字符串轉(zhuǎn)換為浮點數(shù) strtod
字符串轉(zhuǎn)換為長整數(shù) strtol
字符串轉(zhuǎn)換為無符號長整型 strtoul
偽隨機序列產(chǎn)生函數(shù) 產(chǎn)生隨機數(shù) rand
設置隨機函數(shù)的起動數(shù)值 srand
存儲管理函數(shù) 分配存儲器 calloc
釋放存儲器 free
存儲器分配 malloc
重新分配存儲器 realloc
環(huán)境通信 中止程序 abort
退出程序執(zhí)行,并清除環(huán)境變量 atexit
退出程序執(zhí)行 exit
讀取環(huán)境參數(shù) getenv
程序掛起,臨時執(zhí)行一個其他程序 system
搜索和排序工具 二分查找(數(shù)據(jù)必須已排序) bsearch
快速排序 qsort
整數(shù)運算函數(shù) 求絕對值 abs
div
得到除法運算底商和余數(shù)
求長整形底絕對值 labs
求長整形除法的商和余數(shù) ldiv
多字節(jié)字符函數(shù) 得到多字節(jié)字符的字節(jié)數(shù) mblen
得到多字節(jié)字符的字節(jié)數(shù) mbtowc
多字節(jié)字符轉(zhuǎn)換 wctomb
多字節(jié)字符的字符串操作 將多字節(jié)串轉(zhuǎn)換為整數(shù)數(shù)組 mbstowcs
將多字節(jié)串轉(zhuǎn)換為字符數(shù)組 mcstowbs
字符串處理
本分類的函數(shù)用于對字符串進行合并、比較等操作
頭文件 string.h
函數(shù)列表
函數(shù)類別 函數(shù)用途 詳細說明
字符串拷貝 塊拷貝(目的和源存儲區(qū)不可重疊) memcpy
塊拷貝(目的和源存儲區(qū)可重疊) memmove
串拷貝 strcpy
按長度的串拷貝 strncpy
字符串連接函數(shù) 串連接 strcat
按長度連接字符串 strncat
串比較函數(shù) 塊比較 memcmp
字符串比較 strcmp
字符串比較(用于非英文字符) strcoll
按長度對字符串比較 strncmp
字符串轉(zhuǎn)換 strxfrm
字符與字符串查找 字符查找 memchr
字符查找 strchr
字符串查找 strcspn
字符串查找 strpbrk
字符串查找 strspn
字符串查找 strstr
字符串分解 strtok
雜類函數(shù) 字符串設置 memset
錯誤字符串映射 strerror
求字符串長度 strlen
日期和時間函數(shù)
本類別給出時間和日期處理函數(shù)
頭文件 time.h
函數(shù)列表
函數(shù)類別 函數(shù)用途 詳細說明
時間操作函數(shù) 得到處理器時間 clock
得到時間差 difftime
設置時間 mktime
得到時間 time
時間轉(zhuǎn)換函數(shù) 得到以ASCII碼表示的時間 asctime
得到字符串表示的時間 ctime
得到指定格式的時間 strftime
函數(shù)庫未來的發(fā)展方向
本部分用于說明各類別函數(shù)庫在將來如何發(fā)展。
序號 庫類別 頭文件 詳細說明
1 錯誤處理 errno.h
2 字符處理 ctype.h
3 地區(qū)化 local.h
4 數(shù)學函數(shù) math.h
5 信號處理 signal.h
6 輸入輸出 stdio.h
7 實用工具程序 stdlib.h
8 字符串處理 string.h
計算反正切函數(shù)(使用歐拉變換公式,精度很高),反正切函數(shù)的級數(shù)展開公式:
f(x) = x - x^3/3 + x^5/5 +...+ (-1)^k * x^(2k+1)/(2k + 1)+...
當|x| 1時,級數(shù)絕對值發(fā)散,無法直接使用歐拉公式計算。因此可以通過下面的公式
進行等價轉(zhuǎn)換之后再進行計算。
等價轉(zhuǎn)換公式:
a) ATan(1/x) = Pi/2 - ATan(x)
b) ATan(-x) = - ATan(x)
特殊情況
0 = ArcTan(0)
Pi/2 = ArcTan(無窮大)
//
// 歐拉公式
//
// sum是和,term是通項值,jterm初始為1,以后按1遞增。wrksp是工作單元,視jterm的
// 最大值而定。
//
void eulsum(int nterm,double *sum,double term,int jterm,double wrksp[])
{
double tmp,dum;
if(jterm == 1)
{
nterm = 1;
wrksp[1] = term;
*sum = 0.5 * term;
}
else
{
tmp = wrksp[1];
wrksp[1] = term;
for(int j=1; j = nterm; j++)
{
dum = wrksp[j+1];
wrksp[j+1] = 0.5 * (wrksp[j] + tmp);
tmp = dum;
}
if(fabs(wrksp[nterm + 1]) = fabs(wrksp[nterm]))
{
*sum = *sum + 0.5 * wrksp[nterm + 1];
nterm = nterm + 1;
}
else
{
*sum = *sum + wrksp[nterm + 1];
}
}
}
級數(shù)計算就不用我給代碼了吧。
新聞名稱:c語言中tanh函數(shù) tanh函數(shù)與tan函數(shù)
轉(zhuǎn)載來源:http://chinadenli.net/article16/doophdg.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供微信公眾號、營銷型網(wǎng)站建設、小程序開發(fā)、App設計、軟件開發(fā)、品牌網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)