| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1283 人关注过本帖
标题:Question:无限循环
只看楼主 加入收藏
dorisbaobao
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2011-12-13
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:5 
Question:无限循环
有一道题目:
以下各循环语句中,不是无限循环的是:
A)for(i=-10;i>=-10<10;i++) s+=i;
B)for(i=0; ; i++); if (i>10)break;
C)for(i=0,j=10;i<j,i-j;i++,j--);
D)for(i=1;i=10;i++)s+=i;

我选的是D。因为D不构成循环;B因为for语句后有分号,所以无限循环;

请问大家。。Q1。C选项中间的那个表达式应该是 判断语句,判断完i<j后,后面的i-j是什么作用?
Q2:A选项中间的表达式 是不是写错了?有这种表达式吗?
搜索更多相关主题的帖子: 1010 
2011-12-13 16:36
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:0 
回复 楼主 dorisbaobao
我选C

总有那身价贱的人给作业贴回复完整的代码
2011-12-13 17:01
waterstar
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:5
帖 子:984
专家分:2810
注 册:2010-2-12
收藏
得分:8 
A)i >= -10 < 10相当于(i >= -10) < 10先判断i是否大于-10,再用其判断结果 和10进行比较,显然无论i是否大于-10,其结果必然小于10,所以此选项是无限循环

C)逗号运算符的运算结果是后面一个表达式,所以起决定作用的是i-j这个表达式的判断,判断其是否等于0。显然,i++ 和 j--这两句执行到某个阶段必然由i=j的情况出现,所以i-j就等于0,不满足条件,所以此选项不是无限循环

D)i=10是一个赋值语句,必然成立,所以肯定无限循环

冰冻三尺,非一日之寒;士别三日,不足刮目相看!
2011-12-13 17:36
luchar
Rank: 9Rank: 9Rank: 9
来 自:南京
等 级:蜘蛛侠
帖 子:279
专家分:1263
注 册:2011-11-3
收藏
得分:2 
B)for(i=0; ; i++); if (i>10)break;这个for循环是执行了一个空语句,而for循环没有结束条件,所以必然无限循环
2011-12-13 19:20
MINILSS
Rank: 2
等 级:论坛游民
帖 子:4
专家分:10
注 册:2011-12-12
收藏
得分:10 
A)for(i=-10;i>=-10<10;i++) s+=i;
for()循环有三个表达式:即初始化;判断;更新
  第二个表达式  i>=-10<10    使用的运算符为关系运算符 为同一个优先级且结合方向为自左自右(而且我们知道关系表达式的值不为 “0” 即为 “1”)其均小于10 故易知其为无限循环
B)for(i=0; ; i++); if (i>10)break;
    这个就显而易见了
C)for(i=0,j=10;i<j,i-j;i++,j--);
   在 while( expression )中只要判断表达式的值非零就重覆执行循环体(包含 正数 1、2、3 和 负数 -1、-111、-3),否则退出,这里for()循环的第二个表达式和while()中的表达式功能相同,都是执行判断。第二个表达式为逗号表达式(逗号表达式的值为最右边那一个表达式的值),易知通过5次循环后 i-j 等于零
D)for(i=1;i=10;i++)s+=i;
   判断表达式为一个赋值表达式(赋值表达式的值为左边变量的值),故此处返回10 为非零,当下一次循环时仍只是赋值(以后的每次都是将10赋给变量 i 那有不成立的道理),那有不无限循环的道理
2011-12-15 18:26
jj19971130
Rank: 2
等 级:论坛游民
帖 子:35
专家分:69
注 册:2011-11-30
收藏
得分:0 
三楼正解
2011-12-15 18:46
快速回复:Question:无限循环
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019343 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved