| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 869 人关注过本帖
标题:这道题不太懂,看到的高手帮我解释下 !谢谢
只看楼主 加入收藏
自强
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:132
专家分:130
注 册:2011-10-3
结帖率:96.77%
收藏
已结贴  问题点数:20 回复次数:10 
这道题不太懂,看到的高手帮我解释下 !谢谢
#include <stdio.h>
void main()
{
  int i,n=0;
  for(i=2;i<5;i++)
  {
      do
      {
          if(i%3)//?
          continue;
          n++;
      }
      while(!i);//"!i"什么意思这里;
      
          n++;
      
  }
  printf("n=%d\n",n);
}

[ 本帖最后由 自强 于 2011-10-24 22:50 编辑 ]
搜索更多相关主题的帖子: include 
2011-10-24 20:48
忆泪
Rank: 2
等 级:论坛游民
帖 子:42
专家分:49
注 册:2011-10-22
收藏
得分:3 
程序代码:
#include <stdio.h>
void main()
{
  int i,n=0;
  for(i=2;i<5;i++)
  {
      do
      {
          if(i%3)//表示只要i不能被3整除,就执行下面continue语句,然后跳出本次循环;
          continue;
          n++;
      }
      while(!i);//应该是为了终止do...while()语句吧;
     
          n++;
     
  }
  printf("n=%d\n",n);
}
我这也是自己的推断,还希望其他告人,告知正确与否,,及正确答案,交流而已(1楼,while语句后少一个分号)。
2011-10-24 21:07
zero0915
Rank: 2
等 级:论坛游民
帖 子:20
专家分:47
注 册:2011-10-23
收藏
得分:3 
看不懂。。
2011-10-24 21:08
yeh2008
Rank: 2
等 级:论坛游民
帖 子:52
专家分:68
注 册:2011-10-11
收藏
得分:3 
判断i%3是否为真,从而判断是否执行if 语句。
判断语句是可以用真假(0或者非0)来判断是否执行的。
2011-10-24 21:26
吴军旗
Rank: 5Rank: 5
等 级:职业侠客
帖 子:286
专家分:308
注 册:2011-9-14
收藏
得分:3 
回复 楼主 自强
程序代码:
#include <stdio.h>
#include < stdlib.h >
void main()
{                                
  int i,n=0;
  for(i=2;i<5;i++)
  {
      do
      {
          if(i%3)//
          continue;//while 循环中,continue中,执行完后,重新测试表达式的值,再判断是否再执行循环。
          n++;
      }
      while(!i);//"!i"什么意思这里;
     
          n++;
     
  }
  printf("n=%d\n",n);
  system ( "pause" );
} 
首先i =2,i%3 = 3,if(1),执行countinue,跳出循环,while(!i),永远都真,然后执行n++,n=1。再执行for循环,i++,i=3,  i%3=0;不执行countinue,执行n++,n=2,再执行下一个n++,n=3,  再执行for, i++,i=4,if满足,执行countinue,即跳出循环,执行n++, n=4,再执行for,i++,i=5,不满足,跳出循环,执行printf,所以
n  = 4



你没有理解do  while  while后面要加分号。。。。

祝你成功。。

最惨的不是忘不了悲伤的回忆,而是那些悲伤的回忆却开始记不清。。。
2011-10-24 21:26
silymer
Rank: 1
等 级:新手上路
帖 子:1
专家分:3
注 册:2011-8-27
收藏
得分:3 
以下是引用自强在2011-10-24 20:48:35的发言:

#include  
void main()
{  
  int i,n=0;
  for(i=2;i<5;i++)
  {
      do
      {
          if(i%3)//?
          continue;
          n++;
      }
      while(!i)//"!i"什么意思这里;
      
          n++;
      
  }
  printf("n=%d\n",n);
}
if或者while 中,单纯的一个表达式,或者是它的非,表示这个表达式是否为真值。在C中规定,只要非零值都为真,只有零才为假
2011-10-24 21:52
自强
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:132
专家分:130
注 册:2011-10-3
收藏
得分:0 
回复 2楼 忆泪
嗯 呵呵 好

成为一名真正合格的程序设计人员,是我的梦想……我希望我的梦一直保持下去,直到我从这个世界消失……
2011-10-24 22:29
自强
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:132
专家分:130
注 册:2011-10-3
收藏
得分:0 
回复 5楼 吴军旗
呵呵 谢谢你

成为一名真正合格的程序设计人员,是我的梦想……我希望我的梦一直保持下去,直到我从这个世界消失……
2011-10-24 22:33
kingtal
Rank: 2
等 级:论坛游民
帖 子:8
专家分:10
注 册:2011-10-3
收藏
得分:3 
在循环,或者判断语句中,通过计算小括号里面的值的结果来判断这个语句是否执行,如果结果大于或者等于1,逻辑判断为真,那么执行这个语句,否则其他所有值都为假,语句不执行,也就是说while(1)和while(2)里面的结果的逻辑判断都为真,所以执行,你的那个n是用来统计次数的,至于什么次数你自己分析就可以得到了,很简单,希望对你有帮助。
2011-10-24 22:34
自强
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:132
专家分:130
注 册:2011-10-3
收藏
得分:0 
回复 3楼 zero0915
呵呵 没关系 多多看书多多上机多泡论坛

成为一名真正合格的程序设计人员,是我的梦想……我希望我的梦一直保持下去,直到我从这个世界消失……
2011-10-24 22:42
快速回复:这道题不太懂,看到的高手帮我解释下 !谢谢
数据加载中...
 
   



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

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