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

1.循环结构的含义:在给定条件成立时,反复执行某程序段,直到条件不成立为止。给定的条件成为循环条件,反复执行的程序段成为循环体。C语言提供了多种循环语句,可以组成各种不同形式的循环结构。

2.while语句:
while语句是当型循环控制语句,一般形式为:
while(表达式)
语句;
其中,表达式是循环条件,语句是循环体,如果是多条语句,要用符合语句。表达式可以是任意类型的表达式

while循环流程图
while循环的流程图如图所示,当表达是为真时,执行循环语句,继续判断,直到表达式为假,退出循环。

重要例题:求两个正整数的最大公因子
求最大公因子是用欧几里得算法求得的
(1)输入m和n
(2)r=m%n,m=n,n=r;
(3)如果n=0;那么m就是最大公因子,否则继续执行(2)

代码:

#include<stdio.h>
void main()
{
  int m,n,r;
  scanf("%d%d",&m,&n);
  while(n!=0)
  {
   r=m%n;
   m=n;
   n=r;
  }
  printf("%d",m);
}
3.do-while循环
do-while循环是直到型循环,它的一般形式为:
do
语句;
while(表达式);
while最后面的分号一定不能省。

do-while循环流程图
do-while语句流程图如图所示,先执行一次循环体,再判断循环条件,表达式的值为真时,继续执行语句,继续判断循环体,直到表达式的值为假,退出循环。

do-while语句与while语句的区别在于do-while是先执行后判断,,至少执行一次循环体,而while是先判断后执行,如果条件不满足,很有可能一次也不执行。

4.for语句or语句是循环控制结构中使用较广泛的一种循环控制语句,特别适合于已经知道循环次数的情况,一般形式为:
for(表达式1;表达式2;表达式3)
语句;
其中表达式2是循环条件,表达式1是给循环变量赋初始值,表达式3给循环控制变量增量或减量;表达式之间用分号隔开。
表达式1、表达式2和表达式3可以为任意类型的表达式,包括逗号表达式,并且都是任选项,可以省略其中的一个、两个或者全部,但是分号不可以省略噢;
如果表达式2为空,则相当于表达式2恒为真,循环是个死循环
循环体也可以是空语句

for循环流程图
for循环流程图如图所示,首先执行表达式1的值,再执行表达式2的值进行判断,如果表达式2的值正确,接着开始执行循环语句,再执行表达式3的值,直到表达式2的值为假,则退出循环。

重要例题:计算12+34+56+78+910+……99*100
代码:

#include<stdio.h>
void main()
{
   int i;
   long sum=0;
   for(i=0;i<=99;i+=2)
   sum+=i*(i+1);
   printf("%ld",sum);
}
5.循环嵌套:
循环嵌套是一个循环体中有另外一个循环叫循环嵌套,需要注意内外两层循环不重名

6.break语句
break语句有两个用途:
(1)在switch语句中,case子句完成后,能够通过break语句,立刻跳出switch结构
(2)在循环语句中,break语句能够立刻跳出该层循环,执行该层循环的后一条语句

重要例题:将用户输入的小写字母转换成大写字母,直到输入非小写字母字符
代码:

#include<stdio.h>
void main()
{
  char ch;
  while(1)
  {
    ch=getchar();
    if(ch>='a'&&ch<='z') 
    {
    ch=ch-'a'+'A';
    putchar(ch);
    }
    else break;
  }
}
7.continue语句
continue语句是结束本次循环,继续开始下一次循环;
continue语句只能用于while、do-while和for语句构成的循环结构中,只对最内层的循环体语句起作用。
重要例题:将用户输入的所有小写字母转换成大写字母
代码:

#include<stdio.h>
void main()
{
  char ch;
  while(1)
  { 
     ch=getchar();
     if(ch>='a'&&ch<='z') 
     {
      ch=ch-'a'+'A';
      putchar(ch);
     }
     else continue;  //如果输入的不是小写字母,则开始下一次的重新输入
  }
}
8.goto语句
goto语句也称无条件转移语句,有两个用途
(1)与条件语句一起作用,构成循环
(2)能够跳出一层或者多层循环
但是一般不太允许使用goto语句,避免造成程序的混乱

经典例题:求1-100的累计求和

#include<stdio.h>
void main()

 int i=1,sum=0;
 loop:sum+=i++;
 if(i<=100)
 goto loop;
 printf("%d",sum);
}
9.exit()函数
exit()函数是C语言的标准库函数,它不是程序控制语句,但是它和break、continue、goto等流程语句的作用类似,可以用于控制系统的流程。
exit()函数的作用是终止整个程序的执行,强制返回到操作系统,当程序执行时的必要条件不满足时,常用到exit()函数,但是记得调用头文件<stdlib.h>

经典例题:输入三角形的三条边长,求三角形的面积
面积公式 :sqrt(s(s-a)(s-b)(s-c)) 其中a、b、c是三角形三条边,s是(a+b+c)/2515.1

5.1

5.2 

5.3 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5.37 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值