




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
c语言选择结构程序设计教案c语言选择结构程序设计教案/NUMPAGES18c语言选择结构程序设计教案c语言选择结构程序设计教案选择结构程序设计(一)说明内容1.关系运算符和关系表达式2.逻辑运算符和逻辑表达式3.条件运算符及条件表达式4.IF语句5.IF语句的嵌套生活中的“十字路口”也属于选择结构类型。举例说明实例讲解说明举例说明通过讲解,向if语句过渡通过与前面引入的例子重点说明其格式结合实例说明其注意事项通过图例说明嵌套的匹配关系。对比实例,详细细化注意事项通过实例,说明分支程序设计的思想,巩固前面所讲的内容。重点1.关系运算符和关系表达式2.逻辑运算符和逻辑表达式3.条件运算符及条件表达式4.IF语句的格式使用5.IF语句的嵌套难点复杂条件的表示;IF语句的正确使用。问题提出通过前面的顺序结构程序设计的介绍,我们都知道顺序结构程序设计按照自上而下的流程的顺序执行,但是在实际生活中,仅顺序结构是无法满足用户要求的,并不是所有的程序都是自上而下的顺序执行,而是根据条件有选择的执行。这就是我们将要学习的分支结构程序设计。详细内容一、导入讨论导入:请教学生翻译下面的英语句子
a.IfsheisnotinClass1thenshewillbeinClass2.
b.IfitdoesnotrainthenI'llgotopark,elseI'llgotothemovie.
创造情景,使学生感觉新鲜和自信,学生可以翻译的准确无误。此过程中,教师引导学生注意if、then、else三个词的使用。学生归纳:条件语句的一般形式:格式1:if条件then语句组格式2:if条件then语句组1else语句组2二、if中的条件表示1.关系运算符和关系表达式在程序中经常需要比较两个量的大小关系,以决定程序下一步的工作。比较两个量的运算符称为关系运算符。(1).关系运算符:操作符作用>大于>=大于等于<小于<=小于等于==等于!=不等于关系运算符都是双目运算符,用于两个运算对象比较。注意:不能将“<=”写成“=<”,也不能将“>=”写成“=>”。(2).关系表达式:用关系运算符将两个运算对象连接起来的式子称为关系表达式。运算对象可以是常量,可以是变量,也可是表达式。如:3>2b*b-4*a*c>=1e-6x==ya%b!=0关系表达式的值:C语言规定用数值0代表关系运算结果为“假”,用数值1代表关系运算结果为“真”。关系表达式值的数据类型为整型。设有定义inta=3,b=2,c=1;则:a>b的值为1c==a的值为0(3).优先级和结合方向>、>=、<和<=的优先级相同;==和!=的优先级相同,两组运算符优先级从高到低的顺序是:>>=<<===!=关系运算符的优先级低于算术运算符。如:a+b>c+d等价于(a+b)>(c+d)关系运算符的结合方向都为左结合。如:a>b>c等价于(a>b)>c2、逻辑运算符和逻辑表达式(1).逻辑运算符&&逻辑与||逻辑或!逻辑非(2).逻辑表达式用逻辑运算符将关系表达式或逻辑量连接起来的式子就是逻辑表达式。运算对象一般为关系表达式或逻辑量(常量或变量)。如;x>10||x<100x==y&&a!=b5&&b如:3>2&&4>3的结果为真 3<4||4>5结果为真 !(3>2)的结果为假逻辑表达式的值:用数值0代表逻辑运算结果为“假”,用数值1代表逻辑运算结果为“真”。在判断一个量(常量或变量)是“真”还是“假”时,C语言规定以0代表“假”,以非0代表“真”。3<4&&4>5的结果为03<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)!!!(a>b)等价于!(!(!(a>b)))3、条件运算符及条件表达式(1).条件运算符?:C语言中唯一的一个三目运算符。(2).条件表达式条件表达式的一般形式为: 表达式1?表达式2:表达式3其中,表达式i(1≤i≤3)的类型任意,表达式1一般为关系表达式或逻辑表达式,表达式2和表达式3一般为同类型表达式。条件表达式的求解过程是:先求解表达式1,若表达式1的值不为0,则求解表达式2,表达式2的值就是条件表达式的值;若表达式1的值为0,则求解表达式3,表达式3的值就是条件表达式的值。如: 3>2?3+2:3*2表达式的值为5’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;执行过程如下:如果表达式的值为非0(TURE)即真,则执行语句1,执行完语句1从语句2后开始继续向下执行;如果表达式的值为0(FALSE)即假,则跳过语句1而执行语句2。然后程序继续往下执行。所谓表达式是指关系表达式和逻辑表达式的结合式,关于表达式前面已作过介绍,这是不再重复。表达式表达式真(非0)假(0)语句1语句2注意:1.如果语句1或语句2有多于一条语句要执行时,必须使用"{"和"}"把这些语句包括在其中,此时条件语句形式为:if(表达式)
{语句体1;}else{语句体2;}2.分支程序的三种形式(1)单分支:例1输入一个整型数,输出该数的绝对值。main(){inta,;scanf("%d",&a);if(a<=0)a=-a;printf("%d\n",a);}(2)上述是双分支例2输入两个整型数,将平方值较大者输出。main(){inta,b,max;scanf("%d%d",&a,&b);if(a*a>b*b)max=a;elsemax=b;printf("%5d\n",max);}(3)多分支if语句是双分支if语句的一个扩充,其格式为:例3输入一个百分制成绩,输出其对应的等级。(90~100为A,80~99为B,70~79为C,60~69为D,0~59为E)main(){intx;chary;scanf("%d",&x);if(x>=90)y=’A’;elseif(x>=80)y=’B’;elseif(x>=70)y=’C’; elseif(x>=60)y=’D’; elsey=’E’;printf("y=%c\n",y);}四.If嵌套格式if语句可以嵌套,即在一个if语句中又可以包含一个或多个if语句,一般形式为: if(表达式1) if(表达式2)语句1 else语句2 else if(表达式3)语句3 else语句4注意:在缺省花括号的情况下,if和else的配对关系是:从最内层开始,else总是与它上面最近的并且没有和其他else配对的if配对。程序员应该养成良好的编程习惯,从书写格式上,注意if和else的层次关系,反映if与else的配对关系。以便提高程序的维护和理解。如下if与else的配对举例。例4已知函数y=编写程序,输入x,输出y值。main(){floatx;inty;scanf("%f",&x);if(x>=0)if(x>0)y=1;elsey=0;elsey=-1;printf("x=%fy=%d\n",x,y);}使用if语句时应注意以下几点:①if后面圆括号内的表达式可以为任意类型,但一般为关系表达式或逻辑表达式。②if和else后面的语句可以是任意语句。③if(x)与if(x!=0)等价。④if(!x)与if(x==0)等价。五、举例说明例5:读入一个整数,判断其能否被3整除。#include<stdio.h>main(){inta;printf("Enteraninteger“);scan("%d",&a);/*输入一个整数*/if(a%3==0)/*判断能否被3整除并输出相应信息*/printf("%d能被3整除\n”,a);elseprintf("%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(){floata,b,c;floatmax;printf(“Enter3numbers\n”);scanf("%f,%f,%f",&a,&b,&c);if(abs(a)>abs(b))max=abs(a);elsemax=abs(b);if(max<abs(c))max=abs(c);printf("Max=%f\n",max);}例7输入三个整数,按大小顺序输出程序如下:#include<stdio.h>main(){inta,b,c,temp;scanf(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山东电力高等专科学校《循证医学与流行病学》2023-2024学年第一学期期末试卷
- 山东工艺美术学院《企业级数据库的配置和管理》2023-2024学年第二学期期末试卷
- 江苏省泗阳县重点名校2025年初三9月联考数学试题含解析
- 三江学院《Oacle数据库》2023-2024学年第二学期期末试卷
- 宁夏银川二中2025届高三下学期期中联考物理试题(创新班)试题含解析
- 辽宁师范高等专科学校《临床微生物》2023-2024学年第一学期期末试卷
- 江苏省南京市示范名校2025年高三下学期第一次诊断考试英语试题含解析
- 房地产分销代理合同二零二五年
- 房地产抵押管理合同书二零二五年
- 二零二五版落水管安装高空作业安全协议书
- 2025-2030铜金属行业市场深度调研及前景趋势与投资研究报告
- 儿童支气管哮喘诊断与防治指南解读(2025年)课件
- 广东省2024-2025学年佛山市普通高中教学质量检测地理试卷(二)高三试卷(佛山二模)
- 锤击桩打桩作业安全培训
- 网络安全法律法规与伦理测试卷
- 2025年辽宁省大连市甘井子区中考一模语文试题(原卷版)
- 律所律师劳动合同范本
- 防艾教育课件下载
- 2024新沪教版英语初一上单词表
- SF-36生活质量调查表(SF-36-含评分细则)
- 高等数学课件第一章函数与极限
评论
0/150
提交评论