c++循环知识总结


22:04:31
ζั͡ޓއއއ昔年 2018/12/9 22:04:31

循环结构:在给定条件成立时,反复执行某程序段,直到条件不成立为止。给定的条件称为循环条件, 反复执行的程序段称为循环体。
C语言中有4中形式的循环结构:1)用goto语句和if语句构成循环; 2)while语句; 3)do-while语句; 4)for语句。
while 循环
一般形式:while(表达式) 语句
while循环语义:计算表达式的值,当值为真(即非0)时, 执行循环体语句
注意:如果表达式的值一开始就为0,则语句一次也会被不执行。

//例
/#include<stdio.h>
void main()
{
int i, sum=0;
i=1;
while(i<=100)
{
sum=sum+i;
i++;
}
printf("%d\n",sum);

(注:在while循环中必须必须在有限步内使得while后面的表达式不成立,即表达式 == 0,这样才能在有限步内终止while循环,否则将陷入死循环)
使用while循环的注意事项:
1)while循环中的表达式一般是关系表达式或逻辑表达式(输出0或1用以判定真假),只要表达式的值为真(非0)即可继续循环。
2)循环体如包括有一个以上的语句,则必须用大括号{}括起来,组成复合语句。
do-while 循环
do-while循环与while循环的不同在于:它先执行循环中的语句,然后再判断表达式是否为真, 如果为真则继续循环;如果为假, 则终止循环。因此, do-while循环至少要执行一次循环语句。
for循环
在C语言中,for语句的使用是最为灵活,它完全可以取代 while 语句。
for循环一般形式为:for语句;
它的执行过程如下:
1)先求解表达式1。
2)求解表达式2,若其值为真(非0),则执行for语句中指定的内嵌语句,然后执行下面第3)步;若其值为假(0),则结束循环,转到第5)步。
3)求解表达式3。
4)转回上面第2)步继续执行。
5)循环结束,执行for语句下面的一个语句。
for循环可以理解为:for (循环变量赋初值;循环条件;循环变量增量) 语句 (循环变量赋初值总是一个赋值语句, 它用来给循环控制变量赋初值; 循环条件是一个关系表达式,它决定什么时候退出循环;循环变量增量, 定义循环控制变量每循环一次后按什么方式变化。这三个部分之间用“;”分开。
使用for循环的注意事项:
1)for循环中的(循环变量赋初值)、(循环条件)和(循环变量增量)都是选择项, 即可以缺省,但“;”不能缺省。
2)省略了“表达式(循环变量赋初值)”, 表示不对循环控制变量赋初值。(则需要在for循环之前对变量赋初值)
几种循环的比较
(1)四种循环都可以用来处理同一问题,一般情况下它们可以互相代替。但一般不提倡用goto型循环。
(2) 在while循环和do-while循环中,只在while后面的括号内指定循环条件,因此为了使循环能正常结束,应在循环体中包含使循环趋于结束的语句(如i++,或i=i+1等)。
for循环可以在表达式3中包含使循环趋于结束的操作,甚至可以将循环体中的操作全部放到表达式3中。因此for语句的功能更强,凡是用while循环能完成的,用for循环都能实现。
(3)用while和do-while循环时,循环变量初始化的操作应在while和do-while语句之前完成而for语句可以在表达式1中实现循环变量的初始化。
(4)while循环、do-while循环和for循环,可以用break语句跳出循环,用continue语句结束本次循环。而对用goto语句和if语句构成的循环,不能用break语句和continue语句进行控制。
break语句和continue语句
break语句:可以用来从循环体内跳出循环体,即提前结束循环。
break语句一般形式: break; (注:break语句只能用于循环语句和switch语句中)
注意:1)break语句对if-else的条件语句不起作用。2)在多层循环中, 一个break语句只向外跳一层。
continue语句:作用为结束本次循环,即跳过循环体中下面尚未执行的语句,接着进行下一次是否执行循环的判定。
continue语句和break语句的区别:continue语句只结束本次循环,而不是终止整个循环的执行;break语句则是结束整个循环过程,不再判断执行循环的条件成立。
   在这段时间的学习中,我深刻地体会到,想要学好编程必须多加练习,勤勤恳恳,不能有一丝一毫的马虎和懈怠,因为往往是不起眼的小错误拖慢了编程的进度,甚至导致需要从头开始一项一项地检查,浪费了大量的时间。另外,我认为对待题目中不会的地方一定要先自己独立思考,如果时间充足的话最好不要着急向别人求助。思考的过程也是对自己的一种锻炼,要坚持、不灰心,再难的题想过一段时间也会有收获,这一点我深有感触。
   经过这一轮题目的洗礼,我觉得关键是题意理解以及解题思路的问题,当解题思路解决之后,写代码就如行云流水一般,所以需要多见识一些题,从题中找到共性,以便提升自己。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值