新人入坑(for 和 whlie)
for语句和while语句到底有什么不同感觉 for可以替代while是我入门尚浅吗qwq 本帖最后由 昨非 于 2020-12-15 22:03 编辑
for循环一般用于循环次数已知的情况
比如最常用的for (int i=0;i<n;i++)
{
.....
}它的循环次数已知,为n次
而while一般用于事先不清楚循环次数的,
一直循环到其后跟的条件不成立为止,循环次数由循环条件而定,
当然这只是最简单的划分,如果刚入门的话
暂时不清楚也没关系
以后很多很多的例子可以慢慢总结体会 我感觉在我们日常使用中,两者我觉得可以互相替代,其实你硬要说,我就用for,或者 就用 while 也没啥不可以,只是有些时候,常规操作,比如我们用while的循环语句,一般是在不知道循环次数的情况下,如果知道循环次数的情况下,都会用for循环。 当然可以互换
for 循环的格式是:for(初始化;判断条件;条件改变方式){循环体}其中()里面除了两个分号,其他不是非必须的
while 更简单就括号里面 while(判断条件);
互相转换规律时,将 for 循环转换为 while 循环时,只要将 for 里面的初始化及条件改变方式写到括号外面, 即循环体内,for 用 while 替换即可。
while 循环要用 for 来替换时,判断条件是现成的,只要加上初始化 i = 0,i = p(起始指针)之类的及循环次数,即可替换 while 循环。
两种循环条有千秋,灵活使用可达到意想不到的效果。有时候 while 循环语句更容易控制,只需验证括号里面布尔表达式是否成立就行(比如在输入字符时,只需要判断是否有回车:while((ch = getchar()) != '\n'),至于判断条件的变化,可以放到循环体里面来实现,并能灵活的加上限制条件(如实现打印如下形状的数据,用Whil循环更合适;
1
23
456
789 10
11 12 13 14 15 for 是一个遍历语法,遍历的对象有多少个就遍历多少次,遍历次数受序列长度限制
while 是一个判断语法,通俗理解为当while 后面的条件为真或者为假时,才会执行,执行次数只与是否满足条件有关
实例:
# range(5) 为遍历对象,长度是5,所以只能遍历5次,遍历完成后循环结束。
for i in range(5):
print(i)
# 当满足条件为 num < 50 时,while循环就会一直执行下去,
# 除非当条件不满足 num < 50 即 num >= 50的时候循环才会结束。
num = 0
while num < 50:
num += 1
for循环和while循环的区别就是:for循环是次数循环,而while循环是条件循环。
for一般情况下只用于次数循环,而while只要满足条件就能一直循环下去。
页:
[1]