资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,#,Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,11/7/2009,#,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,选择结构程序设计ifelse语句,下班买,10,个包子,如果看到卖西瓜的,就买一个。,if(,遇到卖西瓜,),买一个包子;,else,买十个包子;,学习,目标,用,ifelse,语句实现选择,理解,ifelse,语句的执行流程,熟练使用关系运算与逻辑运算构造条件表达式,例:求二元一次方程,的实根,。,输入,a,b,c,计算,a0&,=0,计算,x,1,x,2,输出,x,1,x,2,真,假,条件:,a0,=,0,如果表达式的值为零,则跳过if子句,去执行else子句,接着去执行if语句后的下一条语句。,else 买十个包子;,(1)if语句,实现两个分支的选择结构,else 买十个包子;,if-else语句应用举例,关系表达式,逻辑表达式,数值等,q=sqrt(disc)/(2.,ifelse语句的执行流程,else 买十个包子;,area=sqrt(s*(s-a)*(s-b)*(s-c);,关系表达式,逻辑表达式,数值等,首先计算紧跟在if后面一对圆括号内表达式的值。,首先计算紧跟在if后面一对圆括号内表达式的值。,如果表达式值非零,则执行if子句,然后跳过else子句,去执行if语句后的下一条语句;,如果表达式的值为零,则跳过if子句,去执行else子句,接着去执行if语句后的下一条语句。,例:判断一个给定的数为奇数还是偶数,真,输出,n,是奇数,n%2=0,假,输入,n,输出,n,是偶数,条件:,除,以,2,余数是否为,0,例,:求,分段函数,y,的值,y,-x,0,x,x,-5,0),x=0,x,(0,5,条件,条件,条件,输入,x,x=-,5&x0&x,0&,=0,计算,x,1,x,2,输出,x,1,x,2,真,假,if,语句应用举例,disc=b*b-4*a*c;,if(a0&disc=0),p=-b/(2.0*a);,q=sqrt(disc)/(2.0*a);,x1=p+q;,x2=p-q;,printf(“%d,%d”,x1,x2);,上机演示程序,6-1,执行流程,给,出三角形的三边长,,求,三角形,面积,输入,a,b,c,a+bc,&,b+ca,&,a+cb,计算,s,输出,area,真,假,计算,area,课堂练习,if(a+bc&a+cb&b+ca),s=(a+b+c)/2;,area=sqrt(s*(s-a)*(s-b)*(s-c);,printf(“%f”,area);,if-else,语句,(,条件选择语句,),if(expression),statement1,expression,statement1,真,假,else,statement2,statement2,ifelse,语句,的一般格式,判断一个给定的数为奇数还是偶数,真,输出,n,是奇数,n%2=0,假,输入,n,输出,n,是偶数,if-else,语句应用举例,scanf(“%d”,if(n%2=0),printf(“%d,是偶数,”,n);,else,printf(“%d,是奇数,”,n);,上机演示程序,6-2,执行流程,printf(“%d,%d”,x1,x2);,例:求分段函数y的值,判断一个给定的数为奇数还是偶数,q=sqrt(disc)/(2.,else 买十个包子;,printf(“%d,%d”,x1,x2);,else 买十个包子;,关系表达式,逻辑表达式,数值等,上机演示程序6-1执行流程,用ifelse语句实现选择,printf(“%f”,area);,关系表达式,逻辑表达式,数值等,如果表达式的值为零,则跳过if子句,去执行else子句,接着去执行if语句后的下一条语句。,(1)if语句,实现两个分支的选择结构,无论是否有else子句,if子句中如果只有一条语句,则此语句后的分号不能省略。,首先计算紧跟在if后面一对圆括号内表达式的值。,(1)if语句,实现两个分支的选择结构,例:判断一个给定的数为奇数还是偶数,if(expression),课堂练习,求学,生的成绩总评,输入成绩,s,s=60,输出,fail,输出,pass,真,假,scanf(“%,f,”,if(s=60),printf(“pass”);,else,printf(“fail”);,关于,ifelse,语句,的几点说明,后面圆括号中的表达式,可以是任意合法的,C,语言表达式,也可以是任意类型的数据。,if(,ab,),语句;,if(,ab,&bc,),语句;,if(,a=0,),语句;,if,(,!a,),语句;,if(,a=0,),语句;,if(,3+5,),语句;,关于,ifelse,语句的几点说明,else,不是一条独立的语句,它只是,if,语句的一部分,在程序中,else,必须和,if,配对,共同组成一条,ifelse,语句。,2.,无论是否有,else,子句,,if,子句中如果只有一条语句,则此语句后的分号不能省略。,关于,ifelse,语句的几点说明,3.ifelse,语句的执行流程,首先计算紧跟在,if,后面一对圆括号内表达式的值,。,如果表达式值非零,则执行,if,子句,然后跳过,else,子句,去执行,if,语句后的下一条语句;,如果表达式的值为零,则跳过,if,子句,去执行,else,子句,接着去执行,if,语句后的下一条语句。,Thank You!,
展开阅读全文