![程序流程控制课件_第1页](http://file4.renrendoc.com/view/9309c2dcf636d17309e0564644fa3728/9309c2dcf636d17309e0564644fa37281.gif)
![程序流程控制课件_第2页](http://file4.renrendoc.com/view/9309c2dcf636d17309e0564644fa3728/9309c2dcf636d17309e0564644fa37282.gif)
![程序流程控制课件_第3页](http://file4.renrendoc.com/view/9309c2dcf636d17309e0564644fa3728/9309c2dcf636d17309e0564644fa37283.gif)
![程序流程控制课件_第4页](http://file4.renrendoc.com/view/9309c2dcf636d17309e0564644fa3728/9309c2dcf636d17309e0564644fa37284.gif)
![程序流程控制课件_第5页](http://file4.renrendoc.com/view/9309c2dcf636d17309e0564644fa3728/9309c2dcf636d17309e0564644fa37285.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
程序流程控制C语言是一种结构化、模块化的通用程序设计语言。通过对程序流程控制的学习,建立运用3种基本结构(顺序结构、分支结构、选择结构)进行编程的思想。模块一顺序程序设计能力目标:正确认识顺序结构的执行特点根据流程图,写出相应的程序进行顺序程序的设计任务一考察顺序结构的执行特点请观察下面的流程图1.在该图中运用了哪些流程图框?起止框、输入输出框、一般处理框2.根据流程图,写出相应的C程序。开始输入半径:rS=3.14*r*r输出面积:s结束main(){floatr,s;scanf(“%f”,&r);s=3.14*r*r;printf(“s=%f\n”,s);}在写程序中,注意流程线的方向。在程序中,正确定义变量。顺序结构的执行特点:程序按照语句从上到下的排列顺序依次执行,每条语句必须执行且只能执行一次。知识盘点:任务二熟悉顺序程序2.根据流程图,完成C程序。#include”stdio.h”main(){charch1,ch2;printf(“请输入一个大写字母:”);ch1=getchar();ch2=ch1+32;printf(“相应的小写字母为:”);putchar(ch2);}3.如果输入的字符不是大字字母,这样的转换还有意义吗?怎样才能避免输入非大写字母?请看题目:输入一个大写字母,转换成小写字母输出。1.填写流程图开始输入大写字母ch1ch2=ch1+32输出小写字母ch2结束答:这样的转换没有意义,如果要避免输入非大写字母,可以在转换前加一个是否是大写字线的判断。模块二分支程序设计能力目标:根据实际问题,正确书写关系、逻辑表达式正确认识分支结构的执行特点运用if语句的3种形式及switch语句进行分支程序的设计任务一认识关系运算符和关系表达式1.观察C语言提供的6种关系运算符:>、>=、<、<=、==、!=2.上机调试程序,记录运行结果#include”stdio.h”main(){inttrue,false;true=(1==1);false=(1==0);Printf(“真=%d,假=%d\n”,true,false);}请记录运行结果:真=1,假=03.完成下表:表达式表达式的值表达式的结果-3+1-22+7*323真a=001==00假真假任务二认识逻辑运算符和逻辑表达式1.3种逻辑运算符:&&、||、!3.写出下列表达式的等价式x>y&&m>n等价于(x>y)&&(m>n)a!=b||x==y等价于
!x||x>y等价于
x>7&&x+y!=20等价于
3+2&&5>4||!0等价于
2.完成下表表达式表达式的值(3<2)&&(7>5)(3<2)||(7>5)!(3>2)010(a!=b)||(x==y)(!x)||(x>y)(x>7)&&(x+y!=20)(3+2)&&(5>4)||!0知识盘点:逻辑运算符的概念逻辑运算符的优先级逻辑表达式的概念任务三书写关系、逻辑表达式1.写出判断一个字符是否是空白符(‘\t’、’\n’、’’)的逻辑表达式:(ch==‘‘)||(ch==‘\n’)||(ch==‘\t’)2.写出判断某一年是否为闰年的逻辑表达式。(1)分析:闰年的条件是符合下列2个条件之一:能被4整除,但不能被100整除;能被400整除(2)请分别写出2个条件的逻辑表达式:year%4==0&&year%100!=0year%400==0(3)如果将2个逻辑表达式合并为一个式子,该如何写?(year%4==0&&year%100!=0)||(year%400==0)任务四考察条件控制语句if语句1.考察分支结构的执行特点请观察下面的流程图:开始输入一个正整数xx%6==0输出“yes!”输出“no!”结束该流程图中,根据其真假使流程分支的判断条件是什么?该流程图所表示的程序功能是什么?答:x%6==0答:判断一个正整数是否是6的倍数。2.认识if语句(第一种形式)(1)请观察下面的流程图:x>0x=x+1该图用if语句表示为:if(x>0)x=x+1;(2)试写出if语句的一般形式:(3)归纳if语句的流程图:表达式语句if(表达式)语句知识盘点:3.认识if…else语句(第二种形式)(1)请观察下面的流程图:x>0y=xy=-x
真假该流程图表示的意思是什么?(2)if…else语句的形式:if(表达式)语句1else语句2(3)请填写流程图:
真假语句1答:求x的绝对值。表达式语句2知识盘点:if…else语句构造了两路分支的选择结构,也是一种最基本的选择结构。如果“表达式”计算为真,执行语句1;否则执行语句2。其中“语句”部分可以是简单语句或者复合语句。“表达式”可以是关系表达式、逻辑表达式,也可以是算术表达式。4.认识if…else…if语句(1)题目:输入一个数x,如果x<1,则y=x;如果x>=10,则y=3x-10,否则,y=2x-1,输出y的值。
该题将面临几种选择?答:3种选择。(2)请观察下面的流程图,回答问题。x<1x>=10y=xy=2*x-1y=3*x-10①对照上图形式在图内填空表达式1语句1语句2表达式3语句4真假真假真假真假真假②根据上图,写出对应的语句形式。if(表达式1)语句1elseif()语句2elseif(表达式3)
else语句4表达式2语句3表达式2语句3(3)根据所得语句形式,填写程序,并记录上机调试结果。#include”stdio.h”main(){floatx,y;printf(“请输入x的值:”);scanf(“%f”,&x);if((x<1)
elseif(x>=10)y=3*x-10;else
printf(“y的值为:%.2f\n”,y);}请记录上机调试结果:y=x;y=2*x-1;知识盘点:
if…else…if语句是通过一连串的判断,来实现互斥分支,它排列了一系列的操作,每一种操作是在相应的条件下才能执行。该语句执行时,依次对各个条件进行判断,符合某一条件,则转去执行该条件下的操作,其余部分被跳过;若无条件为真,就执行最后一个else所指定的操作。5.else与if的配对规则请观察以下程序段和流程图,完成问题。程序段:if(x>7)if(x<13)printf(“left!\n”);elseprintf(“right!\n”);x>7x<13输出left!输出right!流程图:x>7x<13输出left!输出right!真真假假真假真假(1)判断以上2个流程图中,哪一个与程序段相吻合?为什么?答:根据else与if的配对规则,第二个图与程序段相吻合。(2)写出该程序段的运行结果。X的取值运行结果61218无结果left!right!(2)题目:有一个函数:-1(x<0)编程,输入一个x值,
y=0(x=0)
1(x>0)
输出y值。写法1:main(){intx,y;scanf(“%d”,&x);if(x<0)y=-1;elseif(x>0)y=1;elsey=0;printf(“x=%d,y=%d\n”,x,y);}原因:请判断下列哪些写法是正确的?为什么?正确。写法2:if(x>=0)if(x>0)y=1;elsey=0;elsey=-1;原因:写法3:y=-1;if(x!=0)if(x>0)y=1;elsey=0;原因:正确。不正确。(1)记录上机调试运行结果:(2)说明该程序的功能是什么?(3)思考:如果将程序段中的所有break语句去掉,输入字符‘C’,运行结果是什么?答:运行结果为:及格不及格输入数据错误!知识盘点:2.请归纳switch语句的一般形式:预期运行结果:B<CR>上机调试结果:及格任务六分支的应用2.由上述分析,填写下列流程图。n<10n<100r=1.0r=0.9r=0.7真假真假真假n<50r=0.83.根据流程图,填写程序。4.请记录上机调试结果:n<50r=0.8模块三循环程序结构能力目标:正确认识循环程序的执行特点运用3种循环语句(while语句、dowhile语句、for语句)进行循环程序设计运用2个循环辅助语句(break语句、continue语句),更好地控制程序流程任务一认识while语句1.初识while语句(1)思考:在程序设计中,通常会遇到输出一个星号‘*’,可以用一个printf()语句,那么输出5个星号‘*’、10个星号‘*’,甚至更多的星号‘*’,该如何处理呢?(2)观察下面两个程序,完成问题。程序一main(){printf(“*\n”);printf(“*\n”);printf(“*\n”);printf(“*\n”);printf(“*\n”);}程序二main(){inti=1;while(i++<=5)printf(“*\n”);}①上面两个程序分别实现什么功能?②两个程序中,哪一个简便?在程序中能否用循环语句来实现对重复操作的控制?答:它们都实现输出5个星号‘*’。答:程序二简便,在程序中能用循环语句来实现对重复操作的控制。2.学习while语句的形式(1)请观察下面while语句的形式,完成问题。①两条语句的关键字是什么?②关键字后的括号内是什么表达式?③关键字后的语句部分可以是哪些语句?(2)试写出while语句的一般形式。while关系表达式、逻辑表达式简单语句、复合语句while(表达式)语句3.学习while语句的执行过程(1)请观察while语句的流程,完成问题。表达式语句真假表达式②①(2)请记录该程序的上机调试结果,画出以下程序的流程图,并指出循环条件、循环体及循环控制变量的三个工作。请记录上机调试结果:①流程图:②循环条件是
循环体是
循环控制变量是
,3个工作分别是
、
、
。I<3printf(“%c\n”,ch);II=1I<3I++(3)请观察下面2个程序段,完成问题。语句一I=1;while(I++<=10)printf(“hello!\n”);语句二I=1;while(--I<=10)printf(“world!\n”);①判断下面哪一个程序段是正确的?②循环控制变量更新的趋势是什么?③程序在什么时候才能判断循环是否终止?语句一让循环条件为假判断循环条件时4.讨论用while语句编程求1+2+…+10之和。(同时画出该程序的流程图)程序:流程图:知识盘点:任务二认识do…while语句1.学习do…while语句的形式(2)试写出do…while语句的一般形式。dowhilesum=sum+i;i=i+1;i<=10do{}While(表达式);2.学习do…while语句的执行过程请观察do…while语句的流程,完成问题。语句表达式真假语句表达式①3.do…while语句与while语句的区别(2)由上述运行结果看出,do…while语句与while语句的区别是什么?ABC*ABABC无结果答:当第1次执行循环体时,因为表达式为“真”,两种循环得到的结果相同;否则,二者结果就不同。(前提:二者循环体中的语句相同)任务三认识for语句1.学习for语句的形式答:输入10个数,并求这10个数的和。for(表达式1;表达式2;表达式3)语句2.学习for语句的执行过程请观察for语句的流程,完成问题。表达式1表达式2语句表达式3真假③②④3.讨论for语句的灵活性(1)写出以下程序段的运行结果。(2)讨论:在for语句的表达式1、表达式2、表达式3中可能会出现哪几种情况?运行结果:运行结果:运行结果:运行结果:运行结果:4.运用for语句编程编程求1×2×…×10之积。(同时画出该程序的流程图)程序:流程图:任务四
认识循环嵌套1.学习循环嵌套的形式(1)请观察下面两个图,完成问题。(b)图(2)阅读信息,完成问题。信息:C语言提供的3种循环结构:whiledowhilefor都可以相互嵌套,自由组合。问题:在已有几种循环嵌套形式后,补充3种合法的形式。嵌套形式:①while()②do{while(){do{}{}while();}}while();③④⑤for(;;)⑥{while(){}}2.观察二重循环(1)请阅读程序,完成问题。①程序定义了哪些变量?②程序中采用几重循环嵌套?③程序中外层循环为哪几行?外层循环的循环体中有几条语句?④程序中内层循环为哪几行?内层循环的循环体中有几条语句?答:两个变量,m和n答:二重循环答:外层循环从7行到12行,外层循环的循环体中有2条语句。答:内层循环从9行到10行,内层循环的循环体中有1条语句。(2)请观察循环嵌套部分的流程,完成问题。
m=1m<=5n=1n<=5输出m*nn++输出'\n'm++真假真假for156②完成下表。(该表给出了内外层循环控制变量的变化情况)246810369121548121620510152025(3)请阅读程序,完成问题,并记录上机调试结果。请记录上机调试结果:请思考:为什么会出现这种结果?与上例程序有什么区别?任务五认识循环辅助语句:break语句和continue语句1.学习break语句(1)请阅读程序,完成问题。①该程序for语句部分的循环体内有几条语句?②除了当r>10时,可退出for循环外,是否有其他的方式退出for循环?3条语句。答:可以通过当V>100.0时,执行break语句退出循环。(2)请观察该程序for语句部分的流程,完成问题。r=1V=PI*r*r*hr<=10V>100.0输出V
r++真
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 礼仪协会申请书
- 加入生活部的申请书
- 入汉服社申请书
- 集体开户申请书
- 核名变更申请书
- 个人原因辞职申请书
- 电子商务营销策略的制定与执行
- 2024-2025学年高中政治课时作业6文化在交流中传播含解析新人教版必修3
- 2024-2025学年新教材高中地理课时素养评价十五海洋权益与海洋战略发展含解析鲁教版必修第二册
- 2024-2025学年八年级物理上册第3章物质的简单运动单元双基双测A卷基础篇含解析北师大版
- 数理统计考试试卷及答案解析
- 排水沟施工合同电子版(精选5篇)
- 清新典雅文艺教师公开课说课PPT课件模板
- 大气商务企业培训之团队合作的重要性PPT模板
- 2022年四川省成都市成华区七年级下学期期末语文试卷
- 石油化工、煤化工、天然气化工优劣势分析
- 10kV配网工程变配电(台架变、箱变、电缆分接箱)的安装设计施工精细化标准
- Q∕GDW 12118.3-2021 人工智能平台架构及技术要求 第3部分:样本库格式
- 广东省义务教育阶段学生转学转出申请表(样本)
- 机耕路工程施工方案与技术措施
- 如何成为一个优秀的生产经理
评论
0/150
提交评论