C语言中循环语句的应用分析
摘 要:目前,在很多高校,C语言都被列为程序设计的入门语言,也是很多计算机专业学生学好《数据结构》、《c++程序设计》等专业课的前提条件。而循环语句又是C语言学习中的一个重点与难点。根据本人的体会,浅谈一下C语言循环语句在学习、生活中的一些应用。
关键词:while语句; do while语句;for语句
一、前言
在众多程序设计语言中,C语言有其独特之处。它作为一种高级程序设计语言,具备灵活性、通用性和方便性等特点。C语言有while 、do while和for语句三种循环结构语句。前两个称为条件循环,即根据条件来决定是否继续循环;后一个称为计数循环,即根据设定的执行次数来执行循环。
二、3种循环语句的规则
1.While语句
While语句是通过判断循环控制条件是否满足来决定是否继续循环的,它的一般形式为:
While (表达式)
循环体语句
执行流程:
①计算表达式;
②如果表达式的值为非零,执行语句;
③返回第一步,重新计算表达式;
④如果表达式的值为零,则结束循环。
如果表达式的值一开始就为0,则语句一次也不会被执行。
2.Do-While语句
Do-While语句的特点是先执行循环体中的语句,在通过判断表达式的值决定是否继续循环,它的一般形式是:
Do
循环体语句
While(表达式);
执行流程:
①执行语句;
②计算表达式;
③表达式的值为非零,返回第1步;
④表达式的值为零,结束循环。
语句至少执行一次。
三、循环语句的应用分析
循环语句在学习、生活中有广泛的应用。下面,我们通过几个例子来看看循环语句的重要作用。
1.例如一位老师要为多个学生的成绩来评定等级。
分析:可以用循环结构控制多个学生的分数处理,输入的分数小于0,循环结束。而对于每个学生的分数需用选择结构完成评级。程序如下:
Void main()
{ int i,score;
Scanf(“%d”,&score);
While (score>=0)
{switch (score/10)
{case 10;
Case 9: prinft(“%d: An”,score);break;
Case 8;
Case 7: printf(“%d: Bn”,score);break;
Case 6: printf(“%d: Cn”,score);break;
Default: printf(“%d: Dn”,score);
}
Scanf(“%d”,&score);
}
}
2.用循环语句来解决数学问题也是一个不错的选择。
例如:用数值积分法求函数f(x)=1/(1+x)在x=1到x=10之间的积分的近似值。
分析:对于函数积分,可以把积分段分成n份,每一份看成是一个近似的面积为f(x)*dx的矩形(dx=(10-1)/n ),把所有n份矩形面积相加,即为积分的近似值。这个问题的关键是n的取值不能确定。这里用循环法求n。设n的初值为10,每次加一,当相邻两次n值算得的积分值相差不超过10-7时,认为已经取到了合适的n值。程序如下:
#include
main( )
{ long n; double f,d,x,s=0,t;
for(n=10;;n++)
{ d=(double)9/n; t=s;
for{s=0,x=1;x<=10-d;x+=d)
{ f=1/(1+x);
s=s+f*d; }
if(fabs(s-t)<1e-7) break;
}
printf(“n%lf”,s);
}
3.在现今网络飞速发展的时代,网络安全成为人们关注的焦点,甚至可以用循环语句来解决电文加密的问题。
例如:已知电文加密规律为:将字母变成其后面的第4个字母,其他的保持不变。如如,a-e,W-A。
分析:输入字符ch,如果ch是字母,则进行加密处理ch+=4;判断加密后ch是否超出字母的范围,如果超出,则ch-=26;循环控制条件用ch!=’n’。程序如下:
#include
Void main()
{ char ch;
While ((ch=gethar())!=’n’)
{if ((ch>=’a’&& ch<=’z’) ‖(ch>=’A’&& ch<=’Z’))
{ch+=4;
If((ch>’Z’ && ch<=’a’) ‖(ch>’z’))
Ch-=26;
}
Prinft(“%c”,ch);
}
}
四、总 结
由上面几个在学习、生活中的实例,我们可以看出,C语言的循环语句能帮助你解决很多实际问题。当然,在具体某个问题上,大家需要根据不同的情况,选择比较适合的循环语句,结合C语言的其他功能,编写出简单、易懂和具有实际意义的程序来。
参考文献:
[1]杨路明.C语言程序设计教程.-2版.北京邮电大学出版社,2005
[2]李文娟.浅议C语言for语句的执行过程及应用问题[J].科技信息,2008,(10):30-31.
下一篇:高职博客教辅平台建构策略