一个非常奇怪的 C 计算问题

发布于 教育 2024-06-20
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-20

我想你说的有些道理,良好的生活习惯,良好的睡姿,好的被褥可以提高我们的睡眠质量,醒来后我们仍能记住的梦不会或更少。 我建议你多注意休息,长期睡眠质量差的人最容易出现这种情况。 >>>More

38个回答2024-06-20

人的行为要跟着心走,爱他就要选择他 但久了,感情褪色了 你会发现,你要面对更多的现实和责任 到时候,柴火、大米、油盐就会成为你人生的主题,你要为生活奔波, 而这个时候,不会因为他选择了自己而感激你的人,会让你感到痛苦和后悔,而不是一开始就后悔 >>>More

11个回答2024-06-20

定义变量时,给变量赋值就是给变量赋值,c=0 在语句中的含义是 c 在定义开头等于 0。 >>>More

12个回答2024-06-20

股票价格是买卖的商品,比如一升汽油,市场供给小于需求,一块就是买卖协议,你买不来。 要拉涨,就要买大量的**,要想涨,还会多,而且这大量的要占流通的一定份额,要看**票数的情况。

10个回答2024-06-20

我也是来自北京的女人。 我没有男朋友了。 我也觉得我太大胆了。 男人不喜欢那样的我。