2022年c语言选择结构程序设计教案.docx
名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精品教学教案挑选结构程序设计(一)说明 1关系运算符和关系表达式 2规律运算符和规律表达式 内容 3条件运算符及条件表达式 4 IF 语句 5 IF 语句的嵌套 1关系运算符和关系表达式2规律运算符和规律表达式 重点 3条件运算符及条件表达式 4 IF 语句的格式使用 5 IF 语句的嵌套难点问题提出复杂条件的表示;IF 语句的正确使用;通过前面的次序结构程序设计的介绍,我们都知道次序结构程序设计依据自上而下的流程的次序执行,但是在实际生活中,仅次序结构是无法满意用户要求的,并不是全部的程序都是自上而下的次序执行,而是依据条件有挑选的执行;这就是我们将要学习的分支结构程序设计;一、导入 争论导入: 请教同学翻译下面的英语句子 a.If she is not in Class1 then she will be in Class2. b.If it does not rainthen I'll go to park, else I'll go to the movie. 生活中的“ 十 字路口” 也属 于 选 择 结 构 类型;制造情形, 使同学感觉新奇和自信,同学可以翻译的精确无误;此过程中,老师引导同学留意if 、 then 、 else 三个词的使用;同学归纳: 条件语句的一般形式:具体格式 1:if 条件then 语句组else 语句组 2 格式 2:if 条件then 语句组 1 内容二、 if 中的条件表示1关系运算符和关系表达式在程序中常常需要比较两个量的大小关系,以打算程序下一步的工作;比较两个量的运算符称为关系运算符;细心整理归纳 精选学习资料 (1)关系运算符:举例说明 第 1 页,共 8 页 操作符作用> 大于>= 大于等于< 小于 - - - - - - - - - - - - - - - - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精品教学教案<= 小于等于= = 等于.= 不等于关系运算符都是双目运算符,用于两个运算对象比较;留意: 不能将“<=” 写成“=<” ,也不能将“>=” 写成“=>” ;(2)关系表达式:用关系运算符将两个运算对象连接起来的式子称为关系表达式;运算对象可以是常量,可以是变量,也可是表达式;如:实 例 讲 解 说3>2 b*b-4*a*c>=1e-6 x= =y a%b.=0 明关系表达式的值:C 语言规定用数值 0 代表关系运算结果为“ 假” ,用数值 1 代表关系运算结果为“ 真”型为整型;设有定义 int a=3,b=2,c=1; 就:a>b 的值为 1 c= =a 的值为 0 3优先级和结合方向;关系表达式值的数据类>、>=、<和 < = 的优先级相同;= = 和 .=的优先级相同,两组运算符优先级从高到低的次序是:> >= < <= = = .= 关系运算符的优先级低于算术运算符;如:a+b>c+d 等价于a+b>c+d 关系运算符的结合方向都为左结合;如:a>b>c 等价于a>b>c 举例说明2、规律运算符和规律表达式(1)规律运算符&& 规律与| 规律或. 规律非(2)规律表达式用规律运算符将关系表达式或规律量连接起来的式子就是规律表达式;运算对象一般为关系表达式或规律量(常量或变量);如;x>10|x<100 x= =y&&a.=b 5&&b 如: 3>2&&4>3 的结果为真3<4|4>5 结果为真.3>2 的结果为假细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 2 页,共 8 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精品教学教案规律表达式的值:用数值 0 代表规律运算结果为“ 假” ,用数值 1代表规律运算结果为“ 真”;在判定一个量(常量或变量)是“ 真”仍是“ 假” 时,C 语言规定以 0 代表“ 假” ,以非 0 代表“ 真” ;3<4&&4>5 的结果为 0 3<4|4>5 结果为 1 .3>2 的结果为 0 3优先级和结合方向三个规律运算符优先级从高到低的次序为:!&& | 如:. 的优先级高于算术运算符;&& 和|的优先级低于关系运算符;3>2+1&&4<2+1 等价于 3>2+1&&4<2+1 && 和|的结合方向为左结合, !的结合方向为右结合;如:a>b&&c>d&&e>f 等价于a>b&&c>d&&e>f 通过讲解, 向if 语句过渡.a>b 等价于.a>b 3、条件运算符及条件表达式(1)条件运算符? :C 语言中唯独的一个三目运算符;(2)条件表达式条件表达式的一般形式为:表达式 1?表达式 2:表达式 3 其中,表达式i 1 i3的类型任意,表达式1 一般为关系表达式或规律表达式,表达式2 和表达式 3 一般为同类型表达式;条件表达式的求解过程是:先求解表达式1,如表达式1 的值不为 0,就求解表达式 2,表达式 2 的值就是条件表达式的值;如表达式 1 的值为 0,就求解表达式 3,表达式 3 的值就是条件表达 式的值;如:细心整理归纳 精选学习资料 3>2.3+2:3*2 表达式的值为5 通 过 与 前 面 第 3 页,共 8 页 a > b .3.=0:7= =8 表达式的值为0 (3)优先级和结合方向条件运算符的优先级高于赋值运算符,但低于规律运算符、关系引 入 的 例 子运算符和算术运算符;如:重 点 说 明 其格式3>2.3+2:3*2 等价于3>2.3+2:3*2 - - - - - - - - - - - - - - - - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精品教学教案 a > b .3.=0:7= =8 等价于 a > b .3.=0:7= =8 条件运算符的结合方向为右结合;如:留意:· 条件表达式中的表达式2 和表达式 3 只有一个被求解;· 表达式 1 的类型可与表达式 2 和表达式 3 的类型不同;三、分支结构表示IF 语句在 C 中条件语句的一般形式为 : if 表达式 语句 1; else 语句 2; 执行过程如下:假如表达式的值为非 0TURE 即真 , 就执行语句 1, 执行完语句 1从语句 2 后开头连续向下执行 ; 假如表达式的值为 0FALSE 即假 , 就跳过语句 1 而执行语句 2;然后程序连续往下执行;所谓表达式是指关系表达式和规律表达式的结合式 , 关于表达式前面已作过介绍 , 这是不再重复;留意:真 非 0 表达式假0 , 必需使用 ""结 合 实 例 说语 句 1 语 句 2 1 或语句2 有多于一条语句要执行时明 其 注 意 事1. 假如语句项和"" 把这些语句包括在其中 , 此时条件语句形式为:if 表达式 语句体 1; else 语句体 2; 2. 分支程序的三种形式(1)单分支:例 1 输入一个整型数,输出该数的肯定值;main int a,; 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 4 页,共 8 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精品教学教案 scanf"%d",&a; ifa<=0 a=-a; printf"%dn",a; (2)上述是双分支 例 2 输入两个整型数,将平方值较大者输出;main int a,b,max; scanf"%d%d",&a,&b; ifa*a>b*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; D ; 通 过 图 例 说明 嵌 套 的 匹 ifx>=90 y= A ; 配关系; else ifx>=80 y= B ; else ifx>=70 y= C ; else ifx>=60 y= else y= E ; printf"y=%cn",y; 四 If 嵌套格式if 语句可以嵌套, 即在一个 if 语句中又可以包含一个或多个 if 语 句,一般形式为:if 表达式 1 if 表达式 2 语句 1 else 语句 2 else 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 5 页,共 8 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精品教学教案if 表达式 3 语句 3 else 语句 4 留意:在缺省花括号的情形下,if 和 else 的配对关系是:从最内层开头,else 总是与它上面最近的并且没有和其他 else 配对的 if 配对;程序员应当养成良好的编程习惯,从书写格式上,留意 if 和 else 的层次关系, 反映 if 与 else 的配对关系; 以便提高程序的保护和懂得;如下 if 与 else 的配对举例;对比实例, 详 细 细 化 注 意 事项例 4 已知函数y=01x0 通过实例, 说x0 x0 1明 分 支 程 序编写程序,输入x,输出 y 值;设计的思想,main 巩 固 前 面 所 float x; int y; 讲的内容; scanf"%f",&x; ifx>=0 ifx>0 y=1; else y=0; else y=-1; printf"x=%f y=%dn",x,y; 使用 if 语句时应留意以下几点: if 后面圆括号内的表达式可以为任意类型,但一般为关系表细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 6 页,共 8 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精品教学教案达式或规律表达式; if 和 else 后面的语句可以是任意语句; ifx 与 ifx.=0 等价; if.x 与 ifx= =0 等价;五、举例说明例 5:读入一个整数, 判定其能否被3 整除;#include <stdio.h> 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 <stdio.h> #include math.h main float a ,b ,c ; float max ; printf“ Enter 3 numbers n” ;scanf "%f , %f , %f ",&a,&b,&c; if absa > abs b max=absa ; else max=absb ; if max < abs c max=absc ; printf"Max=%fn",max ; 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 7 页,共 8 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精品教学教案 例 7 输入三个整数,按大小次序输出程序如下:#include <stdio.h> main int a,b,c,temp ; scanf “ %d,%d,%d” ,&a,&b,&c ; if a<b temp=a; a=b ; b=temp ; if a<c temp=a; a=c ; c=temp ; if b<c temp=b; b=c ; c=temp ; printf“ %4d ,%4d ,%4d” ,a,b,c ; 六总结本讲对关系运算符和关系表达式、规律运算符和规律表达式做了具体的论述;并对条件运算符及条件表达式;通过对上面的论述,可以得到对挑选结构条件的建立;用 IF 语句对挑选结构来得到实现,IF语句的格式及其应用;细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 8 页,共 8 页 - - - - - - - - -