结构化程序基本结构

上传人:豆浆 文档编号:47565839 上传时间:2018-07-03 格式:PPT 页数:113 大小:879.50KB
返回 下载 相关 举报
结构化程序基本结构_第1页
第1页 / 共113页
结构化程序基本结构_第2页
第2页 / 共113页
结构化程序基本结构_第3页
第3页 / 共113页
结构化程序基本结构_第4页
第4页 / 共113页
结构化程序基本结构_第5页
第5页 / 共113页
点击查看更多>>
资源描述

《结构化程序基本结构》由会员分享,可在线阅读,更多相关《结构化程序基本结构(113页珍藏版)》请在金锄头文库上搜索。

1、第2章结构化程序基本结构2.1用顺序结构设计程序2.2用分支结构设计程序2.3用循环结构设计程序2.4联合使用3种基本结构处理复杂问题P252.1.12.1.1交换两个数据交换两个数据2.1.22.1.2设计菜单设计菜单2.1用顺序结构设计程序P26返回2.1.1交换两个数据P26在日常生活中经常需要进行交换在日常生活中经常需要进行交换 操作,如交换两杯水。操作,如交换两杯水。 同样在同样在C C语言中也经常需要交换语言中也经常需要交换 两个数据,例如,为了保证在两个数据,例如,为了保证在a a 中存放较大者,当中存放较大者,当b b比比a a大时,需大时,需 要交换变量要交换变量a a和和b

2、 b中的值。中的值。问问 题题 的的 提提 出出【实例实例2-12-1】编写程序,从键盘编写程序,从键盘 输入两个数,并交换它们的值。输入两个数,并交换它们的值。任任 务务 与与 分分 析析2.1.1交换两个数据P26程序代码程序代码#include main() int x,y,t;printf(“Input x and y:“);scanf(“%d%d“,printf(“before:x=%d,y=%dn“,x,y);t=x;x=y;y=t;printf(“after:x=%d,y=%dn“,x,y); 程序设计一般包括问题分析、 确定算法、确定数据结构。 归归 纳纳 分分 析析算法是用计

3、算机解决某个特定问题的 步骤,其特性: 有穷性 确定性 有效性 有0个或多个输入数据 有1个或多个输出数据算法是 最关键顺序结构流程图:顺序结构流程图: 归归 纳纳 分分 析析语句A语句B交换算法需要借用第交换算法需要借用第3 3个变量,如同交个变量,如同交 换两杯水需要借用第换两杯水需要借用第3 3个杯子一样。个杯子一样。 语句语句“ “t=x; x=y; y=t;”t=x; x=y; y=t;” 不能写成不能写成“ “x=y; y=x;”x=y; y=x;”归归 纳纳 分分 析析动动 手手 练练 习习2-12-1编写程序,从键盘输入编写程序,从键盘输入3 3个数分别个数分别 存放在存放在a

4、 a、b b和和c c中,并交换中,并交换a a和和b b 的值,再交换的值,再交换a a和和c c值。值。P272.1.2设计菜单P27问问 题题 的的 提提 出出日常生活中经常使用菜单,例如,日常生活中经常使用菜单,例如, 根据显示的菜单点播歌曲或节目、根据显示的菜单点播歌曲或节目、 在自动售票机上购票等,这些操作在自动售票机上购票等,这些操作 都是先给用户显示可选择的菜单。都是先给用户显示可选择的菜单。 显示菜单可用显示菜单可用printfprintf函数实现,输函数实现,输 入选项可用入选项可用scanfscanf函数实现。函数实现。 【实例实例2-22-2】编写程序,设计如编写程序,

5、设计如 下用户管理菜单。下用户管理菜单。任任 务务 与与 分分 析析2.1.2设计菜单P27|*| |-User management -| | 1-Add new user | | 2-Change user password | | 3-Show user information | | 4-exit | |*|操作步骤操作步骤#include main() 定义整型变量a显示菜单输入选项 显示选项 int a; printf(“|*|n“) ; printf(“|-User management- |n“); printf(“| 1-Add new user |n“); printf(“

6、| 2-Change user password|n“); printf(“| 3-Show user information|n“); printf(“| 4-Exit |n“); printf(“|*|n“) ; scanf(“%d“, printf(“Select %dn“,a);归归 纳纳 分分 析析(1 1)菜单用)菜单用printfprintf函数显示,界函数显示,界 面可根据个人爱好自由设计。面可根据个人爱好自由设计。 (2 2)选项可用整型,也可用字符型)选项可用整型,也可用字符型 。若用字符型,输入语句改为。若用字符型,输入语句改为 “ “scanf(“%c“,”);”或或

