C语言循环章节总结

目录

1、误把“=”当等于(“==”)

2、由于循环控制变量的方向改变的方向不对而造成死循环

3、由于循环控制变量的值没有改变而造成死循环


 c语言给了三种循环语句。

·for语句主要适用于循环次数确定的循环结构。

·循环次数及循环控制条件要在循环过程中才能确定的循环可用while和do-while。

·三种循环结构可互相嵌套也可以互相转换。

在使用循环结构时,容易发生以下错误,应尽量避免。

1、误把“=”当等于(“==”)

如:要输出b的值为2.

#include<stdio.h>
    int main()
    {int a,b;
    b=2;
    a=2;
    while(a=2)//这里变成了将2赋值给a
	b=1; 
	printf("%d",b); 
    
 
     
	}

这里就会变成死循环。

正确写法如下:

#include<stdio.h>
    int main()
    {int a,b;
    a=2;
    while(a!=2)
	b=1; 
	printf("%d",b); 
    
 
     
	}

 值得一提的是,在过去的学习中我们知道0和1不只有数学意义,在c语言中也充当逻辑值的地位。

所以当循环结构中的循环控制条件为数字时并不会出现逻辑错误。

如:

#include<stdio.h>
    int main()
    {int a,b;
    b=0;
    a=2;
    while(1)//该循环始终执行
	b=1; 
	printf("%d",b); 
    
 
     
	}
#include<stdio.h>
    int main()
    {int a,b;
    b=0;
    a=2;
    while(0)//该循环始终不进行
	b=1; 
	printf("%d",b); 
    
 
     
	}

这两种情况在题目中时常出现,在日常编程中不建议使用。

2、由于循环控制变量的方向改变的方向不对而造成死循环

如:

short i=1;
while(i>=0)
sum+=i++;

i开始就大于0,而以后每次都增加i的值,使条件i》=0总是成立,直到i的值为32767加1,超越正数的表示范围而得到负值才结束,这时的结果肯定与希望的不同。

3、由于循环控制变量的值没有改变而造成死循环

i=1;
while(i<=10)
sum+=i;

这时候循环就会因为循环控制变量i未发生变化而一直延续下去,正确的写法则是把 sun+=i 改为 sum+=i++

而其他那些细枝末节的易错点就不在这里深究,如忘加分号,复合循环语句没加花括号,没有给控制循环变量初始化等。

如有错误请指出,谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值