1樓:匿名使用者
輸出控制符是不分單精度雙精度的,之所以有%f和%lf,完全是為了書寫規則的完善,沒有實際意義。都是double型的。
%f系統預設輸出6個小數點後的位,小數點前的不管多少都輸出為什麼可以完整地把12.123456輸出出來,單精度為6~7為有效數字
%g 當指數小於-4或大於等於精度時採用%e或%e的格式,否則採用%f的格式。尾部的0與小數點不列印。
2樓:顧兒柔飛蘭
1.這是c語言中的強制型別轉化問題。在有不同型別的量參與運算時,一律先強制型別轉化成一致的型別再運算。
轉化規則是以最高階別的型別為基準。由低向高轉化。型別的級別從低到高排列依次為:
char->int->long
int->float->double
2.因為雙精度的數,其有效位比單精度更多,有效位越多,當然計算的結果越精確。但是有效位越多,資料處理也就越多,因而運算速度會降低。
在c中浮點型常量如果沒有說明,一律看做是double型。有說明的除外,如:
3.21f,這個就是float型。
3樓:嶽傲巫馬子實
是指第一個不是0的開始算,從那個數開始到最後一位,如要保留6位
的話,1就變成了1.00000.如0.078和0.78與小數點無關,均為兩位有效數字。506與220均為三位有效數字。
在c語言中,有效數字和有效數位怎麼解釋?
4樓:匿名使用者
1、在c語言中,一個數的有效數字取決於該數字所屬的型別。
2、舉例如內下:
如果數12.3是int型別,那麼
容12就是該數的有效數字,小數部分無效;
如果數12.3是float型別,那麼12.3就是該數的有效數字。
如果數字超過其型別所能表示的範圍,那麼其就沒有效數字。
5樓:
以下所述bai都指vc6.0環境,其他的du可能有所不同。
單精度7位指
zhi的是整數dao部分加上小數部分的數字。比如版a=100000000.0/3.0;
printf("%10.20f\n",a);//輸出33333334.00000000000000000...(20個0)
a=10.0/3.0;
printf("%10.20f\n",a);//3.3333332537....(小權數部分共20位,但明顯小數部分6位有效數字以後是錯的)
.不算。
在printf的%f預設情況下(%和f間沒有輸出限制)是給小數部分輸出6位數字,精度超出就輸出錯的,沒超出就是精確值
6樓:匿名使用者
#include
using namespace std;
int main()
試一下啦!
如何用c語言保留3位有效數字 5
7樓:砍人不要緊
printf("%3f",數值),即可
c語言報錯的問題?
8樓:匿名使用者
你的程式錯誤,是在
cout << 「enter the temperature in celsius:」;
cout << 「fahrenheit value is:」;中用了中文狀態下的雙引號。
#include
#include
#include
using namespace std;
int main(int nnumberofargs, char* pszargs)
以上程式正確,可以執行。
如果還不行,那就是編譯器的問題。建議:用vc2008,c-free或vc2010.
微軟已停止對vc6.0進行更新了。(開始不習慣很正常,成為高手後會喜歡例如vc2010的)。
c語言中什麼是一個數的有效數字?
9樓:匿名使用者
樓上誤解
樓主問的是c語言 不是數學
這要看你的機器型別和變數型別了
如果定義的是int型 那1234是有
版效數字
權 後面小數都是無效的
如果定義的是float型 那在限定位元組長度內都是有效數字不同機器型別也不一樣 int型有2個位元組 也有4個位元組的
10樓:天雲一號
在c語言中,bai一個數的有效數du字取決於該數字所屬的類zhi型。
舉例如下:
如果數dao12.3是int型別,那麼版12就是該數的權有效數字,小數部分無效;
如果數12.3是float型別,那麼12.3就是該數的有效數字。
如果數字超過其型別所能表示的範圍,那麼其就沒有效數字。
11樓:匿名使用者
有效數字是指從左邊第一個非0的數起算一個有效數字,1234.567017就一共有10個有效數字,像0.12就有2個有效數字
c語言中char的問題,C語言中char的問題
書上講的是使用上的情況。對char型別的情況介紹是正確的,但是對字元常量書上忽略了一點技術細節。字元常量這個東西的具體情況並不是像你理解的那樣,這個東西的型別其實是 int而不是char。你可以找個編譯器試試看sizeof a 的結果是4。所以你寫 字元 或者 1234 是可以的,如果你寫 5字元 ...
c語言中怎麼輸入數字和字母,C語言中怎麼輸入數字和字母?
大致提供下個人想法,用c語言中的ctype.h 檔案中的 isdigit 函式來判斷。雖然說該函式只能判斷0 9的數,但是,你可以把所有輸入的東西當成是一個陣列形式。呼叫該函式,用指標來逐一判斷其每一位。比如說如果是輸出,1111可以用isdigit 判斷其每一位都為真,這就為數字。輸入ajkjlk...
C語言for迴圈賦值問題,C語言中用for迴圈賦值陣列
在第一次迴圈以後,漏掉了將j清零的操作,這樣在i 1與i 2時,j 4,不會進入輸出的第二級迴圈 c語言中用for迴圈賦值陣列 include main a 0 到a 9 這10個數依次賦值0到9for i 0 i 10 i a i i a 20 到a 29 這10個數全部賦值成9for i 20 ...