c语言中 k=(i=j<=5+i>=3<=5)是什么意思
展开全部
语句要模拟什么数学问题或工程问题或其他实用问题,无从知晓。只能考虑语法是否正确。
这是赋值语句。把 表达式
(i=j<=5+i>=3<=5) 的值 赋给 k。
这个表达式里有逻辑运算符 <= 和 >= , 所以是逻辑表达式,运算结果应当得 真 或 假,那么 k 若得 真 则 等于 1, 若得假 则等于 0。
表达式 里的运算 要根据 运算符优先级,作先后运算,我添上括号,表明运算次序:
(i= ( ( (j<= (5+i) ) >= 3) <=5) )
其中 ( ( (j<= (5+i) ) >= 3) <=5) 是逻辑表达式
(i = (逻辑表达式) ) 是 赋值表达式
k= (赋值表达式 ) 是 赋值语句。
若已知 i,j 时,则 可算得 k.
---
从概率来说,k 得 1 的可能性极大。看:
( ( j<= (5+i) ) >= 3) 无论 i,j 等于几 , j<= (5+i) 必然小于 3,
所以这部分计算结果 是 0。
下一步 ( 0 <=5) 必然是 真,即 1。
i=1 是 赋值表达式,i 得 1, 表达式 的 值等于 1, k 得 1。
语法分析结论:
无论此前 i,j,k 等于 几。通过 这个语句 k=(i=j<=5+i>=3<=5) 后,i 等于 1,k 等于 1。
计算目的不清楚,也许是老师考考你运算符优先级知识掌握多少。
这是赋值语句。把 表达式
(i=j<=5+i>=3<=5) 的值 赋给 k。
这个表达式里有逻辑运算符 <= 和 >= , 所以是逻辑表达式,运算结果应当得 真 或 假,那么 k 若得 真 则 等于 1, 若得假 则等于 0。
表达式 里的运算 要根据 运算符优先级,作先后运算,我添上括号,表明运算次序:
(i= ( ( (j<= (5+i) ) >= 3) <=5) )
其中 ( ( (j<= (5+i) ) >= 3) <=5) 是逻辑表达式
(i = (逻辑表达式) ) 是 赋值表达式
k= (赋值表达式 ) 是 赋值语句。
若已知 i,j 时,则 可算得 k.
---
从概率来说,k 得 1 的可能性极大。看:
( ( j<= (5+i) ) >= 3) 无论 i,j 等于几 , j<= (5+i) 必然小于 3,
所以这部分计算结果 是 0。
下一步 ( 0 <=5) 必然是 真,即 1。
i=1 是 赋值表达式,i 得 1, 表达式 的 值等于 1, k 得 1。
语法分析结论:
无论此前 i,j,k 等于 几。通过 这个语句 k=(i=j<=5+i>=3<=5) 后,i 等于 1,k 等于 1。
计算目的不清楚,也许是老师考考你运算符优先级知识掌握多少。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询