| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
学习型 ASP/PHP/ASP.NET 主机 35元/年全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付
赛孚耐:软件保护加密专家身份认证令牌USB KEY  
共有 404 人关注过本帖
标题:[讨论]循环语句 师兄姐师弟妹都来讨论下```
收藏  订阅  推荐  打印 
孤魂居士
Rank: 4
来自:老A(中国地大)
等级:高级会员
威望:2
帖子:869
积分:8840
注册:2007-5-21
[讨论]循环语句 师兄姐师弟妹都来讨论下```

今天上C++课,老师点人上去做题目 有个女生把题目是做出来了 而且是对 的 但是还是受到了老师的批评
你们肯定很疑惑```做对了还批评?
是这样的:
我们老师很反感别人循环语句用while循环 他非常喜欢for
他说for简洁易懂,语句清晰 他还严格要求我们"要有良好的编程风格,用循环时候必须用for不许我们用while"
卷子和作业必须得这样做 我不知道这种逼迫学生学习固定的语法,以后对自己有没有害处?
是不是while的功能for完全可以体现出来? 以后用循环是不是可以淘汰while???
那while和for究竟有什么各自的特点优点?什么场合下用就完全没有区分吗?
师兄师弟 都发表下意见吧``
``````
`````
我while循环 现在越来越陌生了 其实我也慢排斥它的 我循环基本上没有用过while


搜索更多相关主题的帖子: 师弟妹  语句  师兄  老师  
2007-6-1 16:11
aipb2007
Rank: 12Rank: 12Rank: 12
来自:CQU
等级:贵宾
威望:40
帖子:2881
积分:29414
注册:2007-3-18

多数程序员偏爱for,这是事实。
但是whlie也有它的好处啊,有些地方用起来可以使代码简洁些
比如你要以流的合法性作为条件循环,比如
while(cin >> ch)
这样好还是
for(;cin >> ch ;)这样好是显而易见的吧!

我的理解是,在循环中需要对一个索引值自增,自减,或者按序改变时用for.

Fight  to win  or  die...
2007-6-1 17:15
yushui
Rank: 6Rank: 6
等级:金牌会员
威望:7
帖子:1325
积分:13344
注册:2006-7-19

for有时候感觉是要好用点 像嵌套 一般都是用for 不过while也挺好的 就像楼上说的 还有 就是有些用do while的结构会比用fo的更简洁 方便


fighting!from now on!
2007-6-1 18:28
foreverlh
Rank: 1
等级:新手上路
帖子:14
积分:242
注册:2007-4-29

我们老师也是这么说的,不过没你老师那么死板哎..
当循环次数未知时候用while语句更清晰明了.
这个看需求啦,反正我for循环想不出来的时候就会考虑while算法.
而且有些问题,用while比较好,例如
要求你在键盘上持续给一维数组送数,int a[100]
一般情况下肯定用不到100啦,这里100就是个上限,初级数据结构课经常有的.
int a[100],i,j=0;
cout<<"请输入数据,输入-1时结束"<<endl;
cin>>i;
while(i!=-1)
{
a[j]=i;
j++;
cin>>i;
}


用for循环是不是这样写?
int a[100],i,j;
cout<<"请输入数据,输入-1时结束"<<endl;
cin>>i;
for(j=0;i!=-1;j++)
{
a[j]=i;
cin>>i;
}

个人感觉初学的时候while比较好理解一些的说

2007-6-1 20:29
weishj
Rank: 2
等级:注册会员
威望:2
帖子:141
积分:1562
注册:2007-4-22

其实我感觉有些时候用while是相当爽的,比如:
要让程序运行暂时停顿,直到用户按键为止.
用while(!_kbhit());
很方便完成任务,但用for似乎不是很爽.
不过在涉及循环控制变量改变的情况下好象for方便些,
如for(int i=0;i<n;i++) a[i]=i;
若用while得写成int i=0;while(i<n) a[i]=i++;不过整体差别感觉还是不大,还是看自己爱好吧

[此贴子已经被作者于2007-6-1 22:31:09编辑过]


If you shed tears when you miss the sun, you also miss the stars.
2007-6-1 22:30
孤魂居士
Rank: 4
来自:老A(中国地大)
等级:高级会员
威望:2
帖子:869
积分:8840
注册:2007-5-21

说句实话,我学C和C++和起来快1年了  对于循环 我都是考虑的for我没有用过while
在我印象中都不知道while怎么用了  哎  这坏毛病要改```````````````````

想用3年成为编程高手10年都成不了,准备用10年成为编程高手的3年就成为了编程高手
2007-6-9 21:22
herbert_1987
Rank: 12Rank: 12Rank: 12
等级:贵宾
威望:15
帖子:1313
积分:13230
注册:2007-5-13

老师怎能这样教书的,这样很容易扼杀学生的创造性思维的.

人生重要的不是所站的位置,而是所朝的方向
2007-6-10 09:02
ichigo
Rank: 2
等级:注册会员
帖子:66
积分:760
注册:2007-5-27

还有这样的老师...还是大学老师...有点晕..
2007-6-10 09:39
doom5211
Rank: 1
等级:新手上路
帖子:34
积分:440
注册:2007-6-7

以下是引用foreverlh在2007-6-1 20:29:14的发言:
我们老师也是这么说的,不过没你老师那么死板哎..
当循环次数未知时候用while语句更清晰明了.
这个看需求啦,反正我for循环想不出来的时候就会考虑while算法.
而且有些问题,用while比较好,例如
要求你在键盘上持续给一维数组送数,int a[100]
一般情况下肯定用不到100啦,这里100就是个上限,初级数据结构课经常有的.
int a[100],i,j=0;
cout<<"请输入数据,输入-1时结束"<<endl;
cin>>i;
while(i!=-1)
{
a[j]=i;
j++;
cin>>i;
}


用for循环是不是这样写?
int a[100],i,j;
cout<<"请输入数据,输入-1时结束"<<endl;
cin>>i;
for(j=0;i!=-1;j++)
{
a[j]=i;
cin>>i;
}

个人感觉初学的时候while比较好理解一些的说
这里面用for循环写的程序是否有点问题哦,for语句中没有对j的判断条件,如果输入的i不等于-1,那不是要一直循环下去,数组不会越界吗?提出个人愚见,也不一定正确,大虾指导下

2007-6-10 11:16
haohaoxue
Rank: 1
等级:新手上路
帖子:20
积分:300
注册:2007-6-9

for(j=0;i!=-1&&j<100;j++)
这样应该行了吧!

学,学,死了也要学!没有理由不学!没有理由不爱C++!
2007-6-10 12:14
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.072458 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved