第二轮上机结构化程序基本结构PPT课件下载推荐.ppt
《第二轮上机结构化程序基本结构PPT课件下载推荐.ppt》由会员分享,可在线阅读,更多相关《第二轮上机结构化程序基本结构PPT课件下载推荐.ppt(113页珍藏版)》请在冰豆网上搜索。
x,&
y);
printf(before:
x=%d,y=%dn,x,y);
t=x;
x=y;
y=t;
printf(after:
程序设计一般包括问题分析、程序设计一般包括问题分析、确定确定算法算法、确定数据结构。
、确定数据结构。
归归纳纳分分析析算法是用计算机解决某个特定问题的算法是用计算机解决某个特定问题的步骤,其特性:
步骤,其特性:
有穷性有穷性确定性确定性有效性有效性有有0个或多个输入数据个或多个输入数据有有1个或多个输出数据个或多个输出数据算法是算法是最关键最关键顺序结构流程图:
顺序结构流程图:
归归纳纳分分析析语句语句A语句语句B交换算法需要借用第交换算法需要借用第3个变量,如同交个变量,如同交换两杯水需要借用第换两杯水需要借用第3个杯子一样。
个杯子一样。
语句语句“t=x;
”不能写成不能写成“x=y;
y=x;
”归归纳纳分分析析动动手手练练习习2-1编写程序,从键盘输入编写程序,从键盘输入3个数分别个数分别存放在存放在a、b和和c中,并交换中,并交换a和和b的值,再交换的值,再交换a和和c值。
值。
P272.1.2设计菜单设计菜单P27问问题题的的提提出出日常生活中经常使用菜单,例如,日常生活中经常使用菜单,例如,根据显示的菜单点播歌曲或节目、根据显示的菜单点播歌曲或节目、在自动售票机上购票等,这些操作在自动售票机上购票等,这些操作都是先给用户显示可选择的菜单。
都是先给用户显示可选择的菜单。
显示菜单可用显示菜单可用printf函数实现,输函数实现,输入选项可用入选项可用scanf函数实现。
函数实现。
【实例【实例2-2】编写程序,设计如】编写程序,设计如下用户管理菜单。
下用户管理菜单。
任任务务与与分分析析2.1.2设计菜单设计菜单P27|*|-Usermanagement-|1-Addnewuser|2-Changeuserpassword|3-Showuserinformation|4-exit|*|操作步骤操作步骤#includemain()定义整型变量定义整型变量a显示菜单显示菜单输入选项输入选项显示选项显示选项inta;
printf(|*|n);
printf(|-Usermanagement-|n);
printf(|1-Addnewuser|n);
printf(|2-Changeuserpassword|n);
printf(|3-Showuserinformation|n);
printf(|4-Exit|n);
scanf(%d,&
a);
printf(Select%dn,a);
归归纳纳分分析析
(1)菜单用)菜单用printf函数显示,界函数显示,界面可根据个人爱好自由设计。
面可根据个人爱好自由设计。
(2)选项可用整型,也可用字符型。
)选项可用整型,也可用字符型。
若用字符型,输入语句改为若用字符型,输入语句改为“scanf(%c,&
”或或“c=getchar();
”归归纳纳分分析析动动手手练练习习2-2编写程序,设计如下购物管理菜单。
编写程序,设计如下购物管理菜单。
|-Shoppingmanagement-|b-banana|a-apple|w-watermelon|e-exit|_|P292.2.1处理两个分支问题处理两个分支问题2.2.2处理一个分支又包含另一分支问题处理一个分支又包含另一分支问题2.2.3处理多个分支问题处理多个分支问题2.2用分支结构设计程序用分支结构设计程序P29返回返回在程序设计中,经常根据两个不同的在程序设计中,经常根据两个不同的条件去执行不同的语句组。
例如,根条件去执行不同的语句组。
例如,根据小朋友的年龄判断能否入学。
据小朋友的年龄判断能否入学。
这类问题一般通过这类问题一般通过if语句来实现。
语句来实现。
问问题题的的提提出出2.2.1处理两个分支问题处理两个分支问题P29任任务务与与分分析析2.2.1处理两个分支问题处理两个分支问题P29【实例【实例2-3】根据函数式】根据函数式对输入的对输入的x值,计算值,计算y的值。
的值。
操作步骤操作步骤#includemain()定义整型变量定义整型变量x、a和和b定义双精度实型变量定义双精度实型变量y输入输入x的值的值if(x的值为的值为2)显示错误信息显示错误信息else计算分子计算分子计算分母计算分母计算计算y的值的值输出输出x和和y的值的值intx,a,b;
doubley;
x);
if(x=2)printf(Error!
nprintf(Error!
n);
a=x*x*x+2*x-5;
b=x-2;
y=(double)a/b;
printf(x=%d,y=%lfn,x,y);
关系运算符关系运算符、=、=、=、!
=强制类型转换强制类型转换操作步骤操作步骤intall;
#includemain()定义整型变量定义整型变量x、a和和b定义双精度实型变量定义双精度实型变量y输入输入x的值的值if(x的值为的值为2)显示错误信息显示错误信息else计算分子计算分子计算分母计算分母计算计算y的值的值输出输出x和和y的值的值intx,a,b;
缩进格式缩进格式x=2?
是是否否a=x3+2x-5定义定义x,a,b,y输入输入x显示显示Error!
b=x-2y=a/b输出输出x,y【实例【实例2-4】输入学生平时成绩和期】输入学生平时成绩和期末成绩,计算总评成绩。
总评成绩由末成绩,计算总评成绩。
总评成绩由平时成绩的平时成绩的40%和期末成绩的和期末成绩的60%产生。
如果学生在该门课的竞产生。
如果学生在该门课的竞赛中获奖,则平时成绩附加赛中获奖,则平时成绩附加10分,分,期末成绩附加期末成绩附加15分。
分。
P31操作步骤操作步骤#includemain()定义整型变量定义整型变量a和和b定义字符型变量定义字符型变量ch定义双精度实型变量定义双精度实型变量total输入输入a和和b的值的值输入输入ch的值的值if(ch的值为的值为“y”或或“Y”)平时成绩加平时成绩加10分分期末成绩加期末成绩加15分分计算总评成绩计算总评成绩输出平时成绩、期末成绩和总评成绩输出平时成绩、期末成绩和总评成绩inta,b;
charch;
doubletotal;
a,&
b);
scanf(%c,&
ch);
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);
逻辑运算符逻辑运算符&
|!
ch=y或或Y?
是是否否a增增10定义定义a,b,ch,total输入输入a,b,chb增增15total=a*0.4+b*0.6输出输出a,b,total带带带带elseelse的的的的ifif语句格式:
语句格式:
if(if(表达式表达式表达式表达式)语句语句语句语句i1i1语句语句语句语句i2i2语句语句语句语句ininelseelse语句语句语句语句e1e1语句语句语句语句e2e2语句语句语句语句enen归归纳纳分分析析归归纳纳分分析析假假真真表达式表达式语句语句i1语句语句i2语句语句in语句语句e1语句语句e2语句语句en不带不带不带不带elseelse的的的的ifif语句格式:
if(if(表达式表达式表达式表达式)语句语句语句语句i1i1语句语句语句语句i2i2语句语句语句语句inin归归纳纳分分析析假假真真表达式表达式语句语句i1语句语句i2语句语句in动动手手练练习习2-3根据销售员一个月的销售额提成。
如根据销售员一个月的销售额提成。
如果销售额为两万元以上,则提成销售果销售额为两万元以上,则提成销售额的额的3%,否则,仅提成,否则,仅提成500元。
假元。
假设某销售员的基础工资为设某销售员的基础工资为1500元,元,输入该销售员一个月的销售额,输出输入该销售员一个月的销售额,输出他的实际工资。
他的实际工资。
P34动动手手练练习习2-4根据职工的情况调整工资。
如果工龄根据职工的情况调整工资。
如果工龄为为20年以上,但基本工资低于年以上,但基本工资低于800元,元,则基本工资补则基本工资补50元。
输入一个职工的元。
输入一个职工的工龄和基本工资,输出该职工的工龄工龄和基本工资,输出该职工的工龄和调整后的基本工资。
和调整后的基本工资。
P34根据学生的性别判断该学生是根据学生的性别判断该学生是否男生,对于男生,再判断是否男生,对于男生,再判断是否大于否大于20岁。
此类问题需要岁。
此类问题需要在在if语句中又包含另一个语句中又包含另一个if语语句。
句。
问问题题的的提提出出2.2.2处处理理一一个个分分支支又又包含另一分支问题包含另一分支问题P34【实例【实例2-5】改写实例】改写实例2-4,输入学生平,输入学生平时成绩和期末成绩,计算总评成绩。
总时成绩和期末成绩,计算总评成绩。
总评成绩由平时成绩的评成绩由平时成绩的40%和期末成绩的和期末成绩的60%产生。
如果学生在该门课的竞赛中产生。
如果学生在该门课的竞赛中获奖,则对于平时成绩高于获奖,则对于平时成绩高于90分学生,分学生,平时成绩按平时成绩按100分处理,否则附加分处理,否则附加10分,分,对于期末成绩高于对于期末成绩高于85分的学生,期末成分的学生,期末成绩按绩按100分处理,否则附加分处理,否则附加15分。
任任务务与与分分析析2.2.2处处理理一一个个分分支支又又包含另一分支问题包含另一分支问题P34操作步骤操作步骤#includemain()定义整型变量定义整型变量a和和b定义字符型变量定义字符型变量ch定义双精度实型变量定义双精度实型变量total输入输入a和和b的值的值输入输入ch的值的值if(ch的值为的值为“y”或或“Y”)if(平时成绩平时成绩90)将平时成绩按将平时成绩按100处理处理else平时成绩加平时成绩加10分分if(期末成绩期末成绩85)将期末成绩按将期末成绩按100处理处理else期末成绩加期末成绩加15分分计算总评成绩计算总评成绩输出平时成绩、期末成绩和总评成绩输出平时成绩、期末成绩和总评成绩操作步骤操作步骤#includemain()定义整型变量定义整型变量a和和b定义字符型变量定义字符型变量ch定义双精度实型变量定义双精度实型变量total输入输入a和和b的值的值输入输入ch的值的值i