直接用兩個數(shù)(或變量)相乘就可以表示平方,比如x*x
10年積累的成都做網(wǎng)站、成都網(wǎng)站設計經(jīng)驗,可以快速應對客戶對網(wǎng)站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡服務。我雖然不認識你,你也不認識我。但先做網(wǎng)站設計后付款的網(wǎng)站建設流程,更有湘潭免費網(wǎng)站建設讓你可以放心的選擇與我們合作。
不過如果,需要求m的n次方,就需要用到pow(x,y)乘方(包括開方)這個庫函數(shù)了,使用pow(x,y)這個庫函數(shù),需要math.h頭文件。
其中x和y都是雙精度浮點(double)型。
#include"math.h"
U32sqrt_fun(U64x){
U32low=0;
U32high=x;
U32mid;
U64data;
while(low high){
mid=(low+high)/2;
data=(U64)mid*mid;
if(data x){
high=mid-1;
}else if(data x){
low=mid+1;
}else{
return(mid);
}
}
return(mid);
}
voidmain(void){
volatileU32td1,td2;
U64d=0x12345678ABCD;
td2=sqrt(d);
td1=sqrt_fun(d);
}
擴展資料
C語言無參函數(shù)的定義:
dataType是返回值類型,它可以是C語言中的任意數(shù)據(jù)類型,例如int、float、char等。
functionName 是函數(shù)名,它是標識符的一種,命名規(guī)則和標識符相同。函數(shù)名后面的括號( )不能少。
body是函數(shù)體,它是函數(shù)需要執(zhí)行的代碼,是函數(shù)的主體部分。即使只有一個語句,函數(shù)體也要由{}包圍。
如果有返回值,在函數(shù)體中使用return語句返回。return出來的數(shù)據(jù)的類型要和dataType一樣。
頭文件:#include math.h
sqrt() 用來求給定值的平方根,其原型為:double sqrt(double x);double sqrt(double x)。
x 為要計算平方根的值。
如果 x 0,將會導致 domain error 錯誤,并把全局變量 errno 的值為設置為 EDOM。
返回 x 平方根。注意,使用 GCC 編譯時請加入-lm。實例計算200 的平方根值。
例子:
#include math.hmain(){??double root;??root = sqrt(200);??printf("answer is %f\n", root);}
輸出結(jié)果:answer is 14.142136。
擴展資料:
使用sqrt函數(shù)需要注意的事項:
1、sqrt函數(shù)運行的是結(jié)果是算術(shù)平方根,即不能運算處負數(shù)值,也不能輸出虛數(shù)結(jié)果。如需要得到算術(shù)平方根中的負數(shù)值,則應該在sqrt函數(shù)前添加負號。
2、sqrt函數(shù)的參數(shù)必須是非負數(shù)值,如果是負數(shù)值,則輸出會報錯,即數(shù)值無效;如果參數(shù)是未定義的非數(shù)字變量,則按回車后也會報錯,即變量名有誤。
3、sqrt函數(shù)的計算精度與C語言設置的精度有關(guān),可以通過設置更改精度。
若開平方,可以使用函數(shù)sqrt()完成,若開其他次方,可以借助函數(shù)pow()完成。
開平方示例:
#includemath.h//sqrt函數(shù)使用到的頭文件
#includestdio.h
int main(void)
{
double x=4.0,result;
result=sqrt(x);//對x開平方
printf("%g\n",result);
return 0;
}
//輸入結(jié)果:2
開三次方示例:
#includemath.h//pow函數(shù)使用的頭文件
#includestdio.h
int main(void)
{
double x=27.0,result;
result=pow(x, 1.0/3);//對x開三次方
printf("%g\n",result);
return 0;
}
//輸出結(jié)果:3
對于借助pow函數(shù)實現(xiàn)開方的可以借鑒開三次方示例代碼。
表示如下:
首先要把math頭文件添加進去
#includemath.h
在程序中調(diào)用 sqrt()函數(shù)
給個簡單的例子:
#include stdio.h
#include math.h
main ()
{
int a;
double b;
a = 100;
b=sqrt (a) ; ? ?//給a開平方
pintf("%lf",b);
}
C語言是一門面向過程的、抽象化的通用程序設計語言,廣泛應用于底層開發(fā)。C語言能以簡易的方式編譯、處理低級存儲器。
C語言是僅產(chǎn)生少量的機器語言以及不需要任何運行環(huán)境支持便能運行的高效率程序設計語言。盡管C語言提供了許多低級處理的功能,但仍然保持著跨平臺的特性,以一個標準規(guī)格寫出的C語言程序可在包括類似嵌入式處理器以及超級計算機等作業(yè)平臺的許多計算機平臺上進行編譯。
C語言是普適性最強的一種計算機程序編輯語言,它不僅可以發(fā)揮出高級編程語言的功用,還具有匯編語言的優(yōu)點,因此相對于其它編程語言,它具有自己獨特的特點。具體體現(xiàn)為以下三個方面:
其一,廣泛性。C語言的運算范圍的大小直接決定了其優(yōu)劣性。C語言中包含了34種運算符,因此運算范圍要超出許多其它語言,此外其運算結(jié)果的表達形式也十分豐富。此外,C語言包含了字符型、指針型等多種數(shù)據(jù)結(jié)構(gòu)形式,因此,更為龐大的數(shù)據(jù)結(jié)構(gòu)運算它也可以應付。
其二,簡潔性。9類控制語句和32個關(guān)鍵字是C語言所具有的基礎特性,使得其在計算機應用程序編寫中具有廣泛的適用性,不僅可以適用廣大編程人員的操作,提高其工作效率,同時還能夠支持高級編程,避免了語言切換的繁瑣。
其三,結(jié)構(gòu)完善。C語言是一種結(jié)構(gòu)化語言,它可以通過組建模塊單位的形式實現(xiàn)模塊化的應用程序,在系統(tǒng)描述方面具有顯著優(yōu)勢,同時這一特性也使得它能夠適應多種不同的編程要求,且執(zhí)行效率高。
一般的來說在進行開方運算時,都會使用sqrt函數(shù)進行開方運算。使用sqrt時就需要引用頭文件math.h。(這里使用%d來輸出整數(shù)):
#includestdio.h
#includemath.h
int Mysqrt(int n)
{
return sqrt(n*1.0);
}
int main()
{
printf("%d\n",Mysqrt(10));
printf("%d\n",Mysqrt(9));
return 0;
}
擴展資料:
C語言編寫注意事項:
1、變量名以字母和數(shù)字組成, (下劃線"_"被默認為字符,以下劃線為首寫字母的為庫類變量名),變量常以小寫字母開頭.內(nèi)部變量命前31位有效,外部名至少前6位保持唯一性、大小寫在C語言中是區(qū)分的。
2、一個字符常量為一個整數(shù), 以''單引號括起。 '0' 為48, 與0沒有任何關(guān)系。
3、ANSI C語言的轉(zhuǎn)義符: \a 響鈴符; \b 回退符; \f 換頁符; \n 換行符; \r 回車符; \t 橫向制表符 \v 縱向制表符; \\ 反斜杠; \? 問號; \' 單引號;\" 雙引號; \ooo 八進制數(shù); \xhh 十六進制數(shù);
'\0' 表示0, 即(null).通常以'\0'形式表示0 以強調(diào)某些表達是的字符屬性。
4、'x'與"x"的區(qū)別: 'x'表示一個整數(shù), 字母x在極其字符集中對應的數(shù)值、"x"表示一個包含一個字符x 以及一個結(jié)束符'\0'。
5、const在聲明變量中起限制作用, 該限定變量的值不能被修改。
需要準備的材料分別有:電腦、C語言編譯器。
1、首先,打開C語言編譯器,新建一個初始.cpp文件,例如:test.cpp。
2、在test.cpp文件中,輸入C語言代碼:printf("%f", sqrt(8));?。
3、編譯器運行test.cpp文件,此時用sqrt得到了8的開方結(jié)果。