程序流程控制.ppt
《程序流程控制.ppt》由会员分享,可在线阅读,更多相关《程序流程控制.ppt(67页珍藏版)》请在三一办公上搜索。
1、程序流程控制,C语言是一种结构化、模块化的通用程序设计语言。通过对程序流程控制的学习,建立运用3种基本结构(顺序结构、分支结构、选择结构)进行编程的思想。,模块一 顺序程序设计,能力目标:,正确认识顺序结构的执行特点根据流程图,写出相应的程序进行顺序程序的设计,任务一 考察顺序结构的执行特点,请观察下面的流程图,1.在该图中运用了哪些流程图框?起止框、输入输出框、一般处理框2.根据流程图,写出相应的C程序。,main()float r,s;scanf(“%f”,在写程序中,注意流程线的方向。在程序中,正确定义变量。顺序结构的执行特点:程序按照语句从上到下的排列顺序依次执行,每条语句必须执行且只
2、能执行一次。,知识盘点:,任务二 熟悉顺序程序,2根据流程图,完成C程序。#include”stdio.h”main()char ch1,ch2;printf(“请输入一个大写字母:”);ch1=getchar();ch2=ch1+32;printf(“相应的小写字母为:”);putchar(ch2);3如果输入的字符不是大字字母,这样的转换还有意义吗?怎样才能避免输入非大写字母?,请看题目:输入一个大写字母,转换成小写字母输出。1.填写流程图,答:这样的转换没有意义,如果要避免输入非大写字母,可以在转换前加一个是否是大写字线的判断。,任务三 设计顺序程序,请看题目:输入2个整数a、b,然后交
3、换a、b的值输出。1填写流程图,2.根据流程图,写出C程序。,main()int a,b,t;scanf(“%d%d”,3.如果不借助中间变量t能使变量a、b的值交换吗?如果能,该如何编程?,t=a;a=b;b=t;,模块二 分支程序设计,能力目标:,根据实际问题,正确书写关系、逻辑表达式正确认识分支结构的执行特点运用if语句的3种形式及switch语句进行分支程序的设计,任务一 认识关系运算符和关系表达式,1.观察C语言提供的6种关系运算符:、=、=、=、!=,2.上机调试程序,记录运行结果,#include”stdio.h”main()int true,false;true=(1=1);f
4、alse=(1=0);Printf(“真=%d,假=%dn”,true,false);,请记录运行结果:,真=1,假=0,3.完成下表:,假,真,假,知识盘点:,关系运算的概念关系运算的优先级关系表达式的概念,任务二 认识逻辑运算符和逻辑表达式,1种逻辑运算符:、!,3写出下列表达式的等价式xy&mn 等价于(xy)&(mn)a!=b|x=y 等价于!x|xy 等价于x7&x+y!=20等价于 3+2&54|!0 等价于,完成下表,0,1,0,(a!=b)|(x=y),(!x)|(xy),(x7)&(x+y!=20),(3+2)&(54)|!0,知识盘点:,逻辑运算符的概念逻辑运算符的优先级逻
5、辑表达式的概念,任务三 书写关系、逻辑表达式,1写出判断一个字符是否是空白符(t、n、)的逻辑表达式:,(ch=)|(ch=n)|(ch=t),2写出判断某一年是否为闰年的逻辑表达式。,()分析:,闰年的条件是符合下列个条件之一:能被整除,但不能被100整除;能被400整除,()请分别写出个条件的逻辑表达式:,year%4=0&year%100!=0year%400=0,(3)如果将个逻辑表达式合并为一个式子,该如何写?,(year%4=0&year%100!=0)|(year%400=0),任务四考察条件控制语句if语句,.考察分支结构的执行特点,请观察下面的流程图:,该流程图中,根据其真假
6、使流程分支的判断条件是什么?该流程图所表示的程序功能是什么?,答:x%6=0,答:判断一个正整数是否是6的倍数。,2认识if语句(第一种形式),()请观察下面的流程图:,该图用if语句表示为:if(x0)x=x+1;,()试写出if语句的一般形式:,()归纳if语句的流程图:,if(表达式)语句,知识盘点:,()题目:输入一个整数,如果该数为正,输出该数。,完成程序:,main()int x;scanf(“%d”,根据程序,画出流程图。,思考:如果要求x的绝对值,用if语句(第一种形式)实现,该如何完成?,(x0),main()int x,y;scanf(“%d”,.认识ifelse语句(第二
7、种形式),()请观察下面的流程图:,真假,该流程图表示的意思是什么?,()if else语句的形式:if(表达式)语句1 else 语句2,(3)请填写流程图:真 假,答:求x的绝对值。,表达式,语句2,知识盘点:,if else语句构造了两路分支的选择结构,也是一种最基本的选择结构。如果“表达式”计算为真,执行语句1;否则执行语句2。其中“语句”部分可以是简单语句或者复合语句。“表达式”可以是关系表达式、逻辑表达式,也可以是算术表达式。,(3)题目:从键盘上输入两个整数x和y,若x2+y2大于10,则输出x2+y2个位上的数字,否则输出两数之和。,请画出流程图:,由流程图的思路,填写程序。#
8、include”stdio.h”main()int x,y,s,l;printf(“请输入2个整数:”);scanf(“%d%d”,(s10),4.认识ifelseif语句,(1)题目:输入一个数x,如果x=10,则y=3x-10,否则,y=2x-1,输出y的值。,该题将面临几种选择?,答:3种选择。,(2)请观察下面的流程图,回答问题。,对照上图形式在图内填空,真,假,真,假,真,假,真,假,真,假,根据上图,写出对应的语句形式。,if(表达式1)语句1else if()语句2else if(表达式3)else 语句4,表达式2,语句3,表达式,语句3,(3)根据所得语句形式,填写程序,并记
9、录上机调试结果。,#include”stdio.h”main()float x,y;printf(“请输入x的值:”);scanf(“%f”,请记录上机调试结果:,y=x;,y=2*x-1;,知识盘点:,ifelseif语句是通过一连串的判断,来实现互斥分支,它排列了一系列的操作,每一种操作是在相应的条件下才能执行。该语句执行时,依次对各个条件进行判断,符合某一条件,则转去执行该条件下的操作,其余部分被跳过;若无条件为真,就执行最后一个else所指定的操作。,5else与if的配对规则,请观察以下程序段和流程图,完成问题。,程序段:if(x7)if(x13)printf(“left!n”);e
10、lse printf(“right!n”);,流程图:,真,真,假,假,真,假,真,假,(1)判断以上2个流程图中,哪一个与程序段相吻合?为什么?,答:根据else与if的配对规则,第二个图与程序段相吻合。,(2)写出该程序段的运行结果。,无结果,left!,right!,6if语句的嵌套,(1)按else与if的配对规则划分下列关系。if(条件1)if(条件2)语句1 else 语句2 else if(条件3)语句3 else 语句4,(2)题目:有一个函数:-1(x0)输出y值。,写法1:main()int x,y;scanf(“%d”,原因:,请判断下列哪些写法是正确的?为什么?,正确。
11、,写法2:if(x=0)if(x0)y=1;else y=0;else y=-1;,原因:,写法3:y=-1;if(x!=0)if(x0)y=1;else y=0;,原因:,正确。,不正确。,任务五 考察switch语句,#include”stdio.h”main()char grade;printf(“请输入成绩等级(A、B、C、D)n”);grade=getchar();switch(grade)caseA:printf(“优秀n”);break;caseB:printf(“良好n”);break;caseC:printf(“及格n”);break;caseD:printf(“不及格n”)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序 流程 控制
链接地址:https://www.31ppt.com/p-6138913.html