### 合肥工业大学计算机专业实验报告知识点总结
#### 实验一:面向过程的简单程序设计
**1. 综合程序设计案例**
本案例通过一个综合性的程序来演示如何使用`switch-case`语句实现不同的数学函数计算。该程序允许用户输入一个题目编号以及相关的数值参数,然后根据编号执行相应的数学计算。
- **程序结构分析**
- 使用`switch-case`语句来选择具体的计算逻辑。
- 使用标准库函数如`sin`, `cos`, `tan`, `sqrt`, `exp`, `log10`, `abs`等进行数学运算。
- 输入处理部分较为灵活,能够接受用户输入的题目编号及相应的参数值。
- **案例详解**
- **Case 1**: 计算表达式`x + (97 + 98) / (99 - 100)`。
- **Case 2**: 计算表达式`\sqrt{1 + \frac{1}{x + \frac{1}{x}}}`。
- **Case 3**: 计算表达式`\sin(x) + \cos(x) + \frac{1}{\tan(x)}`。
- **Case 4**: 计算表达式`e^{x+y} + e^{x-y}`。
- **Case 5**: 计算表达式`\log_{10}(1 + \sqrt{1 + x^2})`。
- **Case 6**: 计算表达式`|x^2 - y^2| + int(x - y)`。
- 如果输入的题目编号不在1-6之间,则提示用户重新输入。
**2. 字符与数值处理**
这部分包含两个子任务:
- **任务 2.1**: 将小写字母转换为大写字母。
- 采用取模运算确定输入字符是否为小写字母。
- 通过ASCII码值的差异(32)实现大小写转换。
- **任务 2.2**: 判断一个数是否大于1000或小于1e3。
- 使用关系运算符进行判断。
**3. 数学问题解决**
这部分包括三个子任务:
- **任务 3.1**: 根据圆的半径求其面积。
- 使用预定义宏`pi`来表示圆周率π。
- 公式:`area = pi * r * r`。
- **任务 3.3**: 逆序输出一个四位数的各个位上的数字。
- 使用取模和整数除法操作逐位取出数字。
- 按照从个位到千位的顺序输出。
#### 实验二:控制结构程序设计
**1. 控制结构的应用**
这部分通过几个实例展示了控制结构的设计方法。
- **案例 1.1**: 求解两数的最大公约数。
- 通过辗转相除法实现最大公约数的计算。
- **案例 1.2**: 求两个数相除的商和余数。
- 不使用传统的除法和求余运算,而是采用辗转相减法。
- **案例 1.3**: 输出特定字符串序列。
- 根据变量`i`的奇偶性输出字符`*`或`#`。
- **案例 1.4**: 输出特定格式的字符串。
- 通过字符串拼接实现输出格式化。
**2. 复杂控制结构示例**
- **案例 2.1**: 根据输入数值的不同区间,执行不同的数学运算。
- 使用`if-else`语句结合条件判断。
- **案例 2.2**:
- **2.2.1**: 求1至7的阶乘之和。
- 采用嵌套循环结构计算每个数的阶乘并累加。
- **2.2.2**: 计算特定函数的值。
- 使用递归函数计算阶乘。
- 应用数学公式进行计算。
- **案例 2.3**: 特殊格式输出。
- 使用标准库中的`iomanip`库来格式化输出。
### 总结
通过上述实验案例的学习,学生不仅能够掌握C++语言的基本语法,还能深入了解面向过程编程思想下的控制结构设计方法。这些实验涵盖了基础的输入输出操作、简单的数学计算、字符处理以及更为复杂的控制结构应用。这对于初学者来说是非常宝贵的学习资料。