① 求一道編程題:編寫一個函數abs()實現求絕對值的功能
1.求兩個數差的絕對值
#include <stdio.h>
int abs(int p,int q)
{
return p>q?p-q:q-p;
}
void main()
{
int m,n,ab;
printf("Input m and n:\n");
scanf("%d%d",&m,&n);
ab=abs(m,n);
printf("所求的兩個數差絕對值為:%d\n",ab);
}
2.求輸入數字的絕對值
#include <stdio.h>
int abs(int p)
{
return p>0?p:-p;
}
void main()
{
int m,ab;
printf("Input m:\n");
scanf("%d",&m);
ab=abs(m);
printf("所輸入的數字的絕對值為:%d\n",ab);
}
② c程序 abs函數
abs函數的原型是:int abs(int x),求x的絕對值,x的類型是int型,所以你程序里2.5-2.7會強制轉換成int型,所以結果是0
你可以用double fabs(double x)函數來實現double i=fabs(2.5-2.7)
③ abs函數是什麼意思
abs 函數意思為多種編程語言中的一種用於求數據絕對值的函數。
C++也有abs函數。但是,在C++中使用abs函數要注意存在兩種版本,一種是在stdlib.h中定義的版本,另一個是在iostream或cmath頭文件中定義的。事實上,在stdlib.h文件中定義的是C的函數,而cmath中的是C++版本。這兩種版本有明顯的差別。
C/C++ :
根據ISO C/C++的標准規定,C語言的abs函數僅僅支持整數的絕對值計算(返回值為整型),必須使用fabs才能獲得浮點數的絕對值。
C++的abs則可以自然支持對整數和浮點數兩個版本(實際上還能夠支持復數),如果參數是整數類型,則返回值為相應的整數類型,如果參數為浮點數,則返回值為相應的浮點數類型。
如果在C++程序中,由於頭文件關系,不慎使用了C版本的abs函數,並且輸入的是一個有小數的浮點數,那麼其行為就可能不符合程序員的預期了,因為在傳入函數參數時,浮點數會用截斷的方式轉換為整數。
而使用C++版本的abs函數時,則需要注意返回值類型(如果用printf進行輸出,需要使用正確的格式化輸出參數)。
因此,通常建議在C++中使用fabs函數(必要時進行強制類型轉換),而不要使用abs函數為好。
以上內容參考網路—Abs函數
④ abs函數的使用方法
一個實數x在數軸上所對應點到原點的距離叫做x的絕對值,數學上用|x|表示.
x<0時,|x|=-x;x=0時,|x|=0;x>0時,|x|=x.
在計算機語言中常用ABS(x)表示x的絕對值,對給定的x,返還值|x|.
例:在VisualFoxPro中
?ABS(2.5)&&輸出2.5
?ABS(0)&&輸出0
?ABS(-1.5)&&輸出1.5
abs函數的使用方法及案例
語法:ABS(number),其中,number表示要計算絕對值的數值。例如,計算下表各數的絕對值。在B1中錄入公式「=ABS(A1)」,向下復制公式,即可完成所有數的絕對值提取工作。
在實際工作中,這個函數可以為我們在某種情況提供方便。例如,計算員工的身高差,如下圖所示,在B4單元格中錄入公式:」=ABS(B2-B3)」,可以看到,ABS返回了兩個數差額的絕對值。
一般來說,ABS函數更多的是和其他函數嵌套在一起使用。例如:使用ABS函數配合IF函數可以判斷每位學生上次測試成績與本次測試成績的進步或退步情況。
在D2單元格中錄入公式:「=IF(B2<C2,」進步」,」退步「)&ABS(B2-C2)&」分」,即先用IF函數判斷是進步還是退步,再用ABS函數求出兩次考試相差分數的絕對值,然後加上單位」分「,向下復制公式,即可以得到我們想要的結果了。
⑤ C51中char型變數取絕對值可否用abs()函數
abs是求整數的絕對值,也就是int
,
fabs是求雙精度浮點型的絕對值,也就是double,要求的精度不一樣abs和labs是一樣的,abs是int,而labs是long
int
⑥ c語言中函數abs 和 fabs有什麼區別
區別一:用法不同
1、abs()是對整數取絕對值
2、fabs()是對浮點數取絕對值
區別二:函數原型不同
1、abs的函數原型為:int abs(int x)
2、fabs的函數原型為:double fabs(double x)
區別三:頭文件不同
1、abs(): #include <stdlib.h>
2、fabs(): #include <math.h>
C語言特有特點
C語言普適性最強的一種計算機程序編輯語言,它不僅可以發揮出高級編程語言的功用,還具有匯編語言的優點,因此相對於其它編程語言,它具有自己獨特的特點。
其一,廣泛性。C 語言的運算范圍的大小直接決定了其優劣性。C 語言中包含了34種運算符,因此運算范圍要超出許多其它語言,此外其運算結果的表達形式也十分豐富。此外,C 語言包含了字元型、指針型等多種數據結構形式,因此,更為龐大的數據結構運算它也可以應付。
其二,簡潔性。9 類控制語句和32個KEYWORDS是C語言所具有的基礎特性,使得其在計算機應用程序編寫中具有廣泛的適用性,不僅可以適用廣大編程人員的操作,提高其工作效率,同 時還能夠支持高級編程,避免了語言切換的繁瑣。
其三,結構完善。C語言是一種結構化語言,它可以通過組建模塊單位的形式實現模塊化的應用程序,在系統描述方面具有顯著優勢,同時這一特性也使得它能夠適應多種不同的編程要求,且執行效率高。
⑦ c語言絕對值用法C語言中的絕對值abs怎麼用
C語言中,abs函數是標准庫函數。
因此,
如果載入頭文件stdlib.h,那麼,就不需要再載入math.h
如果載入頭文件stdio.h,那麼,還需要載入math.h
具體使用時,直接用abs即可,不要大寫,不要加括弧。
⑧ 單片機編程 用keil C 寫程序 怎麼樣取變數的絕對值
給你舉個例子吧
比如說:變數a=0x15,那麼他的二進制數就是0001 0101,而其相反數就是最高位變為1或者0
然後代碼這么寫:
temp=a<<1;//表示a的二進制數左移一位,移除的最高位(即符號位)放到了CY(狀態標志位)中,而低位補零,即temp=0010 1010,CY=1
if(CY==1)//如果是正數,則最高位變成1
neg_a=a|(0x80+a);//即0001 0101|(1000 0000+0001 0101)=1001 0101
else
neg_a=a-0x80//即1001 0101-1000 0000=0001 0101