有些c语言学习中的问题

img

img

img

img


C语言初学者 在做题时有四道C语言有关的题目 做练习的时候有些问题

8、C、1、14

你可以把每到题复制出来

第一题:8
计算 (y + z) 的结果并将其赋值给 x。
将上一步中得到的 x 的值再次赋值给 x。
第二题:C
x = 2 * 5:将 2 乘以 5 的结果(10)赋给变量 x。
x * 5:将 x(现在的值为 10)乘以 5,得到最终的结果(50)。
因为没有赋值给变量x,所以x还是等于10,再加10就等于20
第三题:1
表达式 :a>b?9:1 是一个条件表达式,表示如果变量 a 大于变量 b,则结果为 9,否则结果为 1。根据给定的变量值 int a=3int b=4,由于 a 不大于 b,所以表达式的结果为 1。
第四题:14
计算右侧表达式 3+4 的结果,得到 7。
将变量 a 的值(即 2)与右侧结果相乘,得到 14。
将最终结果 14 赋给变量 a。

不要迷信书、考题、老师、回帖;
要迷信CPU、编译器、调试器、运行结果。
并请结合“盲人摸太阳”和“驾船出海时一定只带一个指南针。”加以理解。
任何理论、权威、传说、真理、标准、解释、想象、知识……都比不上摆在眼前的事实!

第一题
x = x = (y+z) = 3 + 5 = 8


第二题
逗号表达式,从左向右计算,最终结果为最右边的值
(x = 2*5, x*5) , x + 10
-> x = 10,所以 最终结果最右边的值为 10 + 10 = 20


第三题
a > b ? 9 : 1 三元表达式,条件 (a>b) 满足取第一个值 (此处为9) ,不满足取第二个值 (此处为1)
3 > 4 不满足 所以 为 第二个值 1


第四题
优先级问题
a *= 3+4 ,先计算 3+4 = 7 也就是 a *= 7,也就是 a = a*7 = 2 * 7 = 14