• do while循环、嵌套循环、数组简介


    本文参考C Primer Plus进行学习

    文章目录

    • 出口循环条件:do while
    • 如何选择循环
    • 嵌套循环
    • 数组简介
      • 在for循环中使用数组


    一.出口循环条件:do while

            出口循环条件,即在循环的每次迭代之后检查测试条件,这保证了至少执行循环体中的内容一次。

    1. #include
    2. int main()
    3. {
    4. const int secret_code=13;
    5. int code_entered;
    6. do
    7. {
    8. printf("To enter the triskaidekaphobia therapy club,\n");
    9. printf("Please enter the secret number:");
    10. scanf("%d",&code_entered);
    11. }
    12. while(code_entered!=secret_code);
    13. printf("Congratulations!You are cured!\n");
    14. return 0;
    15. }

    while循环也可以完成,不过代码稍微长一点。 

    1. #include
    2. int main()
    3. {
    4. const int secret_code=13;
    5. int code_entered;
    6. printf("To enter the triskaidekaphobia therapy club,\n");
    7. printf("Please enter the secret number:");
    8. scanf("%d",&code_entered);
    9. while(code_entered!=secret_code)
    10. {
    11. printf("To enter the triskaidekaphobia therapy club,\n");
    12. printf("Please enter the secret number:");
    13. scanf("%d",&code_entered);
    14. printf("Congratulations!You are cured!\n");
    15. }
    16. return 0;
    17. }

    下面是do while的通用形式

    do

            statement

    while(expression);

            statement可以是一条简单语句或复合语句。注意,do while 循环以分号结尾。

             do while 循环在执行完循环体后才执行测试条件,所以至少执行循环体一次;而for循环和while循环先执行测试条件再执行循环体。

    二.如何选择循环

            通常,入口条件循环用的比较多,其一,一般原则是在执行之前测试比较好。其二,测试放在循环的开头,可读性比较高。在许多应用中,要求一开始不符合条件就直接跳出循环。

             一般而言,当循环涉及初始化和更新变量时,用for循环比较合适,其他情况下while循环比较好。

    while(scanf("%ld",&sum)==1)

    对于涉及索引基数的循环,用for循环更合适。

    for(count=1;count<=100;count++)

    三.嵌套循环

    1. #include<stdio.h>
    2. #define ROWS 6
    3. #define CHARS 10
    4. int main(void)
    5. {
    6. int row;
    7. char ch;
    8. for(row=0;row<6;row++)
    9. {
    10. for(ch='A';ch<('A'+CHARS);ch++)
    11. printf("%c",ch);
    12. printf("\n");
    13. }
    14. return 0;
    15. }

    1. #include<stdio.h>
    2. int main(void)
    3. {
    4. const int ROWS=6;
    5. const int CHARS=6;
    6. int row;
    7. char ch;
    8. for(row=0;row<6;row++)
    9. {
    10. for(ch='A'+row;ch<('A'+CHARS);ch++)
    11. printf("%c",ch);
    12. printf("\n");
    13. }
    14. return 0;
    15. }

     四.数组简介

            float debts[20];

    声明debts是一个内含20个元素的数组,每个元素都可以储存float类型的值。数组的第一个元素是debts[0],最后一个是debts[19]。可以给每个元素赋float类型的值。

    例如:debts[10]=32.54;

    scanf("%f",&debts[10]);        //把一个数值读入数组的第11个元素

     在for循环中使用数组

    1. #include<stdio.h>
    2. #define SIZE 10
    3. #define PAR 72
    4. int main(void)
    5. {
    6. int index,score[SIZE];
    7. int sum=0;
    8. float average;
    9. printf("Enter %d golf scores:\n",SIZE);
    10. for(index=0;index<SIZE;index++)
    11. scanf("%d",&score[index]);
    12. printf("The scores read in are as follows:\n");
    13. for(index=0;index<SIZE;index++)
    14. printf("%5d",score[index]);
    15. printf("\n");
    16. for(index=0;index<SIZE;index++)
    17. sum+=score[index];
    18. average=(float) sum/SIZE;
    19. printf("Sum of scores =%d,average=%.2f\n",sum,average);
    20. printf("That is a handicap of %.0f.\n",average-PAR);
    21. return 0;
    22. }

            


    明天继续吧!加油!

  • 相关阅读:
    新能源汽车行业资讯-2022-9-11
    正则表达式,日期选择器时间限制,报错原因
    vue权限控制的想法
    ssm+vue的课程网络学习平台管理系统(有报告)。Javaee项目,ssm vue前后端分离项目。
    HSV色彩空间 GRAY色彩空间
    Unity基础课程之物理引擎8-扔保龄球游戏案例(完)
    GPG加密解密
    LLM基础
    如何使用graalvm为带有反射功能的java代码生成native image
    Anaconda中配置PyTorch环境——win10系统(小白包会)
  • 原文地址:https://blog.csdn.net/weixin_62428401/article/details/136625047