c语言题目 求解 很基础的

第四题的ac和第五题的bd感觉很矛盾28题为什么不选第四个9题没有我想选的答案... 第四题的a c和第五题的b d感觉很矛盾
28题为什么不选第四个
9题没有我想选的答案
展开
 我来答
White_MouseYBZ
2019-06-26 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6443万
展开全部
4. C正确,它是逗号表达式,x=y+z+5把y+z+5的值赋给x,然后y增1赋给y。A选项中=是右结合的,先算y*5=x+z,这试图把x+z的值赋给y*5这个非左值表达式,是非法的。所以A、C并不矛盾。
5. B正确,参照4题的A,这里b是变量而非表达式(4题A中是y*5),所以正确。D选项中a+7是表达式不能接收数据,错误。所以也没有矛盾。
28. C正确——因为b初值是10,>=8成立,所以break;跳出了循环体,由于{}把第一个if和第二个if语句括起来了,所以两个if语句都是for的“体”,break;后跳出“体”,其后的语句都不执行了。

9. D正确——i++==1成立,由于是&&,所以还得计算&&右边的表达式,其中++j==3成立,后面是||,有一边成立即可确定为“真”了,所以||右侧不再计算了;但i++是后++,还要在整个表达式计算无成再计算,所以结果是i变成了2,j在++j时已变成了3,k没有计算还是3。
更多追问追答
追问
第四题的a和第五题的d错误的原因是一样的嘛
追答
是,是一样的……
听不清啊
高粉答主

2019-06-26 · 说的都是干货,快来关注
知道顶级答主
回答量:7.8万
采纳率:89%
帮助的人:1.9亿
展开全部
4)
y*5不可以出现在赋值号的左边,所以A是错的。
C是一个正确的逗号表达式,其值为++y的值。
28)
进入循环后第一次判断就满足条件,退出循环了(不再执行b--),所以是输出1,10
9)
因为i++是后自增,所以i++==1是满足的。
再看++j是前自增,所以++j==3也满足,后面的||k++==3就不判断了,直接输出。
输出值为:
2 3 3
选择答案D。
A错在y*5=x+z,y*5不可以出现在赋值表达式的左边。
C是一个正确的逗号表达式,值为++y的值
5)
若c的值为3,则a=b=c+2;执行后,a与b的值都是5
更多追问追答
追问

第五题的c和这个有什么区别
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式