当前位置: 首页 > article >正文

青少年编程与数学 02-010 C++程序设计基础 14课题、控制结构

青少年编程与数学 02-010 C++程序设计基础 14课题、控制结构

  • 一、顺序结构
      • (一)概念
      • (二)示例
  • 二、选择结构
      • (一)概念
      • (二)if语句
      • (三)if - else语句
      • (四)switch - case语句
  • 三、循环结构
      • (一)概念
      • (二)for循环
      • (三)while循环
      • (四)do - while循环
      • (五)循环控制语句

课题摘要: 本文主要介绍了C++语言的控制结构,包括顺序结构、选择结构和循环结构。顺序结构按代码顺序依次执行语句。选择结构通过if语句、if-else语句、if-else if-else语句和switch-case语句根据条件选择不同的执行路径。循环结构则通过for循环、while循环和do-while循环重复执行代码直到满足特定条件。此外,还介绍了breakcontinue等循环控制语句的使用方法。这些控制结构是实现复杂程序逻辑的基础,通过它们可以有效控制程序的执行流程。


C++语言的控制结构主要包括顺序结构、选择结构和循环结构。这些控制结构是程序设计的基础,通过它们可以实现复杂的程序逻辑。

一、顺序结构

(一)概念

顺序结构是最简单的控制结构,程序按照代码的书写顺序依次执行。在顺序结构中,每一条语句都是一次性顺序执行的,没有分支和循环。

(二)示例

#include <iostream>
using namespace std;

int main() {
    int a = 10;  // 第一条语句,声明变量a并初始化为10
    int b = 20;  // 第二条语句,声明变量b并初始化为20
    int sum = a + b;  // 第三条语句,计算a和b的和
    cout << "The sum is: " << sum << endl;  // 第四条语句,输出结果
    return 0;
}

在这个例子中,程序先声明并初始化变量ab,然后计算它们的和并存储在变量sum中,最后输出结果。整个过程按照代码的顺序依次执行,没有其他复杂的逻辑。

二、选择结构

(一)概念

选择结构允许程序根据条件选择不同的执行路径。C++中有多种选择结构,包括if语句、if - else语句、if - else if - else语句和switch - case语句。

(二)if语句

  1. 基本形式

    • if语句的基本形式是:

      if (条件) {
          // 条件为真时执行的语句
      }
      
    • 例如:

      int score = 85;
      if (score >= 60) {
          cout << "Pass" << endl;
      }
      

      这里条件是score >= 60,如果条件为真(即分数大于等于60),则输出“Pass”。

  2. 条件表达式

    • 条件表达式可以是关系表达式(如a > b)、逻辑表达式(如a > b && c < d)等。关系运算符有><>=<===!=,逻辑运算符有&&(逻辑与)、||(逻辑或)、!(逻辑非)。

(三)if - else语句

  1. 基本形式

    • if - else语句的形式是:

      if (条件) {
          // 条件为真时执行的语句
      } else {
          // 条件为假时执行的语句
      }
      
    • 例如:

      int score = 55;
      if (score >= 60) {
          cout << "Pass" << endl;
      } else {
          cout << "Fail" << endl;
      }
      

      这里如果分数大于等于60,输出“Pass”,否则输出“Fail”。

  2. 嵌套if - else

    • 可以在ifelse部分嵌套另一个if - else语句。例如:

      int score = 75;
      if (score >= 90) {
          cout << "A" << endl;
      } else if (score >= 80) {
          cout << "B" << endl;
      } else if (score >= 70) {
          cout << "C" << endl;
      } else if (score >= 60) {
          cout << "D" << endl;
      } else {
          cout << "F" << endl;
      }
      

      这段代码根据分数的不同范围输出不同的等级。

(四)switch - case语句

  1. 基本形式

    • switch - case语句用于多分支选择,其形式是:

      switch (表达式) {
          case 常量1:
              // 与常量1匹配时执行的语句
              break;
          case 常量2:
              // 与常量2匹配时执行的语句
              break;
          ...
          default:
              // 以上所有情况都不匹配时执行的语句
      }
      
    • 例如:

      char grade = 'B';
      switch (grade) {
          case 'A':
              cout << "Excellent" << endl;
              break;
          case 'B':
              cout << "Good" << endl;
              break;
          case 'C':
              cout << "Average" << endl;
              break;
          case 'D':
              cout << "Poor" << endl;
              break;
          default:
              cout << "Invalid grade" << endl;
      }
      

      这里根据grade的值输出不同的评价。switch语句中的表达式通常是一个整型或字符型表达式,case后的常量必须是编译时可知的常量表达式。

  2. 注意事项

    • 每个case后面的break语句用于终止switch语句的执行,防止代码“穿透”到下一个case。如果省略break,程序会继续执行下面的case语句,直到遇到breakswitch语句结束。
    • default部分是可选的,用于处理所有未被case匹配的情况。

三、循环结构

(一)概念

