第五章;循环结构程序设计总结。

这篇博客详细介绍了C语言中的循环结构,包括for、while、do-while语句的使用,以及如何通过循环控制语句break和continue来改变循环流程。文中通过多个示例演示了各种循环的应用,如计算序列和、最大值查找、素数判断等,并讨论了循环嵌套和循环优化。此外,还探讨了递推法、迭代法和穷举法在解决计算问题中的应用。
摘要由CSDN通过智能技术生成

示例:假设人口总数为13亿,按每年2%增长,计算从现在开始10年内的人口的数量

 流程图;

2:计算1-1/4+1/7-1/10+1/13-1/16+...的和,直到某一项的绝对值小于10^-6为止

代码:

 流程图;

二:for语句实现循环结构

执行过程如下:

for(1;2条件;3)

{语句4;}5

先 1>>>2(真)>>>4>>3

3>>>2(真)>>>4

3>>>2(真)>>>4

........

3>>>2(假)>>>6

示例:1,输入一个正整数n,求sum+1+2+3+……+n的值

代码:

 流程图;

其中:1:循环变量赋初值i=1

2:循环条件为i<=n

3:循环变量增量i++

4:循环体语句sum=sum+i

2,输入一个正整数n,求n!(n的阶层)

代码:

 流程图;

其中:1:循环变量赋初值i=1

2:循环条件为i<=n

3:循环变量增量:i++

4:循环语句:factorial=factori *i

2:for语句的一般形式中省略表达式1

格式如下

for(;表达式2;表达式3)

循环体语句

说明:省略表达式1时,可以将循环变量赋初值放在for之前。注意此时不能省略第一个“;”

for(i=1;i<=n;i++)           

  sum=sum+i;=1

等价于

i=1;

for(;i<=n;i++)

sum=sum+i;

3:for语句的一般形式省略表达式2

格式如下

for(表达式1;;表达式3)

循环体语句;

说明:省略表达式2时,表示不对循环进行控制,这时没有其他处理的话,会形成死循环。应避免这样使用for结构

4:

for语句的一般形式中省略表达式3

格式如下

for(表达式1;表达式2;)

循环体语句

说明:省略表达式3时,可以在循环体语句加入修改循环变量的值和语句

for(i=1;i<=n;i++)

factorial=fatorial*i;

等价于

for(i=1;i<=n)

{factorial=factorial*i;

i++;}

5:for语句的一般形式表达式1和表达式3也可以是逗号表达式

sum=0

for(i=1;i<=n;i++)           

  sum=sum+i;

等价于

for(sum=0,i=1;i<=n;i++)           

  sum=sum+i;

表达式sum=0,i=1为逗号表达式

6:for语句的一般形式中表达式2的只要非0,就执行循环体

for(;ch=getchar()!='\n';)

printf("%c",ch)

7:for语句的一般形式中循环体语句可以省略

for(i=1;i<=n;i++)           

  sum=sum+i;

等价于

for(i=1;i<=n;  sum=sum+i;i++)

循环体语句sum+sum;放入表达式3中,与i++构成一个逗号表达式,此时循环体语句实际为一个空语句“;”

三:for语句使用示例

1:代码:编写程序,输入一个整数n,计算1-1/4+1/7-1/10+1/13-1/16+...d的值前n项和

 流程图;

2:代码:编写程序,输入10个数,输出其中的最大值

 流成图;

如果不把第一个数赋给max,则代码可修改为

#include<stdio.h>
int main()
{
 int i;
 float x, max;
 
 for(i=1;i<=9;i++)
 {
  printf("请输入第%d个数:", i );
  scanf_s("%f", &x);
  if (i == 1)
   max = x;
  else
   if (x > max)
    max = x;
 }
 printf("10个数的最大值:%.0f", max);
}

3:代码:编写程序,输出所有的水仙花数

流程图;

 4:编写程序,由键盘输入一个正整数,判断该数是否为完数

代码:

流程图;

5:统计由键盘中输入的若干字符中,大写英文字母,小写英文字母,数字字符和其他字符的个数

代码:

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值