第八讲:顺序结构程序设计举例_第1页
第八讲:顺序结构程序设计举例_第2页
第八讲:顺序结构程序设计举例_第3页
第八讲:顺序结构程序设计举例_第4页
第八讲:顺序结构程序设计举例_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第八讲 顺序结构程序设计举例第八讲 顺序结构程序设计举例 所谓的顺序结构就是从头到尾一步步按部就班的执行下去 不会中途出现 放弃或者跳转的情况 利用这样的思想实现的程序我们称之为顺序结构程序 在前面学习了许多知识点之后我们就可以开始最基本的顺序结构程序的设计了 8 1 顺序结构 所谓的顺序结构可以用一个成语形容叫 按部就班 任何事情都遵循着先 做什么 再做什么的思想进行 这样的结构是我们日常生活中最常见的结构 在顺序结构中当一件事情开始后就再也不会停下 直到最后一步完成 整件事 情做完为止 中途不会有放弃或者选择性放弃的过程 8 2 经典算法 数据交换 很多语言的程序设计大多数都是从数据交换这个最经典的算法开始的 所 谓的数据交换是将两个同等性质的物质进行对换 例如有两个整数 a 和 b a 1 b 2 在交换之后 使得 a 2 b 1 交换的算法是由于变量的性质所决定的 由于变量在同一时刻只能够存储 一个数据 因此我们不能直接使用 a b b a 的方式对数据进行交换 此时我 们就需要想出一些方法 帮助程序实现最正确的交换 对于任何的数据我们都可以采用 第三变量法 进行交换 所谓的 第三 变量法 即借助第三个变量实现对数据的交换 例如对 a 和 b 的数据交换 就 有 t a a b b t 接下来我们将通过如下示意图对 第三变量法 进行简单的介绍 Step1 Step3 t a 1 1 2 2 1 Step2 b 在程序未执行交换前 a 1 b 2 在执行交换算法的过程中 首先执行 t a 一句 将 a 中的值 1 转移到 t 中暂存 接下来执行 a b 一句 将 b 之 中的值 2 存放到变量 a 中 a 中原先的 1 被覆盖 最后执行 b t 一句 将 t 中所暂存的原先 a 的值 1 存放到变量 b 中 b 中原有的 2 被覆盖 此时 a 2 b 1 t 1 当然 读者也可以使用先暂存 b 的方式对 a 和 b 之中的数据进行交换 下 面给出该案例的完整代码 例例 使用使用 第三变量法第三变量法 交换交换 a 和和 b 之中的数据 之中的数据 include using namespace std void main int a 1 b 2 int t 定义负责暂存数据的第三变量 cout 交换前 a a b b endl 请注意输出变量 的值时直接写变量名不要写诸如 a 的形式 此处开始交换算法 t a a b b t 此处交换算法结束 cout 交换后 a a b b endl 当然对于一些数值型的数据 所谓的数值型数据是指单纯的数字或者 ASCII 码 我们也可以直接采用 算数交换法 进行交换 所谓的算数交换法 是指利用数值型数据可进行算术运算的特性进行交换 以上例 a 与 b 的值交换 为例 则有 a a b b a b a a b 假设 a 1 b 2 首先执行 a a b 此时 a a b 1 2 3 而 b 2 接下来继续执行 b a b 此时 b a b 3 2 1 而 a 3 最后执行 a a b 此时 a a b 3 1 2 而 b 1 至此 数据交换完成 使用算数交换法对数值型数据交换的完整代码如下 include using namespace std void main int a 1 b 2 cout 交换前 a a b b endl 此处开始交换算法 a a b b a b a a b 此处交换算法结束 cout 交换后 a a b b endl 8 3 学会使用公式解决问题 有些程序我们并不需要自己去想解决方案 我们可以通过一些既有的公式 完成任务 这些公式是已经在数学学科之中进行推导而验证的真理 程序员只 需要将这些公式利用程序设计语言进行表示即可完成相应的任务 下面将举例 说明 例例 已知有某一元二次方程已知有某一元二次方程 ax2 bx c 0 请利用键盘输入 请利用键盘输入 a b c 的值 并的值 并 求出两个实数根求出两个实数根 x1 与与 x2 默认 默认 0 include include using namespace std void main double a b c double x1 x2 double deal 由于变量命名规则限制 因此使用单词 deal 代替 cout 请输入 a b c 的值 a b c deal b b 4 a c 求出 的值 x1 b sqrt deal 2 a 利用求根法求 x1 x2 b sqrt deal 2 a 利用求根法求 x2 cout x1 x1 x2 x2 endl 程序运行效果如下 上述程序中使用经典的一元二次方程求根法进行求解方程 这是一种最直 观也是最容易理解的方法 二元一次方程求根法公式为 8 4 简单的字符处理 在前面的学习中 我们学习到了字符型数据 在 C C 语言中 字符型数 据使用 ASCII 码存储 即每个字符都可以得到一个具体的整数 在程序中我们 通常可以利用这些 ASCII 码对字符进行简单的处理 例例 从键盘上输入一个字符 并输出其大写形式 从键盘上输入一个字符 并输出其大写形式 include using namespace std void main char c char upper cout 请输入一个字符 c getchar 可以使用 getchar 函数获取一个字符 upper c 32 大写字母与小写字母之间相差 32 cout 字符 c 的大写形式为 upper endl 程序运行效果如下 当然 上述的程序还是有一些问题的 上述的程序无论输入的是何种数据 都会进行减 32 的操作 而事实上倘若用户输入的为大写字母 就应该原封不动 的输出 而该程序的运行结果则为 因此我们需要对程序作出一些细微的修改 将其修改为若用户输入的是大 写字母则原样输出 输出的是小写字母则进行转换操作 这一点我们可以通过 条件运算符实现 修改后的程序如下 include include using namespace std void main char c char upper cout 请输入一个字符 c

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论