1樓:一口沒水的枯井
1.0/2*3=1.5
在c語言中 除數和被除數有一個為浮點數時
結果就是浮點數
所以1.0/2=0.5
0.5*3=1.5
c語言中1%2等於多少
2樓:小小詩不敢給她
首先我們要理解的是%在c語言中是什麼運算。在c語言中,%指的是取餘數。
有了以上知識作為鋪墊,我們來看一下1%2結果到底是什麼。
1除以2,商是0,餘數是1,所以1%2的結果是1。
關於「/」的「%」的總結
除法運算子「/」。二元運算子,具有左結合性。參與運算的量均為整型時,結果為整型,捨去小數。如果運算量中有一個為實型,結果為雙精度實型。
求餘運算子「%」,二元運算子,具有左結合性。參與運算的量均為整型。
求餘運算的結果等於兩個數相除後的餘數。
「%」取模運算子還有一些小的應用,例如:
①當你想要通過rand()獲得隨機數時,rand()%100;產生0-99的隨機數。
假如要產生16-59之間的數,可以這樣寫:rand()%44+16(這裡44由59-16+1得到)。
rand()%44 即可獲得0-43的隨機數,再加上16即可得到16-59的隨機數了;
②除了第一點以外,「%」運算還通常用於n進位制的轉換。 例如:
如果是二進位制轉換,那麼就可以通過/與%的結合使用則可以得到轉換之後的二進位制數了(其實就是短除法)
當原數被除至剩餘0時,它的上一次模數就是最高位進位制數。
30(10)->11110(2)
/與%的結合使用通常都可用於獲得最低位數又或者獲得所需的某位數。 例如:
「/」通常可以去掉尾數,而「%」通常都用於獲得尾數。
3樓:天雲一號
在c語言中, -1++ 這種寫法是錯誤的,進行編譯的時候會報錯,因為只有變數才可以進行自增或自減運算,對常量不能進行自增或自減運算。
可以通過如下的語句來進行驗證:
printf("%d\n", -1++); // 編譯的時候會報錯,因為-1是常量,而常量是不能進行++操作的
4樓:匿名使用者
你記住前面的數比後面的數小 那麼 餘數就是 前面的數。 像 5%10 還是5 1%2 還是1
5樓:匿名使用者
是1,因為%是取餘數運算子,1除以2等於0餘1,所以1%2=1
而/是除,對於整數如3/2=1,它把小數舍掉了,即便是0.9也舍,不是按四捨五入的,整數相除結果還是整數
而3.0/2=1.5這是因為實數相除還是實數
6樓:匿名使用者
1%2的計算結果是1
%在作為雙目運算子時,表示取模運算,c語言中如a%b的結果即為a除以b得到的餘數。
7樓:匿名使用者
c語言中1%2 是對1求餘數1除以2 餘1 結果就是1,餘數是多少結果就是多少當整除的時候結果是0
8樓:匿名使用者
1除以2,商是0,餘數是1,所以1%2的結果是1。
9樓:小亞
1,因為取模運算是求的餘數,一除以二,商0,餘1.
只要記住%是求餘數就行了。再不行你就用除法算了收餘數就行,而且運算數必須是整型
10樓:su9_踏雪無痕
在c語言裡邊 -1++ 這種寫法是錯誤的,只有左值才能進行自增或者自減運算。
例如:int a = 1;
-a++;
相當於 a = a+1;
a = -a;
所以結果為 -2
11樓:abc會吃草的牛
你連中100%分之二等於0.01和0.02
12樓:抬頭望那蒼穹
等於1.意思是1除以2的餘數,商是0,餘數為1
13樓:匿名使用者
1因為%是取餘數運算子,1除以2等於0餘1,所以1%2
c語言中1.0/3*3為什麼等於1
14樓:匿名使用者
算式中有1.0,因此
bai1.0/3*3的結
果為實型。du
先運算1.0/3,再zhi*3,結果為0.9...
輸出時,按dao整型輸專出,因此輸出結屬果為1。
在這個問題上,計算機程式與數學計算是一致的。在數學上,0.9...=1。這個是數學常識,而且是小學的數學常識。只能說你數學知識的欠缺從小學就開始了。
15樓:life初晴
%f預設保留六位小數,不足六位以0補齊,超過六位按四捨五入截斷
16樓:匿名使用者
浮點數計算結果是近似結果
c語言中1%2等於多少
17樓:笑1臉1男1人
1%2=1.
意思就是1整除2後餘數是多少。
打個比方1個蘋果,但是你每次只能拿2個,1%2,你拿了0次2個蘋果,還剩1個蘋果。
類似3%2=1,3個蘋果中你能拿走1次2個蘋果,還剩一個蘋果。
18樓:浙江衛健科技****
1%2的計算結果是1
%在作為雙目運算子時,表示取模運算,c語言中如a%b的結果即為a除以b得到的餘數。
19樓:匿名使用者
等於1,%是取mod符號
20樓:勾家索建義
是對1求餘數1除以2
餘1結果就是1,餘數是多少結果就是多少當整除的時候結果是0
c語言中1.0/2是多少
21樓:彌鷗逮成蔭
數學上是0.5。
但在c語言中,則取決於表示和編譯器等。
可以用printf驗證:
printf("%.2f",
1.0/2),輸專出:0.50
c表示式(1.0/2),符號屬
/表示除,所以(1.0/2)的值等於0.5。其中,1.0是個單精度浮點數格式的字面值常量所以它是個浮點型資料,以浮點型編碼於記憶體;
2是個整數格式的字面值常量所以它是個整型資料,以整數型編碼於記憶體。而c語言規定,一個混合資料型別運算表示式的運算結果的資料型別是表示式中存在的最「大」(double>float>int>char…)的那個型別。例如一個int與一個float的運算表示式的值是float的。
所以這題的表示式(1.0/2)的值將是浮點型的,因此能得到0.5。
注意,0.5是表示式(1.0/2)的值,它會存於暫存器或記憶體。
而不是(1.0/2)的值的另種型別的拷貝、或解釋等:
如下面的,將不會得到想要的結果:
intr
=1.0/2;
printf("%f",
r);//0.
printf("%d",
1.0/2);//0
c語言中a=(0<<2)|(1<<3)是什麼意思
22樓:楓璽
"="是賦值運算子,可以將右邊的運算結果賦值給左邊的變數。"<<"是左移運算子,將數左移一位即相當於擴大2倍。"|"是位或運算子,即按二進位制儲存資料的位進行或運算。
a=(0<<2)|(1<<3) 中有括號,先運算括號中的表示式,0<<2 結果還是0,1<<3 結果為1*2*2*2=8,而0|8=8。所以結果為:a= 8。
擴充套件資料c語言的運算子:
1、算術運算子:* - + / %
2、關係運算子: > < == != >= <=3、邏輯運算子:! && ||
4、位運算子:<< >> ~ | ^ &
5、賦值運算子:=及擴充套件賦值運算子
6、條件運算子:?:
7、逗號運算子:,
8、指標運算子:*和&
9、求位元組數運算子:sizeof
10、強制型別轉換運算子:(型別)
11、分量運算子:. ->
12、下標運算子:[ ]
13、其他:如函式呼叫運算子:()
23樓:匿名使用者
=賦值運算子 將右邊的運算結果賦值給左邊的變數<<左移運算子 左移一位,相當於擴大2倍|位或運算子 按二進位制儲存資料的位進行或運算,有1則1,全0為0
a=(0<<2)|(1<<3) 中有括號,先運算括號中的表示式0<<2 結果還是0
1<<3 結果為1*2*2*2=8
0|8=8
所以結果為:a= 8
24樓:煙火夜空
c語言的移位運算,從數學角度講,就是 乘法 的一種特殊情況,左移1 = ×2,左移 2= ×4,左移n,就是 × 2的n次方。於是,題目就可以理解為:
把 0 ×4, 把 1 × 8 後,把前面2個結果,按位 或 運算。
因為 0 × 4 的結果是 0,而 0 或上 任何數,都等於 任何數 本身,所以 結果 又 為 1×8=8,
25樓:永遠de青春
0 二進位制表示 0000 <<2表示向左移動2位右端補0 但還是01 二進位制表示 0001 <<3表示向左移動3位右端補0 是1000 為 8
|表示按位或操作,1或1的1, 1或0得1, 0或1的1,0或0得00000
1000
——10008
26樓:匿名使用者
《位移運算子 , | 位的或運算子
a<
1<<3相當於1乘以2的3次方,即1*8=8;
所以a=(0<<2)|(1<<3)=0|8=8
27樓:匿名使用者
<<表示向左移,低位補0 比如一個二進位制數整數1111 1111 1110 1000向左移動
4位1111 1110 1000 0000 |表示取或 1111 1110 1000 0000 |1111 1111 1110 1000則為 1111 1111 1110 1000有1則為1 倆個都是0則0
28樓:苦行僧
x<表示將一個數x的所有二進位制位全
部左移n位,x>>m表示將一個數x的所有二進位制位全部右移m位,由此可知,0<<2還是0,1<<3就是8了,「|"是按位或的運算子,兩個相應的二進位制位中只要有一個為1,該位的結果就是1。所以最後的a的二進位制位是00001000,用十進位制數表示a=8.問題解決。
29樓:匿名使用者
《左移操作; | 逐位或操作
0<<2 = 0;
1<<3 = 8;
0|8 = 8;
所以 a = 8;
c語言中表示式1.0/3*3的值是
30樓:匿名使用者
對呀,確實是這樣的 因為浮點數的精度是這個1.0是浮點數,精度是小數點後6位。
所以1.0/3是0.333333,然後乘以3就是0.999999。
這個題目考查的是大家對各種資料型別精度的理解
31樓:子同
1.0/3按照單精度計算只保證小數點後面的前6位是有效位數(精度是6),所以計算結果是0.333333,0.
333333*3=0.999999。不過在機器上執行的結果是1.
000000。書上講的只是理論計算的結果,在機器上執行有可能不同。
32樓:逐夢兮樂
由於前面是1.0,是個浮點數,所以按浮點數計算,計算機保留的是小數點後6位。先計算1.0/3為0.333333後又剩以3就為0.999999
祝你愉快!
33樓:匿名使用者
因為先運算1.0/3,結果為0.333333(浮點數精度預設為6位),0.333333*3結果為0.999999咯
c語言中表示式1.0/3*3的值是
34樓:風彩榮由畫
不對原因:因為1和2都是int型別,計算後的結果也返回int型別,因此結果為0
而1.0/2.0中,1.0和2.0都是浮點型別的,這樣,運算結果也為浮點型別的,因此結果為0.5。
如果你將1/2修改為1.0/2的話,因為1.0為浮點型別,運算時,2將轉化為浮點型別計算,最終結果也是浮點型別,因此結果為:0.5和1.0/2.0的結果相同
1.0/3*3 在c語言中其值是多少
35樓:匿名使用者
結果是 1.0
這裡的運算全部按照浮點來進行的,等價於1.0/3.0*3.0
36樓:
不可能是1 輸出是什麼格式 %d 為0 %f為 1
37樓:匿名使用者
%d為0 %f、%lf和%g為1
c語言中,32等於多少,c語言中,32等於多少?
是求餘除運算子,求餘除的兩個運算元都必須為整數資料。3 2餘1 再 加一個負號為 1 c語言中1 2等於多少 1 2 1.意思就是1整除2後餘數是多少。打個比方1個蘋果,但是你每次只能拿2個,1 2,你拿了0次2個蘋果,還剩1個蘋果。類似3 2 1,3個蘋果中你能拿走1次2個蘋果,還剩一個蘋果。1 ...
int 2 5f 4 7f 2 4等於多少?C語言中
int 2.5f 4.7f 是7 7 2 1 1 4 0 結果為0 c語言中2.5 7 3 int 2.5 4.7 2 4是如何算出等於2.5的 2.5 4.7 7.2 int 7.2 7 7 3 1 3 7 21 int 7.2 7 21 2 1 1 4 0 2.5 0 2.5 2.5 1 6 2...
c語言中37是多少,C語言中37是多少?
在 c 語言中,為模運算子,即 取餘數。3 7 3 再例如 19 7 2.5 即 19除以 7 的商為 2,餘數為 5 你可以上機編寫程式進行驗證。表示取餘,3 7 4,因為餘數必須是非負數的 所以 3應寫成 7 4,即 3 7 1 4,商是 1,餘數是4。不好意思 上面這是在數學裡的定義,在c語言...