• 聊一聊开发语言的基础控制结构


    一、描述下for循环、while循环和do-while循环的区别和用法。

    在编程中,for循环、while循环和do-while循环是用于重复执行一段代码直到满足特定条件的控制结构。每种循环都有其特定的用途和语法。以下是它们之间的区别和用法:

    1. for循环

    用法for循环通常用于在知道循环次数的情况下,重复执行一段代码。

    语法

    for (初始化; 条件; 更新) {
    // 循环体
    }
    • 初始化:在循环开始之前设置循环控制变量的初始值。
    • 条件:每次循环迭代之前都会检查的条件。如果条件为真,则执行循环体;如果为假,则退出循环。
    • 更新:在每次循环迭代之后更新循环控制变量。

    示例

    for (int i = 0; i < 10; i++) {
    printf("%d ", i);
    }
    // 输出:0 1 2 3 4 5 6 7 8 9

    2. while循环

    用法while循环用于在不知道循环次数的情况下,根据某个条件重复执行一段代码。

    语法

    while (条件) {
    // 循环体
    }
    • 条件:在每次循环迭代之前都会检查的条件。如果条件为真,则执行循环体;如果为假,则退出循环。

    示例

    int i = 0;
    while (i < 10) {
    printf("%d ", i);
    i++;
    }
    // 输出:0 1 2 3 4 5 6 7 8 9

    3. do-while循环

    用法do-while循环与while循环类似,但不同之处在于它至少会执行一次循环体,然后再检查条件。

    语法

    do {
    // 循环体
    } while (条件);
    • 条件:在每次循环迭代之后检查的条件。如果条件为真,则继续执行循环体;如果为假,则退出循环。

    示例

    int i = 0;
    do {
    printf("%d ", i);
    i++;
    } while (i < 10);
    // 输出:0 1 2 3 4 5 6 7 8 9

    区别

    • 执行次数forwhile循环可能会一次都不执行(如果初始条件不满足),而do-while循环至少会执行一次。
    • 灵活性for循环更适用于知道循环次数的情况,因为它可以直接在循环声明中设置循环控制变量的初始值、条件和更新。而whiledo-while循环则更灵活,可以根据需要在循环体内设置和更新循环控制变量。
    • 可读性:在某些情况下,使用for循环可以使代码更简洁和易读,因为它将循环控制的所有元素都集中在一个地方。但在其他情况下,使用whiledo-while循环可能更合适,因为它们允许更灵活地控制循环的执行。
    • 二、编写一个使用switch语句的示例
    • 当使用switch语句时,我们通常用于基于某个变量的值来执行不同的代码块。下面是一个简单的使用switch语句的示例,该示例基于用户输入的整数来打印不同的消息:
    • #include
      int main() {
      int day;
      printf("请输入一周中的某一天的数字(1-7):");
      scanf("%d", &day);
      switch (day) {
      case 1:
      printf("星期一\n");
      break;
      case 2:
      printf("星期二\n");
      break;
      case 3:
      printf("星期三\n");
      break;
      case 4:
      printf("星期四\n");
      break;
      case 5:
      printf("星期五\n");
      break;
      case 6:
      printf("星期六\n");
      break;
      case 7:
      printf("星期日\n");
      break;
      default:
      printf("输入无效,请输入1到7之间的数字\n");
      }
      return 0;
      }

      在这个示例中,程序首先提示用户输入一周中的某一天的数字(1代表星期一,7代表星期日)。然后,使用scanf函数读取用户输入的整数并将其存储在变量day中。接下来,switch语句根据day的值执行相应的case块。每个case块都包含一个与day的值相匹配的整数,并打印出对应的天数。如果day的值不匹配任何case块,则执行default块,打印出一个错误消息。

      注意,在每个case块的末尾都有一个break语句,它的作用是跳出switch语句,防止程序继续执行下一个case块。如果没有break语句,程序将继续执行下一个case块,直到遇到breakswitch语句的末尾为止,这通常被称为“case穿透”或“case fall-through”。在大多数情况下,为了避免意外的行为,我们通常会在每个case块的末尾添加break语句。

  • 相关阅读:
    Intel汇编-EFLAGS条件分支
    计算机毕业设计Java校园跑腿平台演示录像2020(源码+系统+mysql数据库+Lw文档)
    java考点之程序看iO流操作
    API接口大全分享,含短信API、IP查询API。。。
    词云的可视化设计教程
    java计算机毕业设计校园跳蚤市场源码+数据库+系统+lw文档+mybatis+运行部署
    D. Radio Towers(斐波那契+逆元)
    C++ constexpr && consteval && constinit
    Swift 周报 第十七期
    Mybatis日志框架
  • 原文地址:https://blog.csdn.net/m0_46552684/article/details/139261237