1. C語言的庫函數(shù)中提供了求絕對值的函數(shù),函數(shù)名為 abs
成都創(chuàng)新互聯(lián)長期為數(shù)千家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為稱多企業(yè)提供專業(yè)的成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì),稱多網(wǎng)站改版等技術(shù)服務(wù)。擁有十年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。
2. 函數(shù)的頭文件:#include
3. 函數(shù)原型:int abs (int j);
4. 函數(shù)說明:abs()用來計(jì)算參數(shù)j 的絕對值,然后將結(jié)果返回。
5. 返回值:返回參數(shù)j 的絕對值結(jié)果。
c語言中取絕對值的函數(shù)
*?? ABS.C:?? This?? program?? computes?? and?? displays
*?? the?? absolute?? values?? of?? several?? numbers.
#include???? stdio.h
#include???? math.h
#include???? stdlib.h
void?? main(?? void?? )
{int???????? ix?? =?? -4,?? iy;
long?????? lx?? =?? -41567L,?? ly;
double?? dx?? =?? -3.141593,?? dy;
iy?? =?? abs(?? ix?? );
printf(?? "The?? absolute?? value?? of?? %d?? is?? %d/n",?? ix,?? iy);
ly?? =?? labs(?? lx?? );
printf(?? "The?? absolute?? value?? of?? %ld?? is?? %ld/n",?? lx,?? ly);
dy?? =?? fabs(?? dx?? );
printf(?? "The?? absolute?? value?? of?? %f?? is?? %f/n",?? dx,?? dy?? );
Output
The?? absolute?? value?? of?? -4?? is?? 4
The?? absolute?? value?? of?? -41567?? is?? 41567
The?? absolute?? value?? of?? -3.141593?? is?? 3.141593
abs函數(shù)是計(jì)算整數(shù)的絕對值,浮點(diǎn)數(shù)的絕對值用fabs。
此處用 abs(a); abs(b); 將會(huì)使得 a, b 會(huì)被隱式類型轉(zhuǎn)換為 int 型,可能會(huì)損失精度,故有上述警告提示。
解決辦法:
將abs(a); abs(b); 改為 fabs(a); fbas(b); 即可。
1、輸入?yún)?shù)類型不同:
ABS是絕對值函數(shù)的輸入?yún)?shù)類型為整型,fabs函數(shù)的輸入?yún)?shù)類型為浮點(diǎn)型。
2、輸出參數(shù)類型不同:
ABS函數(shù)的輸出參數(shù)類型為整型,fabs函數(shù)的輸出參數(shù)類型為浮點(diǎn)型。
3、功能不同:
fabs函數(shù)功能為:求浮點(diǎn)數(shù)x的絕對值。ABS函數(shù)的功能為求整數(shù)的絕對值。
4、引用的頭文件不同:
abs函數(shù)引用的頭文件:stdlib.h,fabs函數(shù)引用的頭文件為math.h。
擴(kuò)展資料:
fbs函數(shù)的應(yīng)用:
程序判數(shù)濾波采樣的信號,如因常受到隨機(jī)干擾傳感器不穩(wěn)定而引起嚴(yán)重失真時(shí),可以采用此方法。
方法是:根據(jù)生產(chǎn)經(jīng)驗(yàn)確定兩交采樣允許的最大偏差△×,若先后兩次采樣的信號相減數(shù)值大于△×,表明輸入的是干擾信號,應(yīng)該去掉;用上次采樣值作為本次采樣值,若小于、等于△×表明沒有受到干,本次采樣值效。該方法適用于慢變化的物理參數(shù)的采樣,如溫度、物理位置等測量系統(tǒng)。
程序判斷濾波的C程序函數(shù)如下:
float program_detect_filter(float old_new_value[], float X){
float sample_value;
if (fabs(old_new_value[1]_old_new_value[0])X) sample_value=old_new_value[0];
else sample_value=old_new_value[1];
retrun(sample_value);
}
函數(shù)調(diào)用需一個(gè)一維的兩個(gè)元素的數(shù)組(old_new_value[2],用于存放上次采樣值(old_new_value[0],)和本次采樣值(old_new_value[1]),函數(shù)中sample_value表示有效采樣值,X表示根據(jù)根據(jù)經(jīng)驗(yàn)確定的兩次采樣允許的最大偏差△×。
參考資料來源:百度百科-ABS
參考資料來源:百度百科-fabs函數(shù)
區(qū)別一:用法不同
1、abs()是對整數(shù)取絕對值
2、fabs()是對浮點(diǎn)數(shù)取絕對值
區(qū)別二:函數(shù)原型不同
1、abs的函數(shù)原型為:int abs(int x)
2、fabs的函數(shù)原型為:double fabs(double x)
區(qū)別三:頭文件不同
1、abs(): #include stdlib.h
2、fabs(): #include math.h
擴(kuò)展資料
C語言特有特點(diǎn)
C語言普適性最強(qiáng)的一種計(jì)算機(jī)程序編輯語言,它不僅可以發(fā)揮出高級編程語言的功用,還具有匯編語言的優(yōu)點(diǎn),因此相對于其它編程語言,它具有自己獨(dú)特的特點(diǎn)。
其一,廣泛性。C 語言的運(yùn)算范圍的大小直接決定了其優(yōu)劣性。C 語言中包含了34種運(yùn)算符,因此運(yùn)算范圍要超出許多其它語言,此外其運(yùn)算結(jié)果的表達(dá)形式也十分豐富。此外,C 語言包含了字符型、指針型等多種數(shù)據(jù)結(jié)構(gòu)形式,因此,更為龐大的數(shù)據(jù)結(jié)構(gòu)運(yùn)算它也可以應(yīng)付。
其二,簡潔性。9 類控制語句和32個(gè)KEYWORDS是C語言所具有的基礎(chǔ)特性,使得其在計(jì)算機(jī)應(yīng)用程序編寫中具有廣泛的適用性,不僅可以適用廣大編程人員的操作,提高其工作效率,同 時(shí)還能夠支持高級編程,避免了語言切換的繁瑣。
其三,結(jié)構(gòu)完善。C語言是一種結(jié)構(gòu)化語言,它可以通過組建模塊單位的形式實(shí)現(xiàn)模塊化的應(yīng)用程序,在系統(tǒng)描述方面具有顯著優(yōu)勢,同時(shí)這一特性也使得它能夠適應(yīng)多種不同的編程要求,且執(zhí)行效率高。
參考資料來源:百度百科—C語言
abs( )是C語言中對整型數(shù)據(jù)進(jìn)行取絕對值的函數(shù)。
具體用法可以參考下例:
int?a=-5,?b;
b?=?abs(a);
printf("%d\n",?b);??//?輸出結(jié)果為5
注:該函數(shù)的參數(shù)值必須是int類型的,如果是非int型的,那么就要使用fabs( )函數(shù)(該函數(shù)是對float類型的數(shù)據(jù)取絕對值)