循环结构允许程序重复执行一段代码,直到满足某个条件为止。C++中有三种主要的循环结构:for循环、while循环和do - while循环。

(二)for循环

  1. 基本形式

    • for循环是最常用的循环结构之一,其形式是:

      for (初始化表达式; 循环条件; 更新表达式) {
          // 循环体
      }
      
    • 例如:

      for (int i = 0; i < 5; i++) {
          cout << i << " ";
      }
      

      这段代码会输出0 1 2 3 4for循环的三个部分分别是:

      • 初始化表达式:在循环开始前执行一次,通常用于初始化循环变量(如int i = 0)。
      • 循环条件:在每次循环开始前进行判断,如果条件为真,则执行循环体;如果条件为假,则退出循环(如i < 5)。
      • 更新表达式:在每次循环体执行后进行更新,通常用于修改循环变量(如i++)。
  2. 应用场景

    • for循环非常适合用于已知循环次数的情况,如遍历数组、集合等。例如,遍历一个数组并输出所有元素:

      int arr[] = {1, 2, 3, 4, 5};
      int n = sizeof(arr) / sizeof(arr[0]);  // 计算数组元素个数
      for (int i = 0; i < n; i++) {
          cout << arr[i] << " ";
      }
      

(三)while循环

  1. 基本形式

    • while循环的形式是:

      while (循环条件) {
          // 循环体
      }
      
    • 例如:

      int i = 0;
      while (i < 5) {
          cout << i << " ";
          i++;
      }
      

      这段代码也会输出0 1 2 3 4while循环在每次循环开始前检查循环条件,如果条件为真,则执行循环体;如果条件为假,则退出循环。

  2. 应用场景

    • while循环适用于循环次数不确定的情况。例如,读取输入直到遇到特定条件:

      int num;
      cout << "Enter numbers (enter -1 to stop):" << endl;
      while (cin >> num && num != -1) {
          cout << "You entered: " << num << endl;
      }
      

(四)do - while循环

  1. 基本形式

    • do - while循环的形式是:

      do {
          // 循环体
      } while (循环条件);
      
    • 例如:

      int i = 0;
      do {
          cout << i << " ";
          i++;
      } while (i < 5);
      

      这段代码也会输出0 1 2 3 4do - while循环的特点是循环体至少执行一次,然后在每次循环结束时检查循环条件,如果条件为真,则继续执行循环;如果条件为假,则退出循环。

  2. 应用场景

    • do - while循环适用于需要至少执行一次操作的情况。例如,用户菜单的显示:

      char choice;
      do {
          cout << "Menu:" << endl;
          cout << "1. Option 1" << endl;
          cout << "2. Option 2" << endl;
          cout << "3. Exit" << endl;
          cout << "Enter your choice: ";
          cin >> choice;
          // 处理用户选择
      } while (choice != '3');
      

(五)循环控制语句

  1. break语句

    • break语句用于终止最近的循环(forwhiledo - while)或switch语句。例如:

      for (int i = 0; i < 10; i++) {
          if (i == 5) {
              break;  // 终止循环
          }
          cout << i << " ";
      }
      

      这段代码只会输出0 1 2 3 4,当i等于5时,break语句终止循环。

  2. continue语句

    • continue语句用于跳过当前循环的剩余部分,直接进入下一次循环。例如:

      for (int i = 0; i < 10; i++) {
          if (i % 2 == 1) {
              continue;  // 跳过奇数
          }
          cout << i << " ";
      }
      

      这段代码只会输出0 2 4 6 8,当i为奇数时,continue语句跳过当前循环的剩余部分,直接进入下一次循环。

通过这些控制结构,可以实现复杂的程序逻辑,控制程序的执行流程。


http://www.kler.cn/a/569732.html

相关文章:

  • PhotoShop2022进行布尔运算--学习日志
  • 网络安全词汇
  • 【新手向】从零开始学习Java(Day17)重写、重载与多态
  • java容器 LIst、set、Map
  • SpringCloud常用企业级别框架整合--上篇
  • Notepad++下载地址【亲测好用】
  • 【0005】Python变量详解
  • 25西医研究生复试面试问题汇总 西医专业知识问题很全! 西医试全流程攻略 西医考研复试调剂真题汇总
  • 【子网掩码计算器:Python + Tkinter 实现】
  • 机器学习数学基础:35.效度
  • Unix Domain Socket和eventfd
  • Minio搭建并在SpringBoot中使用完成用户头像的上传
  • 【机器学习】Logistic回归#1基于Scikit-Learn的简单Logistic回归
  • Element Plus中el-tree点击的节点字体变色加粗
  • chromadb向量数据库使用 (1)
  • 【漫话机器学习系列】114.逻辑 Sigmoid 函数
  • golang 内存对齐和填充规则
  • Redis Desktop Manager(Redis可视化工具)安装及使用详细教程
  • GPU运维常用命令
  • 云原生监控篇——全链路可观测性与AIOps实战