首页 > 编程知识 正文

c语言循环结构简单经典例题,c语言循环结构三要素

时间:2023-05-03 11:23:00 阅读:274263 作者:1977

循环结构
一,知识点
   1 for循环:
    for (循环控制变量初始化; 循环终止条件; 循环控制变量增量)
    {
      循环体
    }
    循环执行步骤:第一,先进行循环控制变量初始化;
           第二,执行循环终止条件,如果判断结果为真,则进入第三步;如果为假则循环终止并退出;
           第三,执行循环体;
           第四,执行循环控制变量增量,转入第二步;
    注:for循环()中的三部分除了循环终止条件外,其他两部分都可以省略,但标准的for循环中,应该把循环控制变量的初始化,增量都放在()当中,并且在循环体中绝对不应该更改循环控制变量;
  2.while:
    循环控制变量初始化
    while(循环终止条件)
    {
      循环体
      循环控制变量增量
    }
    循环执行步骤:第一,先进行循环控制变量初始化(在while之前);
           第二,判断循环终止条件,如果判断结果为真,则进入第三步;如果为假则不执行循环体;
           第三,执行循环体;
           第四,执行循环控制变量增量,转入第二步;
  3 do while:
    循环控制变量初始化
    do
    {
      循环体
      循环控制变量增量
    }while (循环终止条件);
    循环执行步骤:第一,先进行循环控制变量初始化(在do while之前);
           第二,执行循环体;
           第三,执行循环控制变量增量;
           第四,判断循环终止条件,如果判断结果为真,则返回第二步;如果为假则直接退出循环;
   4 总结:不管哪种循环结构,都不能缺少循环控制条件初始化,终止条件,循环控制变量增量,循环体这四部分;while循环是先判断后执行,do while循环是先执行后判断,等循环一次之后,其实都是一样的;
   二,如何使用
   1,for循环
   例:优雅的曲奇6班测试
   【题目描述】
输入n,输出一个n*n的正方形,正方形由符号c1和c2组成,正方形的四条边和对角线由c1组成,其余部分由c2组成。

#include<stdio.h>int main(){ int n,m,i,j,k; char b,c; scanf("%d %c %c",&n,&b,&c); m=n+1; for(i=1; i<=n; i++) { if(i==1||i==n) { for(j=1; j<=n; j++) { printf("%c",b); } printf("n"); } else if(i!=1&&i!=n) { for(k=1; k<=n; k++) { if(k==1||k==n||k==i||i+k==m) { printf("%c",b); } else printf("%c",c); } printf("n"); } } return 0; }

利用for循环来控制行和列的输出;进而达到题目要求;
2,while循环
例,最短距离的点。
描述
给出一些整数对,它们表示一些平面上的坐标点,给定一个点,求所有那些点到该点最短距离的点。结构为:第一个整数对为所给定的点,后面的整数对为所有其他的点。

#include<stdio.h>#include<math.h>int main(){ int a,b,c,d,x,y,n=0,e,max=99999999; scanf("%d %d",&a,&b); while(~scanf("%d %d",&c,&d)) { e=sqrt((a-c)*(a-c)+(b-d)*(b-d)); if(max>e) { max=e; x=c; y=d; } } printf("%d %d",x,y); return 0;}

这道题没给出输入几组数据,就可以用while循环来解决,对于此类问题不知道循环结束的条件,就可以用while循环语句,在通过break结束,或者continue来继续执行;
3,do while 循环

#include <stdio.h>main(){int i,sum=0;scanf("%d",&i);do{ sum+=i;i++;}while(i<=10);printf("%d",sum);}

输入:11
运行结果:11
虽然不满足循环条件,还是可以执行一次。
三,感悟
1,尽量使循环控制变量的取值采用半开半闭区间写法从功能上看,虽然半开半闭区间写法和闭区间写法的功能是完全相同的,但相比之下,半开半闭区间写法更能够直观地表达意思,具有更高的可读性。
2,尽量使循环体内工作量达到最小化,for 循环随着循环次数的增加,会加大对系统资源的消耗。如果你写的一个循环体内的代码相当耗费资源,或者代码行数众多(一般来说循环体内的代码不要超过 20 行),甚至超过一显示屏,那么这样的程序不仅可读性不高,而且还会让你的程序的运行效率大大降低。
3,避免在循环体内修改循环变量,在 for 循环语句中,我们应该严格避免在循环体内修改循环变量,否则很有可能导致循环失去控制,从而使程序执行违背我们的原意
4,尽量使逻辑判断语句置于循环语句外层,一般情况下,我们应该尽量避免在程序的循环体内包含逻辑判断语句。当循环体内不得已而存在逻辑判断语句,并且循环次数很大时,我们应该尽量想办法将逻辑判断语句移到循环语句的外层,从而使程序减少执行逻辑判断语句的次数,提高程序的执行效率。
5,尽量将循环嵌套控制在 3 层以内,如果超过三个循环,这样程序的执行效率也会很低。因此,如果代码循环嵌套超过 3 层,建议重新设计循环。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。