跳转到内容

编程基础/实践:条件运算符和递归

来自维基教科书,开放世界中的开放书籍

支持“编程基础 - 使用 C++ 的模块化结构化方法”系列/教科书中本章的课后题、练习、问题等。

学习目标

[编辑 | 编辑源代码]

在记忆构建活动、练习、实验作业、问题或计时测验/考试中,学生应能以 100% 的准确率达到以下目标。

  1. 定义与本章相关模块中列出的定义中的术语。
  2. 理解条件运算符及其工作原理。
  3. 理解递归作为一种解决问题的技术。
  4. 在可行的情况下,能够将 C++ 源代码从条件表达式转换为 if then else,反之亦然。

回答以下陈述为真或假

[编辑 | 编辑源代码]
  1. 条件表达式类似于 case 结构。
  2. 条件运算符是一个双目运算符,包含三个操作数。
  3. 递归是实现重复算法的一种方法。
  4. 递归总是优于迭代方法来解决重复问题。
  5. 阶乘通常用迭代方法演示。
答案

目前没有。

实验作业

[编辑 | 编辑源代码]

为第17章文件创建文件夹或子文件夹

[编辑 | 编辑源代码]

根据您的编译器/IDE,您应该决定将源代码文件下载并存储在何处进行处理。谨慎起见,您应在下载源代码文件之前根据需要创建这些文件夹。对于 Bloodshed Dev-C++ 5 编译器/IDE,建议的子文件夹名称为

  • 名为 Cpp_Source_Code_Files 的文件夹中的 Chapter_17

如果您尚未创建,请根据需要创建文件夹和/或子文件夹。

下载实验文件

[编辑 | 编辑源代码]

将以下文件下载并存储到您的存储设备中的相应文件夹中。您可能需要右键单击链接并选择“目标另存为”才能下载文件。

从 Connexions 下载: Lab_17a.cpp

详细的实验说明

[编辑 | 编辑源代码]

仔细阅读并遵循以下说明,并按列表顺序执行步骤。

  • 编译并运行 Lab_17a.cpp 源代码文件。了解其工作原理。
  • 复制源代码文件 Lab_17a.cpp 并将其命名为 Lab_17b.cpp。
  • 将使用 if then else 的代码转换为条件表达式。
  • 将使用条件表达式的代码转换为 if then else。
  • 构建(编译并运行)您的程序。
  • 成功编写完程序后,如果您是在大学学习此课程,请按照教授/导师的指示提交以评分。

问题 17a – 说明

[编辑 | 编辑源代码]

使用正确的 C++ 语法,将以下 if then else 转换为条件表达式。

示例 1:if then else

[编辑 | 编辑源代码]
if (x == y)
{
    z = 14;
}
else
{
    z++;
}

问题 17b – 说明

[编辑 | 编辑源代码]

使用正确的 C++ 语法,将以下条件表达式转换为 if then else。

示例 2:条件运算符

[编辑 | 编辑源代码]
answer = y < z ? 47 : 92;
华夏公益教科书