《c语言选择结构程序设计教学教案.doc》由会员分享,可在线阅读,更多相关《c语言选择结构程序设计教学教案.doc(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、|选择结构程序设计(一) 说明内容1关系运算符和关系表达式2逻辑运算符和逻辑表达式3条件运算符及条件表达式4IF 语句5IF 语句的嵌套重点1关系运算符和关系表达式2逻辑运算符和逻辑表达式3条件运算符及条件表达式4IF 语句的格式使用5IF 语句的嵌套难点 复杂条件的表示;IF 语句的正确使用。问题提出通过前面的顺序结构程序设计的介绍,我们都知道顺序结构程序设计按照自上而下的流程的顺序执行,但是在实际生活中,仅顺序结构是无法满足用户要求的,并不是所有的程序都是自上而下的顺序执行,而是根据条件有选择的执行。这就是我们将要学习的分支结构程序设计。详细内容一、导入讨论导入:请教学生翻译下面的英语句子
2、a.If she is not in Class1 then she will be in Class2.b.If it does not rain then Ill go to park, else Ill go to the movie.创造情景,使学生感觉新鲜和自信,学生可以翻译的准确无误。此过程中,教师引导学生注意 if 、then、 else 三个词的使用。学生归纳:条件语句的一般形式:格式 1:if 条件 then 语句组格式 2:if 条件 then 语句组 1 else 语句组 2二、if 中的条件表示1关系运算符和关系表达式在程序中经常需要比较两个量的大小关系, 以决定程序下
3、一步的工作。比较两个量的运算符称为关系运算符。(1) 关系运算符:操作符 作用 大于 生活中的“十字路口”也属于选择结构类型。举例说明|= 大于等于 =”写成“= ”。(2) 关系表达式:用关系运算符将两个运算对象连接起来的式子称为关系表达式。运算对象可以是常量,可以是变量,也可是表达式。如:32 b*b-4*a*c=1e-6 x= =y a%b!=0关系表达式的值: C 语言规定用数值 0 代表关系运算结果为“假” ,用数值 1 代表关系运算结果为“真” 。关系表达式值的数据类型为整型。设有定义 int a=3,b=2,c=1; 则:ab 的值为 1c= =a 的值为 0(3)优先级和结合方
4、向、= 、 = c+d 等价于 (a+b)(c+d)关系运算符的结合方向都为左结合。如:abc 等价于 (ab)c2、逻辑运算符和逻辑表达式(1) 逻辑运算符else 语句 2; 执行过程如下:如果表达式的值为非 0(TURE)即真, 则执行语句 1, 执行完语句1 从语句 2 后开始继续向下执行; 如果表达式的值为 0(FALSE)即假, 则跳过语句 1 而执行语句 2。然后程序继续往下执行。所谓表达式是指关系表达式和逻辑表达式的结合式, 关于表达式前面已作过介绍, 这是不再重复。表达式真(非 0) 假(0)语 句 1 语 句 2注意:1. 如果语句 1 或语句 2 有多于一条语句要执行时,
5、 必须使用“和“ 把这些语句包括在其中, 此时条件语句形式为:if(表达式) 语句体 1; else 语句体 2;2. 分支程序的三种形式(1)单分支: 例 1 输入一个整型数,输出该数的绝对值。 结合实例说明其注意事项|main() int a,; scanf(“%d“, if(ab*b)max=a;elsemax=b;printf(“%5dn“,max);(3)多分支 if 语句是双分支 if 语句的一个扩充,其格式为:例 3 输入一个百分制成绩,输出其对应的等级。 (90100 为A,8099 为 B,7079 为 C, 6069 为 D,059 为 E)main() int x; ch
6、ar y;scanf(“%d“,if(x=90) y=A;else if(x=80) y=B;else if(x=70) y=C;else if(x=60) y=D;else y=E;printf(“y=%cn“,y);四If 嵌套格式if 语句可以嵌套,即在一个 if 语句中又可以包含一个或多个 if语句,一般形式为:if(表达式 1)if(表达式 2) 语句 1通过图例说明嵌套的匹配关系。|else 语句 2elseif(表达式 3) 语句 3else 语句 4注意:在缺省花括号的情况下,if 和 else 的配对关系是:从最内层开始,else 总是与它上面最近的并且没有和其他 else
7、配对的 if配对。程序员应该养成良好的编程习惯,从书写格式上,注意 if 和else 的层次关系,反映 if 与 else 的配对关系。以便提高程序的维护和理解。如下 if 与 else 的配对举例。例 4 已知函数y=)0(1x编写程序,输入 x,输出 y 值。main() float x; int y;scanf(“%f“,if(x=0)if(x0) y=1;else y=0;else y=-1;对比实例,详细细化注意事项通过实例,说明分支程序设计的思想,巩固前面所讲的内容。|printf(“x=%f y=%dn“,x,y);使用 if 语句时应注意以下几点: if 后面圆括号内的表达式可
8、以为任意类型,但一般为关系表达式或逻辑表达式。 if 和 else 后面的语句可以是任意语句。 if(x)与 if(x!=0)等价。 if(!x)与 if(x= =0)等价。五、举例说明例 5:读入一个整数,判断其能否被 3 整除。#include main()int a ;printf(“Enter an integer “) ;scan(“%d“, /*输入一个整数*/if (a%3= =0) /*判断能否被 3 整除并输出相应信息*/printf(“%d 能被 3 整除n”,a) ;elseprintf(“%d 不能被 3 整除n”,a) ;例 6 从键盘输入三个数,求出绝对值最大者并显
9、示输出。分析:可将输入的三个数存放于变量 a,b,c 中,先用 a 和 b 比较(绝对值比较) ,将大数存放于临时变量 max 中,再用 max 和 c 比较,再将大数存放于 max 中,这样进行比较之后得到的 max 一定为a,b,c 中绝对值最大的数。程序如下:#include #include math.hmain () float a ,b ,c ;float max ;printf(“Enter 3 numbers n”) ;scanf (“%f , %f , %f “,if (abs(a) abs (b) max=abs(a) ; else |max=abs(b) ;if (max main() int a,b,c,temp ;scanf(“%d,%d,%d”,if (ab) temp=a; a=b ; b=temp ; if (ac) temp=a; a=c ; c=temp ; if (bc) temp=b; b=c ; c=temp ; printf(“%4d ,%4d ,%4d” ,a,b,c) ;六总结本讲对关系运算符和关系表达式、逻辑运算符和逻辑表达式做了详细的论述;并对条件运算符及条件表达式;通过对上面的论述,可以得到对选择结构条件的建立。用 IF 语句对选择结构来得到实现,IF 语句的格式及其应用。
限制150内