结构化程序设计(3[1].1-3.3).ppt_第1页
结构化程序设计(3[1].1-3.3).ppt_第2页
结构化程序设计(3[1].1-3.3).ppt_第3页
结构化程序设计(3[1].1-3.3).ppt_第4页
结构化程序设计(3[1].1-3.3).ppt_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

第三章 结构化程序设计 3.1 c+语言输入输出流 3.2 结构化程序设计概述 3.3 顺序结构程序设计 3.4 选择结构程序设计 3.5 循环结构程序设计 3.6 程序设计举例 在c+中,将数据从一个对象到另一个对象的流动 抽象为“流”。从流中获取数据的操作称为提取操作,向 流中添加数据的操作称为插入操作。数据的输入输出是 通过输入输出i/o流来实现的。 c+提供了i/o流机制,完成对输入输出的操作管 理,包括流输入和流输出。cin和cout是预定义的流对象 。cin用来处理标准输入,即键盘输入;cout用来处理标 准输出,即屏幕输出。由于cin和cout被定义在 “iostream.h”头文件中,在使用它们之前,要用预编译 命令“#include”将“iostream.h”(即所使用的头文件) 包括到用户的源程序中。即源文件中需有: #include 叫做输入/输出预说明。 3.1 c+语言输入输出流 ff1.1.无格式输出无格式输出coutcout “”是预定义的提取符,使用“”从cin输入流 中提取数据,便可实现键盘输入。格式如下: cin 变量1 变量2 变量n ; 也可写成多行: cin 变量1 变量2 变量n ; 例3.3 无格式的输入cin、输出cout。 float f; long l; cinfl; 3.1.1 c+3.1.1 c+语言无格式输入输出语言无格式输入输出 f按特定的格式进行输入输出,例如对 double pi=3.1415; 如果希望显示的是3.14,即保留两位小数,且域 宽为5个字符并换行,此时如用下面的语句则不能完成 。 cout预处理命令。常用控制符如表3.1所 示。 3.1.2 c+3.1.2 c+语言格式输入输出语言格式输入输出 表3.1 i/o流的常用控制符 控 制 符 描 述 endl dec oct hex setiosflags(ios:uppercase) resetiosflags(ios:uppercase) setw(n) setfill(*) setprecision(n) setiosflags(ios:fixed) setiosflags(ios:scientific) setiosflags(ios:left) setiosflags(ios:right) setiosflags(ios:showpoint) setiosflags(ios:showpos) 插入换换行符并刷新流 数值值数据采用十进进制表示(默认认) 数值值数据采用八进进制表示 数值值数据采用十六进进制表示 设设置16进进制数大写输输出 取消16进进制数大写输输出(默认认) 设设域宽为宽为 n个字符(默认实宽认实宽 ) 设设填充字符为为* (默认认空格) 设显设显 示小数精度为为n位(默认认6位) 用定点方式表示实实数 用科学计计数法表示浮点数 左对齐对齐 (默认认) 右对齐对齐 强制显显示小数点和无效0 强制显显示正数符号 3.2 结构化程序设计概述 1. 结构化程序的基本结 构 2. 结构化程序的设计方 法 3. 结构化程序的组织结 构 结构化程序的基本结构 顺序结构顺序结构:是一种最简单、最基本的结构,在顺序 结构内,各块按照它们出现的先后顺序依次执行。 它有一个入口,一个出口。 选择结构选择结构:选择结构中包含一个判断框,根据给定 的条件是否成立而选择执行,它也只具有一个入口 和一个出口。 循环结构循环结构:循环结构又称重复结构,是指在一定条 件下反复执行一个程序块的结构。循环结构也是只 有一个入口,一个出口。 结构化程序的设计方法 结构化程序主要采用自上而下、逐 步细化的设计方法,即先全局后局部、先整 体后细节、先抽象后具体的设计方法。由于 实际问题往往比较复杂,为了提高效率,在 进行结构化程序设计时,常常伴随着使用关 键部分优先考虑的设计方法。 结构化程序的组织结构 模块a1 模块a1 (小功能) 模块a2 模块a2 (小功能) 模块a(较小功能)模块c c1c2c3c4 模块b b1b2 主模块(主功能) 图3.1 程序模块化示意图 a b a b 图3.2 顺序结构 示意图 3.3 顺序结构程序设计 1.顺序结构:顺序结构是最简单、最基本的结构 ,在顺序结构内,顺序执行各个语句。图3.2表示 了一个顺序结构形式。 例3.12 【例3.12】顺序结构程序举例(求表达式值) #include void main( ) int a,b,result; couta; cinb; result=3*a-2*b+1; cout1;n-) s=s+1/n; cout1;n-) c) s=s+1/n; d) cout=3 ),即从第3个数开始,每个数等于前2个数之和。 1 5 34 233 1597 10946 75025 514229 3524578 24157817 1 8 55 377 2584 17711 121393 832040 5702887 39088169 2 13 89 610 4181 28657 196418 1346269 9227465 63245986 3 21 144 987 6765 46368 317811 2178309 14930352 102334155 新新f 1f 1f 2f 2f 1f 1新新f 2f 2 #include #include void main( ) int f1=1,f2=1; /*定义并初始化数列的头2个数*/ int i; for(i=1; i void main( ) long int sum, fact , n, i; sum=0; for(n=1;n1e91e9时最小的时最小的n n 第三章习题第三章习题5(p54)5(p54)求自然对数求自然对数e e的近似值的近似值 求自然对数e的近似值, 要求使其误差小于10 - 6,近似公式为: 题目分析: (1) 依据近似公式,应该先求第i项的阶乘,再将各项阶 乘的倒数进行累加。因此程序中设计两个变量sum和fact分别 作为累加器和累乘器。另外,要考虑数据的精度问题。为防止 项数过大时阶乘溢出,定义fact为double类型;sum也定义为 double类型,是为满足题目的求值精度要求。 (2)如何判断循环结束。由于循环次数不确定,所以用 while循环好一些。 第三章习题第三章习题5(p54)5(p54)求自然对数求自然对数e e的近似值的近似值 #include #include void main( ) int i=1; double sum=1, fact=1; , fact=1; while( 1/fact=0.000001) sum = sum + 1/fact; i+; fact = fact * i; cout void main( ) double day=0.01,sumb=0.0,summ=10.0; for(int i=1;i=30;i+) sumb+=day; day*=2; sumb/=10000.0; summ*=30; cout“这一个月陌生人给了百万富翁的钱为:“ summ“万

温馨提示

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

评论

0/150

提交评论