乙個非常奇怪的 C 計算問題

發布 教育 2024-06-19
23個回答
  1. 匿名使用者2024-01-29

    你的第乙個公式是由錯誤定義的,你只能定義 x 而不能定義 b,你這樣定義它,它等價於定義 x,把它賦值給 (,b),這是乙個逗號表示式,他的值是 b,因為沒有賦值 b,也沒有定義 b,有些編譯器會預設 b 為 0, 有的會報錯,你用的編譯器應該定義為0,也就是x 0,所以你的表示式就等價於b=0+0,當然是0,如果你定義為浮點數b,x=;這很好,但是你的輸出是 d,輸出是 2,你需要使用 %f 輸出為 。

    第二個等式定義了 b,但是你的輸出需要 d,這需要 int 輸出,當然輸出是 2,小數點是四捨五入的,如果你使用後乙個公式,請使用 printf("%f"b)應該能夠輸出。

  2. 匿名使用者2024-01-28

    首先,第二個程式的結果很容易理解:

    #include""

    main()

    結果是 2 解釋:當實數資料賦給整數變數時,實數的小數部分四捨五入。 但請注意,這是賦值操作的規則。

    至於第一道工序的結果呢?

    從機上驗證來看,結果確實是0

    #include""

    main()

    有兩種方案:

    1)從執行結果分析:

    結果確實是 0,但不是賦值操作的結果,而是因為在 C 中,float 占用 4 個位元組,即 32 位,而 int 只占用 2 個位元組,即 16 位。

    在 printf("%d"b),結果將只留下 32 作為浮點值的下 16 位,而上面的 16 位將被丟棄。

    2)如果這兩個問題放在一起,它們應該是錯誤的,應該將它們更改為printf("%f",b);當然,輸出是。

  3. 匿名使用者2024-01-27

    d 只能輸出 int 型別,你用 float 資料輸出,當然是錯的。

  4. 匿名使用者2024-01-26

    b 是單精度的,無法以十進位系統顯示它。

  5. 匿名使用者2024-01-25

    將 print 語句的“%d”更改為“%f”,大功告成!

  6. 匿名使用者2024-01-24

    程式的輸出和說明如下(見圖)。

  7. 匿名使用者2024-01-23

    這個程式有乙個問題,fib 作為遞迴,而不是收斂。

    fib(n+1) 應該是錯的,fib(n-1) 幾乎是一樣的。

  8. 匿名使用者2024-01-22

    答案是22。

    t=(+i)+(i)+(i)=6+8+8=22。。

    為什麼。 這是v

    C++ 編譯器。

    特性。 也就是說,最後兩個數字的優先順序是相同的。 這麼說有點抽象。 讓我們自己弄清楚幾個例子。

    這是因為 31 = 6 + 7 + 9 + 9。

    這是因為 41 = 6 + 7 + 8 + 10 + 10

    這是因為 52 = 6 + 7 + 8 + 9 + 11 + 11。

    這就是我能解釋的。 如果你不明白什麼,再問我一次。 嘿。

  9. 匿名使用者2024-01-21

    在 C 語言中,以 0 開頭的數字是八進位數,因此將八進位轉換為二進位的方法是乙個八進位位佔 3 個二進位位。

    如果它以二進位表示,那麼。

    x=001011

    y=010101

    z=000001

    z=111110

    的優先順序高於 ,,其優先順序高於 |

    y&z=000001,.x|y&z=001011,即十進位為 11,因此 %d 的第乙個輸出是 11

    y&~z=010100,.x|y&z=011111,十進位 31y&z=010111,x y&z=011111,十進位 31

  10. 匿名使用者2024-01-20

    首先,x、y、z都是八進位數,其中的運算都是二進位的,所以二進位是x=00001011,y=0010101,z

    00000001(用八位數字表示,小於八位數字用0組成)(1)先進行操作,然後進行操作或操作為(x|(y&z))11(十進位)。

    2)先進行否定,再進行and運算,最後運算為(x|(y&(z))31(十進位)。

    3)先進行否定,然後進行AND運算,最後進行異或運算(x(y&(z))。

    00001011 (00010101&( 00000001))=00011111=31(十進位)。

  11. 匿名使用者2024-01-19

    反轉操作。 否定運算元是具有右繫結的單眼運算元。

    它的功能是按位否定操作中涉及的數字的二進位數字。 例如,9 的算術為:

    0000000000001001) 結果是:1111111111110110

    按位或算術。

    按位或運算子 “|“是雙目操作員。 它的功能是二進位相位或對應於操作中涉及的兩個數字中的每乙個。 只要對應的兩個二進位數字之一為 1,則生成的數字為 1。 操作中涉及的兩個數字都顯示為補語。

    例如:9|5. 可寫方程如下:

    13 in decimal) 顯示 9|5=13

    按位與算術。

    按位和運算子"&"“是雙目操作員。 它的功能是對應於操作中涉及的兩個數字中的每乙個的二進位相位和。 僅當兩個對應的二進位數字均為 1 時,結果位為 1,否則為 0。 操作中涉及的數字顯示為補充。

    例如,9&5 可以按如下方式寫入:

    9 補碼二進位) &00000101

    5) 00000001

    1) 顯示 9&5=1。

  12. 匿名使用者2024-01-18

    因為 sum=a+b; a 和 b 均未分配初始值。 它應該首先對

    0、b0,然後參與操作。

  13. 匿名使用者2024-01-17

    開始定義變數後,沒有賦值操作,直接進行操作。

    所以這種情況發生了,這是正確的。

    voidmain()

  14. 匿名使用者2024-01-16

    序列問題。 編譯器按順序執行語句。

    在程式中,首先定義 a 和 b

    並且未初始化。 編譯器分配儲存空間,但內容不確定。

    因此,當執行 sum=a+b 時,取 a,b 的隨機值。

    然後定義 a 和 b 的值,這些值不影響總和。 所以它可以像這樣改變。

    voidmain()

  15. 匿名使用者2024-01-15

    選擇 B* (P+8)。

    過程如下:*p=a; 一開始,陣列 a 的第乙個元素的位址被分配給指標變數 pNote:在 C 中,陣列的名稱代表陣列的第乙個元素,你必須記住。

    推論:*(p+8)。

    括號的優先順序高於 * 符號,因此請先這樣做。

    p+8(p+8 相當於 a[8]) p+8 是位址。

    從上面可以看出:*(p+8)其中”。

    表示“指向”,*p+8) 表示“指標變數 p 指向的變數”,即 a[8] 元素的值 9

  16. 匿名使用者2024-01-14

    a=1,b=0,c=3

    讓我們從運算子的級別開始: () 關係運算子 賦值運算子是乙個整體的關係表示式

    從左到右:ik 為 false,值為 0,分配給 b,所以 b=0

    因為是放大器運算,如果乙個是假的,整個是假的,然後就不做了,所以c=3

  17. 匿名使用者2024-01-13

    ik 為 false,所以 j>k=0; 所以 b=0,ijk 兩者兼而有之! =0,所以c=1;

  18. 匿名使用者2024-01-12

    概率密度的含義是x取某個值的概率是多少,所以概率密度到x的積分是所有x值的概率之和,所以有1的積分然後剩下的就是計算了。

    CX = 1 3CX + A 常數。 (積分等價於求導數的逆過程,取 1 3cx + 乙個常數導數是 cx)。

    如果有積分上限和積分下限,則 (0,1)cx = (1 3c*1 + a 常數) -1 3c*0 + a 常數) = 1 3c = 1。∴c=3。第乙個括號中的 0 和 1 表示點的上限和下限,如果有,則替換上限的值,然後從下限值中減去差值。

  19. 匿名使用者2024-01-11

    6 * 103 4 四捨五入。

    133 % 4 剩餘。

    然後減去 153

  20. 匿名使用者2024-01-10

    54%10/2+ =

    原因:先看上一部分,54 10 4 4 2 2 這是上一部分的結果:2

    我們再看下一部分:先計算括號內的8 5 由於是整數,8 5,然後計算乘法最後兩部分加到2+,加上int和float,從總數轉換為float。

    同理: 原因: 5 2 5 3 2 所以:

  21. 匿名使用者2024-01-09

    第乙個問題的答案是肯定的,首先計算 54% 10=4,然後計算 4 2=2; (8 5) = 1,; 最後兩個是想家的。

    問題 2:5 2=2,5%3=2(取餘數),結果是。

  22. 匿名使用者2024-01-08

    unsigned char buf[6];運算子優先順序問題 int x,y,z;

    x=buf[0] <8 | buf[1];首先,將 buf[0] 向左移動 8 位,然後將得到的結果與 buf[1] 進行比較或計算,最終結果分配給 x;

    z=buf[2] <8 | buf[3];類似 y=buf[4] <8 | buf[5];類似於 angle= atan2((double)y,(double)x) *180 + 180; 將 Y 和 x 強轉換為雙精度型別,然後將 y 除以 x 得出反正切預算,結果是乙個弧值,然後乘以 (180 轉換為角度值,最後加上 180 度並給出角度。

  23. 匿名使用者2024-01-07

    答案一定不一樣,不注意運算子的優先順序,檢查你的語法。

相關回答
36個回答2024-06-19

我想你說的有些道理,良好的生活習慣,良好的睡姿,好的被褥可以提高我們的睡眠質量,醒來後我們仍能記住的夢不會或更少。 我建議你多注意休息,長期睡眠質量差的人最容易出現這種情況。 >>>More

38個回答2024-06-19

人的行為要跟著心走,愛他就要選擇他 但久了,感情褪色了 你會發現,你要面對更多的現實和責任 到時候,柴火、大公尺、油鹽就會成為你人生的主題,你要為生活奔波, 而這個時候,不會因為他選擇了自己而感激你的人,會讓你感到痛苦和後悔,而不是一開始就後悔 >>>More

11個回答2024-06-19

定義變數時,給變數賦值就是給變數賦值,c=0 在語句中的含義是 c 在定義開頭等於 0。 >>>More

12個回答2024-06-19

股票價格是買賣的商品,比如一公升汽油,市場供給小於需求,一塊就是買賣協議,你買不來。 要拉漲,就要買大量的**,要想漲,還會多,而且這大量的要佔流通的一定份額,要看**票數的情況。

10個回答2024-06-19

我也是來自北京的女人。 我沒有男朋友了。 我也覺得我太大膽了。 男人不喜歡那樣的我。