#includestdio.h
龍文網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián)公司,龍文網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為龍文上千余家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站制作要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的龍文做網(wǎng)站的公司定做!
#include math.h
void main()
{
float x=5,y;
y=log(x);
printf("%f\n",y);
}
擴(kuò)展資料:
C語言中使用對(duì)數(shù)函數(shù)的方法
log()函數(shù):返回以e為底的對(duì)數(shù)值
頭文件:
1#include
log() 函數(shù)返回以 e 為底的對(duì)數(shù)值,其原型為:
1double?log?(double?x);
log()用來計(jì)算以e為底的 x 的對(duì)數(shù)值,然后將結(jié)果返回。設(shè)返回值為 ret,則
1x = eret
如果 x 為負(fù)數(shù)或 0,則會(huì)發(fā)生錯(cuò)誤并設(shè)置 errno 值。錯(cuò)誤代碼:
EDOM:參數(shù)x 為負(fù)數(shù);
ERANGE:參數(shù)x
為零值,零的對(duì)數(shù)值無定義。
注意:使用 GCC 編譯時(shí)請(qǐng)加入-lm。
1、C語言中,有兩個(gè)log函數(shù),分別為log10和log函數(shù),具體用法如下:
2、函數(shù)名: log10
功 能: 對(duì)數(shù)函數(shù)log,以10為底
用 法: double log10(double x);
程序示例:
#include math.h
#include stdio.hint main(void)
{
double result;
double x = 800.6872;
result = log10(x);
printf("The common log of %lf is %lf\n", x, result);
return 0;
}
3、函數(shù)名: log
功 能: 對(duì)數(shù)函數(shù)log,以e(2.71828)為底
用 法: double log(double x);
程序示例:
#include math.h
#include stdio.hint main(void)
{
double result;
double x = 800.6872;
result = log(x);
printf("The common log of %lf is %lf\n", x, result);
return 0;
}
好像沒有定義e的常數(shù)。也不好定義,因?yàn)樗菬o限不循環(huán)小數(shù)。可以寫一個(gè)函數(shù)自己求得需要精度的e,舉例如下:
double?mye(void){
double?e=1.0,n=1.0;
int?i=1;
while(1/n1.0E-10){
e+=1/n;
n*=++i;
}
return?e;
}
沒有問題,輸出m=0.301030;n=0.004321;g=69.66
編譯時(shí)會(huì)提示warning,主要原因有
1、int d=300000 過大,用長整形;
2、log()和log10()函數(shù)均是double型,double轉(zhuǎn)成float會(huì)有截?cái)嗾`差,將float r=0.01,m,n,g;
中的float改成double就不會(huì)有warning了;
3、getch()函數(shù)未聲明,頭文件加入#includeconio.h,就不會(huì)有warning了。
但warning不會(huì)影響運(yùn)行結(jié)果。
c 里直接提供的是 以 e 為底的自然對(duì)數(shù) log ,和 以 10 為底的常用對(duì)數(shù) log10
其他對(duì)數(shù)寫個(gè)函數(shù)就可以
#include stdio.h
#include math.h
double loga(double n, double base);
int main (void)
{
double a, b, c;
a = log(exp(1));
b = log10(10);
c = loga(100, 5);
printf("%lf %lf %lf", a, b, c);
}
double loga(double n, double base)
{ return log(n) / log(base);}
C語言中直接提供的是e為底的自然對(duì)數(shù)log,和以10為底的常用對(duì)數(shù)log10,其他對(duì)數(shù)寫個(gè)函內(nèi)數(shù)就可以。
#include stdio.h
#include math.h
double loga(double n, double base);
int main (void)
{
double a, b, c;
a = log(exp(1));
b = log10(10);
c = loga(100, 5);
printf("%lf %lf %lf", a, b, c);
}
double loga(double n, double base)
{ return log(n) / log(base);}
擴(kuò)展資料:
如果一個(gè)變量名后面跟著一個(gè)有數(shù)字的中括號(hào),這個(gè)聲明就是數(shù)組聲明。字符串也是一種數(shù)組。它們以ASCII的NULL作為數(shù)組的結(jié)束。要特別注意的是,中括號(hào)內(nèi)的索引值是從0算起的。
C語言的字符串其實(shí)就是以'\0'字符結(jié)尾的char型數(shù)組,使用字符型并不需要引用庫,但是使用字符串就需要C標(biāo)準(zhǔn)庫里面的一些用于對(duì)字符串進(jìn)行操作的函數(shù)。它們不同于字符數(shù)組。使用這些函數(shù)需要引用頭文件string.h。
C程序中函數(shù)的數(shù)目實(shí)際上是不限的,如果說有什么限制的話,那就是,一個(gè)C程序中必須至少有一個(gè)函數(shù),而且其中必須有一個(gè)并且僅有一個(gè)以main為名的函數(shù),這個(gè)函數(shù)稱為主函數(shù),整個(gè)程序從這個(gè)主函數(shù)開始執(zhí)行。
比較特別的是,比特右移()運(yùn)算符可以是算術(shù)(左端補(bǔ)最高有效位)或是邏輯(左端補(bǔ) 0)位移。例如,將 11100011 右移 3 比特,算術(shù)右移后成為 11111100,邏輯右移則為 00011100。因算術(shù)比特右移較適于處理帶負(fù)號(hào)整數(shù),所以幾乎所有的編譯器都是算術(shù)比特右移。
本文名稱:c語言對(duì)數(shù)函數(shù)e c語言中的對(duì)數(shù)
URL網(wǎng)址:http://chinadenli.net/article46/hiheeg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、軟件開發(fā)、品牌網(wǎng)站制作、網(wǎng)站設(shè)計(jì)公司、、品牌網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)