#includestdio.h
10年積累的成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先做網(wǎng)站后付款的網(wǎng)站建設(shè)流程,更有鄒城免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
#include math.h
void main()
{
float x=5,y;
y=log(x);
printf("%f\n",y);
}
擴(kuò)展資料:
C語言中使用對數(shù)函數(shù)的方法
log()函數(shù):返回以e為底的對數(shù)值
頭文件:
1#include
log() 函數(shù)返回以 e 為底的對數(shù)值,其原型為:
1double?log?(double?x);
log()用來計算以e為底的 x 的對數(shù)值,然后將結(jié)果返回。設(shè)返回值為 ret,則
1x = eret
如果 x 為負(fù)數(shù)或 0,則會發(fā)生錯誤并設(shè)置 errno 值。錯誤代碼:
EDOM:參數(shù)x 為負(fù)數(shù);
ERANGE:參數(shù)x
為零值,零的對數(shù)值無定義。
注意:使用 GCC 編譯時請加入-lm。
1、C語言中,有兩個log函數(shù),分別為log10和log函數(shù),具體用法如下:
2、函數(shù)名: log10
功 能: 對數(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
功 能: 對數(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;
}
C語言中直接提供的是e為底的自然對數(shù)log,和以10為底的常用對數(shù)log10,其他對數(shù)寫個函內(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ò)展資料:
如果一個變量名后面跟著一個有數(shù)字的中括號,這個聲明就是數(shù)組聲明。字符串也是一種數(shù)組。它們以ASCII的NULL作為數(shù)組的結(jié)束。要特別注意的是,中括號內(nèi)的索引值是從0算起的。
C語言的字符串其實就是以'\0'字符結(jié)尾的char型數(shù)組,使用字符型并不需要引用庫,但是使用字符串就需要C標(biāo)準(zhǔn)庫里面的一些用于對字符串進(jìn)行操作的函數(shù)。它們不同于字符數(shù)組。使用這些函數(shù)需要引用頭文件string.h。
C程序中函數(shù)的數(shù)目實際上是不限的,如果說有什么限制的話,那就是,一個C程序中必須至少有一個函數(shù),而且其中必須有一個并且僅有一個以main為名的函數(shù),這個函數(shù)稱為主函數(shù),整個程序從這個主函數(shù)開始執(zhí)行。
比較特別的是,比特右移()運算符可以是算術(shù)(左端補最高有效位)或是邏輯(左端補 0)位移。例如,將 11100011 右移 3 比特,算術(shù)右移后成為 11111100,邏輯右移則為 00011100。因算術(shù)比特右移較適于處理帶負(fù)號整數(shù),所以幾乎所有的編譯器都是算術(shù)比特右移。
用庫函數(shù)math.h 這里面的log就是數(shù)學(xué)里面ln(底數(shù)為e的那個家伙)的意思。如下代碼例子
#includestdio.h
#includemath.h
main()
{
double?k;
k=log(2.71828);
printf("?%f?",k);
k=log(8)/log(2);
printf("?%f?",k);
}
第一k是ln(e)的意思,e約為2.71828,屏幕上打印出值為0.999999,
第二k是求底數(shù)為2真數(shù)為8的值log2(8)=ln(8) /ln(2) (這個數(shù)學(xué)轉(zhuǎn)化式我不用多說),打印出來的結(jié)果是3.000000