过程控制1概述教学内容_第1页
过程控制1概述教学内容_第2页
过程控制1概述教学内容_第3页
过程控制1概述教学内容_第4页
过程控制1概述教学内容_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

1、n过程控制1概述引导实验引导实验任务1: 打印华氏-摄氏温度换算表任务1 打印华氏-摄氏温度换算表n任务描述华氏-摄氏温度换算表可以帮助大家很快地找到对应温度的参考。在任务一的基础上完成求解一定区间值范围内的华氏温度所对应的摄氏温度,以对应表的形式输出到屏幕上。任务解决n要解决更复杂的问题,就要学会运用程序的控制流程,程序的控制流程包括三种基本结构:顺序结构,循环结构和选择结构。 1求解81F-85F区间的温度换算表(1)问题分析问题分析 本任务要在一个程序中计算并输出81F-85F共5个华氏温度的所对应摄氏温度,可使用顺序结构依次打印每一组结果。 (2)算法设计算法设计第一步:计算华氏81度

2、所对应的摄氏温度第二步:输出华氏81度和对应的摄氏温度第三步:计算华氏82度所对应的摄氏温度第四步:输出华氏82度和对应的摄氏温度。第九步:计算华氏85度所对应的摄氏温度第十步:输出华氏85度和对应的摄氏温度C程序的执行是从main函数中第一条语句开始执行,顺序地执行到最后一句语句,所以说C程序的主基调就是顺序结构,顺序结构的代表语句就是本例所用到的标准输入输出语句和赋值语句1求解81F-85F区间的温度换算表(续)(3)程序编写程序编写n数据的表示数据的表示变量摄氏温度的类型选择double类型n程序实现语句程序实现语句【sample04_01.cppsample04_01.cpp】#inc

3、lude int main() double centigrade; printf(%5s%10sn,华氏,摄氏); centigrade=5.0/9.0*(81-32); printf(%5d%10.2fn,81,centigrade); centigrade=5.0/9.0*(82-32); printf(%5d%10.2fn,82,centigrade); centigrade=5.0/9.0*(83-32); printf(%5d%10.2fn,83,centigrade); centigrade=5.0/9.0*(84-32); printf(%5d%10.2fn,84,centig

4、rade); centigrade=5.0/9.0*(85-32); printf(%5d%10.2fn,85,centigrade);return 0;1求解81F-85F区间的温度换算表(续)(4)调试单步执行nerror04-01.cpp2.求解任意区间lower -upper 区间的温度换算表n(1)问题分析n顺序结构构建的程序有着局限性,一是指定区间不一定能满足查询需求,二是如果区间跨度较大,程序中顺序语句序列就太长了。现在就要突破常量区间,使用两个变量来表示可变区间,区间的下限用lower表示,区间的上限用变量upper表示,打印lower -upper 区间的华氏-摄氏温度换算表

5、,在运行时,变量lower和upper赋予不同的值,得到可变的区间计算值。n由于变量lower和upper表示的区间是可变的,无法在程序运行前明确区间中有几个温度值,所以顺序结构无法完成问题的求解,在此,需要使用循环结构来表示可变区间中重复求解温度的过程。2.求解任意区间lower -upper 区间的温度换算表(续)(2)算法设计修改顺序算法 第一步:fahrenheit=81 第二步:计算fahrenheit所对应的摄氏温度centigrade 第三步:输出fahrenheit和centigrade 第四步:fahrenheit= fahrenheit+1 第五步:计算fahrenheit

6、所对应的摄氏温度centigrade 第六步:输出fahrenheit和centigrade 第七步:fahrenheit= fahrenheit+1 第八步:计算fahrenheit所对应的摄氏温度centigrade 第九步:输出fahrenheit和centigrade 第十步:fahrenheit= fahrenheit+1 第十一步:计算fahrenheit所对应的摄氏温度centigrade 第十二步:输出fahrenheit和centigrade 第十三步:fahrenheit= fahrenheit+1 第十四步:计算fahrenheit所对应的摄氏温度centigrade 第

7、十五步:输出fahrenheit和centigrade2.求解任意区间lower -upper 区间的温度换算表(续)(2)算法设计使用循环结构改造1.输入lower和upper2.循环fahrenheit从lower到upper,步长每次增 1 (1)计算fahrenheit所对应的摄氏温度centigrade (2)输出fahrenheit和centigrade2.求解任意区间lower -upper 区间的温度换算表(续)(3)程序编写程序编写for(表达式1;表达式2;表达式3)循环体语句for(fahrenheit=lower;fahrenheit=upper;fahrenheit+

8、) centigrade=5.0/9.0*(fahrenheit-32); printf(%5d%10.2fn,fahrenheit,centigrade); 2.求解任意区间lower -upper 区间的温度换算表(续)【sample04_02.cppsample04_02.cpp】#include int main() int lower,upper; int fahrenheit; double centigrade; /输入区间上下限 printf(lower:); scanf(%d,&lower); printf(upper:); scanf(%d,&upper);

