高斯是公认的世界上最重要的数学家之一,并有“数学王子”的美誉。高斯9岁时用很短的时间便计算出了小学老师布置的任务:对自然数从1到100的求和。
他所使用的方法是:对50对构造成和101的数列求和为(1+100,2+99,3+98,…),同时得到结果:5050。
用C语言的顺序结构也能设计一个程序,求自然数1~10的和,然后输出结果。
【例4.1】求∑n(n为1~10),并将结果打印出来。
程序运行结果:
sum=55
例4.1中只有10个加数,但如果我们将最终的加数设为1000,即sum=1+2+…+1000;赋值语句很长,我们就需要用到循环控制语句。
【例4.2】从1加到1000,并将结果打印出来。
程序运行结果:
sum=500500
其中的while是循环语句。
所谓循环是指使用一定条件对同一个程序段重复执行若干次。被重复执行的部分(可能由若干语句组成)称为循环体。
本程序中的循环要素包括:
①循环初值是i=1。
②循环终值是i=1000。
③循环条件是“i<=1000”。
④循环体(被重复执行的部分)是sum+=i;i++;。
⑤循环变量修正是i++。
(www.daowen.com)
图4-1 while循环的执行流程
while循环的一般格式:
while(<表达式>)
<语句>;
其语义是:当<表达式>的值不为零时,则执行<语句>,然后再判断<表达式>的值,只要它不为零,继续执行<语句>,如此重复,直到<表达式>的值为零为止,流程图如图4-1所示。while语句的特点:先判断表达式,后执行循环体。
提示:
①循环体有可能一次也不执行(先判断,后执行);
②循环体可为任意类型语句;
③下列情况,可退出while循环:
条件表达式不成立(为零);
循环体内遇break,return,goto等特殊控制语句;
④while循环的表达式可以是合法的C语言的任何表达式。我们可以使用如下的形式:
while(x!=0)写作while(x)
while(x==0)写作while(!x)
【例4.3】求n!(n=1~8)。
程序运行结果:
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。