7、“ “c=c=getchargetchar();”();”归归 纳纳 分分 析析动动 手手 练练 习习2-22-2编写程序,设计如下购物管理菜单。编写程序,设计如下购物管理菜单。| |-Shopping management-| | b-banana | | a-apple | | w-watermelon | | e-exit | |_|P292.2.12.2.1处理两个分支问题处理两个分支问题 2.2.22.2.2处理一个分支又包含另一分支问题处理一个分支又包含另一分支问题2.2.32.2.3处理多个分支问题处理多个分支问题 2.2用分支结构设计程序P29返回在程序设计中,经常根据两个不同

8、的在程序设计中,经常根据两个不同的 条件去执行不同的语句组。例如,根条件去执行不同的语句组。例如,根 据小朋友的年龄判断能否入学。据小朋友的年龄判断能否入学。 这类问题一般通过这类问题一般通过ifif语句来实现。语句来实现。 问问 题题 的的 提提 出出2.2.1处理两个分支问题P29任任 务务 与与 分分 析析2.2.1处理两个分支问题P29【实例实例2-32-3】根据函数式根据函数式对输入的对输入的x x值,计算值,计算y y的值。的值。操作步骤操作步骤#include main() 定义整型变量x、a和b 定义双精度实型变量y 输入x的值if(x的值为2)显示错误信息else计算分子计算

9、分母计算y的值输出x和y的值 int x,a,b; double y; scanf(“%d“, if(x=2) printf(“Error!n“);a=x*x*x+2*x-5; b=x-2; y=(double)a/b; printf(“x=%d,y=%lfn“,x,y);关系运算符 、=、main() 定义整型变量x、a和b 定义双精度实型变量y 输入x的值if(x的值为2)显示错误信息else计算分子计算分母计算y的值输出x和y的值 int x,a,b; double y; scanf(“%d“, if(x=2) printf(“Error!n“);a=x*x*x+2*x-5; b=x-2

10、; y=(double)a/b; printf(“x=%d,y=%lfn“,x,y);缩进格式 x=2?是否a=x3+2x-5定义x,a,b,y输入x显示Error!b=x-2y=a/b输出x,y【实例实例2-42-4】输入学生平时成绩和期输入学生平时成绩和期 末成绩,计算总评成绩。总评成绩由末成绩,计算总评成绩。总评成绩由 平时成绩的平时成绩的40%40%和期末成绩的和期末成绩的 60%60%产生。如果学生在该门课的竞产生。如果学生在该门课的竞 赛中获奖,则平时成绩附加赛中获奖,则平时成绩附加1010分,分, 期末成绩附加期末成绩附加1515分。分。P31操作步骤操作步骤#include m

11、ain() 定义整型变量a和b 定义字符型变量ch 定义双精度实型变量total 输入a和b的值 输入ch的值if(ch的值为“y”或“Y”)平时成绩加10分 期末成绩加15分计算总评成绩输出平时成绩、期末成绩和总评成绩 int a,b; char ch; double total; scanf(“%d%d“, scanf(“ %c“, if(ch=y | ch=Y) a=a+10;b=b+15; total=a*0.4+b*0.6; printf(“%d,%d,%.2lfn“,a,b,total);逻辑运算符 char ch; double total; scanf(“%d%d“, scan

12、f(“ %c“,if(ch的值为“y”或“Y”) if(平时成绩90)将平时成绩按100处理else平时成绩加10分 if(期末成绩85)将期末成绩按100处理else期末成绩加15分计算总评成绩输出平时成绩、期末成绩和总评成绩 if(ch=y | ch=Y) a90 a=100;a=a+10; b85 b=100;b=b+15;total=a*0.4+b*0.6;printf(“%d,%d,%.2lfn“,a,b,total) ;嵌套的if语句ch=y或Y?是否a=100a90?是a增10否b=100b85?是b增15否【实例实例2-62-6】编写程序,求下面分段编写程序,求下面分段 函数的

13、值,要求函数的值,要求x x的值从键盘输入。的值从键盘输入。x2-5 (1x main() 定义双精度实型变量x和y 输入x的值 if(x main() if(x main() 定义整型变量a显示用户管理菜单等待输入选项操作步骤操作步骤switch(选项) 选项1:1-Add new user选项2:2-Change user password选项3:3-Show user information选项4:4-Exit否则: Error! 操作步骤操作步骤 #include main() 定义整型变量a显示用户管理菜单等待输入选项printf(“|*|n“); printf(“|-User ma

14、nagement-|n“); printf(“| 1-Add new user |n“); printf(“| 2-Change user password |n“); printf(“| 3-Show user information |n“); printf(“| 4-Exit |n“); printf(“|*|n“);int a;scanf(“%d“,操作步骤操作步骤switch(选项) 选项1:1-Add new user选项2:2-Change user password选项3:3-Show user information选项4:4-Exit否则: Error! switch(a) case 1:printf(“1-Add new usern“);case 2:printf(“2-Change user passwordn“);break;break;case 3:printf(“3-Show user informationn“); break; case 4:printf(“4-Exitn“); break; default: printf

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 毕业论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号