老师 这题我不太理解

老师 这题我不太理解

//img1.sycdn.imooc.com//climg/5f8eae35293d5e8f05001000.jpg

老师我是这样理解的,不知道哪里错了

首先 a是 59分 根据条件应该直接能进入 第一if语句啊 && 或<=70 再根据循环得出结果不应该是3颗星吗?

 第二b如果是90 符合>80 第三个else if 语句吗?

 得出结果是四颗星(初始条件为1 定义循环的条件为小于等于5,i++===i+1,先递增再返回原值那不就是3吗,再根据原初始值得出i=1 那不就是4(4颗星吗))

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕然然 2021-12-06 16:38:03

同学你好,理解的有点问题:

首先,第一个if判断条件为:大于等于60分且小于等于70分,即在60-70分范围内;

第二个if判断条件为:大于70分且小于等于80分,即在71-80分范围内;

第三个if判断条件为:大于80分且小于等于100分,即在81-100分范围内。

所以,如果为59分的话,那么这几个if条件都不满足,则会执行else中的语句,输出“Oh,你弱爆了”。

如果为90分的话,则满足第三个if条件,执行第三个if语句中的代码,即输出5颗星。

这里关于i++,同学理解错了,当i++或++i 单独使用时,就是i本身递增1,没有先递增再返回原值等这些情况。

只有当在表达式中使用时(例如 a=i++,b=++i),此时才会区分到底是先使用还是先递增的情况。

关于输出5颗星的过程如下:

当i=1时,i<=5,满足循环条件,执行循环体语句,输出第一颗星。

当i=2时,i<=5,满足循环条件,执行循环体语句,输出第二颗星。

当i=3时,i<=5,满足循环条件,执行循环体语句,输出第三颗星。

当i=4时,i<=5,满足循环条件,执行循环体语句,输出第四颗星。

当i=5时,i<=5,满足循环条件,执行循环体语句,输出第五颗星。

当i=6时,不满足i<=5循环条件,不再执行循环体语句,循环结束。

祝学习愉快!

  • 提问者 豆包侠 #1

    可老师 我记得 &&或这个的意思不是 只要满足前后两个条件中的一个就可以生效吗 

    2021-12-06 16:39:46
  • 好帮手慕然然 回复 提问者 豆包侠 #2

    同学你好,&&是且运算符,所有条件都要满足才行。同学说的应该是||或运算符,这个才是满足一个即可。

    2021-12-06 16:43:27
  • 提问者 豆包侠 回复 好帮手慕然然 #3

    记混了 不好意思 那如果是||或 运算符这里 我原来错误的理解思路应该就没错吧 

    2021-12-06 16:51:39
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师