c语言选择结构程序设计教案.doc_第1页
c语言选择结构程序设计教案.doc_第2页
c语言选择结构程序设计教案.doc_第3页
c语言选择结构程序设计教案.doc_第4页
c语言选择结构程序设计教案.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C语言程序设计教案 选择结构程序设计(一)说明内容1关系运算符和关系表达式2逻辑运算符和逻辑表达式3条件运算符及条件表达式4IF语句5IF语句的嵌套生活中的“十字路口”也属于选择结构类型。举例说明实例讲解说明举例说明通过讲解,向if语句过渡通过与前面引入的例子重点说明其格式结合实例说明其注意事项通过图例说明嵌套的匹配关系。对比实例,详细细化注意事项通过实例,说明分支程序设计的思想,巩固前面所讲的内容。重点1关系运算符和关系表达式2逻辑运算符和逻辑表达式3条件运算符及条件表达式4IF语句的格式使用5IF语句的嵌套难点复杂条件的表示;IF语句的正确使用。问题提出通过前面的顺序结构程序设计的介绍,我们都知道顺序结构程序设计按照自上而下的流程的顺序执行,但是在实际生活中,仅顺序结构是无法满足用户要求的,并不是所有的程序都是自上而下的顺序执行,而是根据条件有选择的执行。这就是我们将要学习的分支结构程序设计。详细内容一、导入讨论导入:请教学生翻译下面的英语句子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关系运算符和关系表达式在程序中经常需要比较两个量的大小关系, 以决定程序下一步的工作。比较两个量的运算符称为关系运算符。(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)优先级和结合方向、=、和 = c+d 等价于 (a+b)(c+d)关系运算符的结合方向都为左结合。如:abc 等价于 (ab)c2、逻辑运算符和逻辑表达式(1)逻辑运算符& 逻辑与| 逻辑或! 逻辑非(2)逻辑表达式用逻辑运算符将关系表达式或逻辑量连接起来的式子就是逻辑表达式。运算对象一般为关系表达式或逻辑量(常量或变量)。如;x10|x2&43 的结果为真35 结果为真!(32) 的结果为假逻辑表达式的值:用数值0代表逻辑运算结果为“假”,用数值1代表逻辑运算结果为“真”。在判断一个量(常量或变量)是“真”还是“假”时,C语言规定以0代表“假”,以非0代表“真”。35 的结果为035 结果为1!(32) 的结果为0(3)优先级和结合方向三个逻辑运算符优先级从高到低的顺序为:! & |! 的优先级高于算术运算符。&和|的优先级低于关系运算符。如:32+1&4(2+1)&(4b&cd&ef 等价于 (ab)&(cd)&(ef)!(ab) 等价于 !(!(!(ab)3、条件运算符及条件表达式(1)条件运算符 ? : C语言中唯一的一个三目运算符。(2)条件表达式条件表达式的一般形式为: 表达式1?表达式2:表达式3 其中,表达式i (1i3)的类型任意,表达式1一般为关系表达式或逻辑表达式,表达式2和表达式3一般为同类型表达式。条件表达式的求解过程是:先求解表达式1,若表达式1的值不为0,则求解表达 式2,表达式2的值就是条件表达式的值;若表达式1的值为0,则求解表达式3,表达式3的值就是条件表达式的值。 如: 32?3+2:3*2 表达式的值为5ab?3!=0:7= =8 表达式的值为0(3)优先级和结合方向 条件运算符的优先级高于赋值运算符,但低于逻辑运算符、关系运算符和算术运算符。如:32?3+2:3*2 等价于 (32)?(3+2):(3*2)ab?3!=0:7= =8 等价于 (ab)?(3!=0):(7= =8)条件运算符的结合方向为右结合。如:注意:条件表达式中的表达式2和表达式3只有一个被求解。表达式1的类型可与表达式2和表达式3的类型不同。三、分支结构表示IF语句在C中条件语句的一般形式为: if(表达式) 语句1; else 语句2; 执行过程如下:如果表达式的值为非0(TURE)即真, 则执行语句1, 执行完语句1从语句2后开始继续向下执行; 如果表达式的值为0(FALSE)即假, 则跳过语句1而执行语句2。然后程序继续往下执行。所谓表达式是指关系表达式和逻辑表达式的结合式, 关于表达式前面已作过介绍, 这是不再重复。表达式真(非0)假(0)语 句 1语 句 2注意:1. 如果语句1或语句2有多于一条语句要执行时, 必须使用和 把这些语句包括在其中, 此时条件语句形式为:if(表达式) 语句体1; else 语句体2;2. 分支程序的三种形式(1)单分支: 例1输入一个整型数,输出该数的绝对值。 main() int a,; scanf(%d,&a); if(ab*b) max=a; else max=b; printf(%5dn,max); (3)多分支if语句是双分支if语句的一个扩充,其格式为:例3输入一个百分制成绩,输出其对应的等级。(90100为A,8099为B,7079为C,6069为D,059为E)main() int x; char y; scanf(%d,&x); 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) 语句1else 语句2elseif(表达式3) 语句3else 语句4注意:在缺省花括号的情况下,if和else的配对关系是:从最内层开始,else总是与它上面最近的并且没有和其他else配对的if配对。程序员应该养成良好的编程习惯,从书写格式上,注意if和else的层次关系,反映if与else的配对关系。以便提高程序的维护和理解。如下if与else的配对举例。例4已知函数y=编写程序,输入x,输出y值。main() float x; int y; scanf(%f,&x); if(x=0) if(x0) y=1; else y=0; else y=-1; printf(x=%f y=%dn,x,y);使用if 语句时应注意以下几点: if后面圆括号内的表达式可以为任意类型,但一般为关系表达式或逻辑表达式。 if和else后面的语句可以是任意语句。 if(x)与if(x!=0)等价。 if(!x)与if(x= =0)等价。五、举例说明例5:读入一个整数,判断其能否被3整除。#include main() int a ;printf(Enter an integer “) ;scan(%d,&a) ; /*输入一个整数*/if (a%3= =0) /*判断能否被3整除并输出相应信息*/printf(%d能被3整除n”,a) ;else printf(%d不能被3整除n”,a) ;例6 从键盘输入三个数,求出绝对值最大者并显示输出。分析:可将输入的三个数存放于变量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 ,&a,&b,&c);if (abs(a) abs (b) max=abs(a) ; else max=abs(b) ;if (max abs (c)max=abs(c) ; printf(Max=%fn,max) ;例7 输入三个整数,按大小顺序输出程序如下:#include main() int a,b,c,temp ; scanf(“%d,%d,%d”,&a,&b,&c) ;if (ab) temp=a; a=b ; b=temp ; if

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论