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

本文详细介绍了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:统计由键盘中输入的若干字符中,大写英文字母,小写英文字母,数字字符和其他字符的个数

代码:

流程图:

说明:(1)在for循环中,每次读入一个字符,根据字符的种类,选择不同的分

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值