1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,C,语言分支流程控制语句,实习教师:宋 恒,指导教师:邹汝全,if,语句,复习引入,程序的基本结构,顺序结构,分支结构,循环结构,3/9/2026,2,顺序结构,A,B,一个入口,一个出口,C,语言语句,3/9/2026,3,分支结构,Yes,No,条件,A,B,条件判断,C,语言语句,本节课学习内容:,什么是分支结构呢?,3/9/2026,4,告诉他,不能留长发,告诉她,不能带首饰,例:大足职教中心学生管理规定:男生不能留长发,女生不能带首饰。,这就称为一个分支结构。,首先,判断是,男生还是女生,;,
2、3/9/2026,5,复习引入,针对基本结构,各种程序语言都有各自对应的语句来实现。,C,中用来实现分支结构的语句,if,语句,(,本节内容),switch,语句,3/9/2026,6,本节内容,(,一),if,语句,1,单选条件语句,2,双选条件语句,3,多选条件语句,(二)本节课内容总结,(三)作业布置,3/9/2026,7,目 标,掌握,if,语句格式、执行过程,能运用,if,语句编写简单的程序,重、难点内容,分支语句的格式和使用,3/9/2026,8,(一),if,语句,根据给定的条件,决定执行几个分支程序段中的某一个分支程序段。,if,语句的三种形式:,单选条件语句,双选条件语句,多
3、选条件语句,3/9/2026,9,1,单选条件语句,格式:,if(),注意:,if,语句中的“表达式”必须用“,(,”,和“,),”,括起来。,if,语句中的“表达式”一般为,关系或逻辑表达式,,也可以为,数值类型的表达式,。,“语句”可以是一条,简单语句、空语句或复合语句,,也可以,嵌套其它流程控制语句,。,例:,if,(,5,)(,正确),if,(,5|!0&1,)(,正确),例:,if,53,(,错误),if,(53),(正确),3/9/2026,10,语句,例:,if(53);,if(53),printf(“2013,级,1,班:”,),;,printf,(“,共,60,人。”,);,
4、复合语句,输出结果:,2013,级,1,班:共,60,人。,空语句,3/9/2026,11,单选条件语句,执行过程:,表达式,语句,真,假,a.,首先先判断表达式的值,b.,若为非,0,(真)则执行“语句”,c.,若为,0,(假)则跳过,“语句”。,3/9/2026,12,流程分析,:,(1),输入一个整数,a,;,(2),如果,a0,则输出,a,。,例,2,:输入一个整数,a,如果该数为正数,则输出该数。,输入一个整数,a,a0,输出,a,结束,开始,Y,你来做一做吧,N,3/9/2026,13,#include,main(),int,a;,scanf(%d,&a,);,if (a0),pr
5、intf(“%d,a,);,根据流程图,写出程序代码:,条件判断语句,3/9/2026,14,2,双选条件语句,格式:,if(,),else,3/9/2026,15,双分支选择语句,a.,首先先判断表达式的值,b.,若为非,0(,真,),则执行语句,1,c.,若为,0(,假,),则执行语句,2,表达式,语句,1,真,假,语句,2,执行过程:,3/9/2026,16,例:输入一个数,X,,判断其是否为偶数,是则输出“,YES”,,否则输出“,NO”.,开始,输入正整数,X,X%2=0,输出“,Yes“,输出”,No”,结束,假,真,If(,表达式,),其值有:真(非,0,)或假(,0,),不是偶
6、数就输出“,No”,是偶数则输出“,Yes,”,你来试试吧,3/9/2026,17,根据流程图,写出程序代码,#include“,stdio.h,”,main(),int,x;,scanf(“%d”,&x,);,if(x%2=0),printf(“Yes,”);,else,printf(“,No,”);,条件判断语句,当条件不满足时则,执行,else,下的语句,3/9/2026,18,3,多选条件语句,if(),else if(),else if(),else,格 式:,3/9/2026,19,3,多选条件语句,表达式,1,先判断表达式,1,的值,真,语句,1,非,0,就执行下面的语句,假,表
7、达式,2,为,0,就执行下一个判断,表达式,3,语句,4,语句,3,语句,2,真,真,假,假,一直这样做下去,执行过程:,直到得出最后结果,3/9/2026,20,例:饭卡里有,5,元钱,可以去买一份盒饭;如果有,4,元钱,只能买一份面条;如果有,3,元钱,只能买一份稀饭和一个包子;如果有,1,元钱,只能买一个馒头;没有钱,回家吃。,+,5,元,4,元,3,元,1,元,0,元,3/9/2026,21,有下列分段函数:,x+1,(x0),y=x,2,-5,(0 x10),x,3,(x10),编一程序,输入,x,,输出,y,的值。,流程分析,:,(,1,)输入数据,x,;,(,2,)如果,x0,则
8、y=x+1,;转到(,5,);,(,3,)否则,如果,x=10,则输出,y=x*x*x,;,(,5,)输出,y,的值。,应该怎么做呢?,大家想一想,3/9/2026,22,流 程 图,开始,输入一个数,x,x0,y=x+1;,x10,y=,x*x,-5;,y=x*x*x;,输出,y,的值,结束,真,假,真,假,3/9/2026,23,#include,void main(),float,x,y,;,printf,(,请输入,x:);,scanf(%f,&x,);,if(x,0),y=x+1;,else,if(x,10),y=x*x-5;,else,y=x*x*x;,printf(y,的值是:,%,fn,y,);,根据流程图,写出程序代码:,你来写一写,3/9/2026,24,(二)本节课总结,if,语句,单选条件语句,双选条件语句,多选条件语句,3/9/2026,25,课后作业,完成教材,P90,练习题,1.(1)(2)(3)(4)2.(1)(2),编程题,(,1,)从键盘上输入,x,,,y,两个数,输出其中大者。,(,2,)思考,:输入三个整数,a,、,b,、,c,,要求按由大到小顺序输出。,(三)课后作业,3/9/2026,26,