紫铭SAT、TOEFL教师博客群
留学考试领先论坛
首页 搜索 用户列表 FAQ 注册 登录  
紫铭SAT、TOEFL教师博客群 » 论坛组 » 学习答疑专区 » AP网络课程答疑区 » 计算机科学原版教材P40页问题
  计算机科学原版教材P40页问题
帖子发起人: Shawn Wu   发起时间: 2008-02-23 10:45 上午   回复数: 2
« 上一主题 下一主题 »
楼主
  2008-02-23, 10:45 上午
Shawn Wu 离线,最后访问时间: 2008-5-17 10:12:10 Shawn Wu

发帖数前10位

士兵
等级: 士兵
注册: 2008年1月26日
积分: 22
精华: 0
发贴: 20
计算机科学原版教材P40页问题
 
计算机科学原版教材P40页,第10题~

英文的答案看不懂,这道题怎么做?
IP 地址: 已登录   来自: 已登录    返回顶部
第 2 楼
  2008-02-25, 01:38 下午
yanchunyu01 离线,最后访问时间: 2008-6-22 11:11:42 yanchunyu01

发帖数前10位

士兵
等级: 士兵
注册: 2007年9月14日
积分: 12
精华: 0
发贴: 12
Re: 计算机科学原版教材P40页问题
 
这道题是问代码执行完以后x的值,对于循环来说,代吗执行完之后也就是当不再循环的时候,换句话说,就是循环条件不满足的时候(本题中为i<15不再满足)的时候

代码执行完之后i<15不再成立,也就是说i>=15。

所以这道题目考察的就是,何时i的值会大于等于15,而当i的值大于等于15时,x的值为多少?


在这个循环中,有两个地方可以改变i的值:
第一是for循环中i+=5,也就是每次循环后i值加5
第二个地方是if(!b)语句下的i+=5,也就是说,每当!b为true(即b为false)时i值加5

对于第一次循环:
循环前
i=0,
x=10
y=3

符合循环条件,执行循环语句
x=x+y=10+3=13
x%y=13%3=1,所以b为假,!b为真,所以继续执行if下的语句
y++
i+=5
所以此时
y=4
i=0+5=5
此时第一次循环执行完毕,i值根据for循环中的迭代条件,执行i+=5
i=10

第二次循环:
循环前
x=13
y=4
i=10

符合循环条件执行循环
x=x+y=13+4=17
x%y=1,同样执行if语句下的代码
y=4+1=5
i=10+5=15
循环执行完之后,i值根据for循环中的迭代条件,执行i+=5
i=15+5=20

此时i>15,不在满足循环条件,程序终止(或者说执行完毕)
此时
x=17
y=5
i=20

所以答案为c

IP 地址: 已登录   来自: 已登录    返回顶部
第 3 楼
  2008-02-26, 11:13 上午
Shawn Wu 离线,最后访问时间: 2008-5-17 10:12:10 Shawn Wu

发帖数前10位

士兵
等级: 士兵
注册: 2008年1月26日
积分: 22
精华: 0
发贴: 20
Re: 计算机科学原版教材P40页问题
 
懂了,谢谢
IP 地址: 已登录   来自: 已登录    返回顶部
 第 1 页 总共 1 页 [共有 3 条记录]
紫铭SAT、TOEFL教师博客群 » 论坛组 » 学习答疑专区 » AP网络课程答疑区 » 计算机科学原版教材P40页问题

[新浪官方] - [DotNet紫铭网] - [杭州都市秀网] - [秦皇岛都市秀网]

(C)Copyright 2004-2006, 紫铭SAT、TOEFL教师博客群 All Rights Reserved.
论坛版本: 2.3.2999
意见反馈 | 关于我们

Powered by Community Server :: Forums