9、 /打印区间温度换算表printf(%5s%10sn,华氏,摄氏);for(fahrenheit=lower;fahrenheitupperlower小于0可以表示为:lower0运算符运算符=!=名称名称小于小于等于大于大于等于等于不等于3检查lower与upper的合法性(续)n复合条件判断逻辑运算符可以表示多个条件的连接运算,C语言提供了与数学中相对应的3种逻辑运算符。两个条件同时成立为真,用“与”操作符连接;两个条件其一成立为真,用“或”操作符连接;“非”操作符对条件表达式的结果取反。例如lower小于0或lower大于120可以表示为:n(lower120)运算符运算符!&|

10、名称名称非与或3检查lower与upper的合法性(续)n选择语句if-elseif(表达式) 语句1;else 语句2;3检查lower与upper的合法性(续)【sample04_03.cppsample04_03.cpp】#include int main() int lower,upper; int fahrenheit;double centigrade; /输入区间上下限printf(lower:);scanf(%d,&lower);printf(upper:);scanf(%d,&upper);/输入数据的合法性检查if(lowerupper)printf(low

11、er应该小于uppern);return 0; if(lower120)printf(lower应该在0和120之间n);return 0;if(upper120)printf(upper应该在0和120之间n);return 0;/打印区间温度换算表printf( 华氏 摄氏n);for(fahrenheit=lower;fahrenheitupper 输入:50,40 输出:“lower应该小于upper”第二组:lower不在0,120 输入:140,150输出:“lower应该在0和120之间”第三组:upper不在0,120输入:115,125 输出:“upper应该在0和120之间

12、”第四组:合法输入输入:100,110 输出:100,110区间温度转换表知识精讲知识精讲一、控制结构与语句二、基本语句三、条件的表示三三、条件的表示、条件的表示的内容对应教材第的内容对应教材第6章:章:6.4节的节的6.4.36.4.4)一、控制结构与语句n控制结构:结构化编程的控制手段由三种控制结构构成:顺序结构、选择结构和循环结构。n语句要求计算机执行的一个动作。一个应用问题的计算过程,实际上就是按一定的方式,执行一系列语句的过程。不同的控制结构通过程序中一系列的语句来实现。1. 程序的基本控制结构nBohm和Jacopini提出了以下三种基本结构顺序结构选择结构循环结构n 用这三种基本

13、结构作为表示一个良好算法的基本单元。n顺序结构顺序结构n选择结构选择结构三种基本结构的图示n循环结构循环结构三种基本结构的共同特点n(1)只有一个入口。 n(2)只有一个出口。(请注意:一个菱形判断框有两个出口,而一个选择结构只有一个出口。不要将菱形框的出口和选择结构的出口混淆。)n(3)结构内的每一部分都有机会被执行到。n(4)结构内不存在“死循环”(无终止的循环)。 (2)语句nC语句可以分为基本语句和控制语句基本语句n表达式语句、空语句和复合语句。控制语句n条件语句、循环语句、转移语句。二、基本语句n表达式语句n空语句n复合语句(1)表达式语句n任何一个语法正确的表达式后,加上一个分号(

14、;),即构成了一个表达式语句。ne;n表达式语句的主要出现的场合赋值语句nk = n / 10 % 10;函数语句nprintf(“hello world!”);(2)空语句n空语句是不执行任何动作的语句。n;【示示例例sample04_04.cpp】#includeintmain()intI;printf(pause!n);for(i=0;i,=,=,=, ,!=(2)逻辑运算 & , | , !(3)条件的表示(1)关系运算关系运算 比较运算,比较两个操作数n关系运算符x y x y x = y x != yn关系表达式:用关系运算符将2个表达式连接起来的式子。如:x = 1注意区

15、分注意区分 =和和=运用关系表达式表示比较的数学式 C关系表达式x10 x10 x10 x = 10 x = 10 x != 10 x = 10用关系表达式描述条件判断 x 是否为负数x 0判断 x 是否不为零x != 0(2)逻辑运算数学闭区间表示-1 = x =-1并且并且x=-1&x1)&(y1) (x1)|(y1) (x1)!(x1) 即 x= a) & (ch = a & ch = a & ch = A & ch = Z) 判断ch 是否为英文字母条件的表示写出满足下列条件的C表达式。nch 是空格或者回车。ch = | ch = nnnum

温馨提示

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

评论

0/150

提交评论