ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:40.73KB ,
资源ID:8293584      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8293584.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(分支程序设计.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

分支程序设计.docx

1、分支程序设计编号:GXJG/JX-JL-12(08) 保存期限:三年教案审批表学科C语言程序设计第三章分支程序设计3.1条件语句审 批 签 字授 课 时 数2授 课 方 法多媒体讲授授 课 时 间授 课 班 级12电子教 学 目 的知识目标:掌握if语句的格式及使用,掌握条件运算符的格式及使用。能力目标:熟练使用if语句。情感目标:培养学生的逻辑思维,提高学生知识应用能力。教 学 重 点和 难 点重点: if语句的格式及使用,条件运算符的格式及使用。难点:条件运算符。复 习 提 问C语言有哪些运算符?教 具多媒体课件课 外 作 业教 学 内 容 、 方 法 和 过 程附 记一、组织教学:点名。

2、二、前课复习:运算符,顺序结构程序设计。三、新课导入:讲解分支语句。四、新课讲解:见附页五、总结回顾:见附页课题名称:3.1条件语句教学目标:(1)知识目标:掌握if语句的格式及使用,掌握条件运算符的格式及使用;(2)能力目标:熟练使用if语句;(3)情感目标:培养学生的逻辑思维,提高学生知识应用能力。教学分析与准备:1.教学重点if语句的格式及使用,条件运算符的格式及使用。2.教学难点条件运算符。3.教学策略通过对比,讨论启发学生对if语句的认识,结合具体实例分析加深学生对if语句的认识。4课时安排2课时(45分钟2)5教学环境多媒体教室学习过程:分支程序往往需要一个关系表达式或者逻辑表达式

3、作为判决的条件。根据其值是真还是假来决定执行相应的语句。3.1.1 if语句if语句在C语言里有两种基本形式:(1)if (条件) 语句; (2)if (条件) 语句1;else 语句2;无论是哪种形式的if语句,都要首先判断( )内表达式的值,若为真(不为0),执行( )后的语句(第(2)种形式为语句1);若为假(为0)则执行( )后面语句之后的语句(第(2)种形式为else后的语句2)。图7-1为这两种形式的程序框图。图7-1 两种if语句的程序框图注意,这两种形式if后的“条件”大多是逻辑表达式或关系表达式,根据是0还是非0执行“假”或“真”的处理。此外,语句之后一定有分号(;),它是语

4、句的组成部分,不能省略(尤其是else前的分号)。同时,若if和else后有多个语句,可以用 形成复合语句。例3-1 输入两个实数,按代数值由小到大次序输出这两个数。main() float a,b,x;printf(Please input a,b:n);scanf(f,f”,&a,&b);if(ab) x=a;a=b;b=x;printf(f,%fn,a,b);运行情况如下:4.5,2.82.8,4.5if条件后面是复合语句,完成两个变量的交换,不能用a=b,b=a;来进行交换,常用第三个变量来暂存变量值。例3-2 若上例改为由大到小次序。main() float a,b,x;printf

5、(Please input a,b:n);scanf(f,f”,&a,&b);if(amax) max=b;if(c max) max=c;prinf(5.2fn,max);运行情况如下:please input a,b,c;5.5,8,6.3max=8.00本例使用两个个if语句,以依次比较出最大者。3.1.2 if语句嵌套一个if语句可以包含另一个或多个if语句称为语句配套,注意e1se总是与它最近的一个if配套,这一点与Pascal语言相同。if (条件)内嵌ifif(条件) 语句1else 语句2else内嵌ifif(条件) 语句3else 语句4请注意以下两个语句的差别:(1)if(

6、条件1)if(条件2) 语句1else 语句2(2)if (条件1)if (条件2) 语句1else 语句2第(1)个语句中else后面语句2与条件2有关,在条件1成立的情况下,条件2不成立就执行语句2,当条件1不成立时,语句1及语句2都不执行;第(2)个语句指条件1和条件2均成立时,执行语句1,若条件1不成立就执行语句2,即语句2的执行与否同条件2无关。例3-4 以下程序输入一个x值,输出y值。试判定下列程序段正确与否。(1)main() int x,y;scanf(d,&x);if(x0) y=1printf(x=d,y=dn,x,y);说明;该程序使用三个if语句,对y赋值,因为x取值只

7、能使三个证语句中的一个条件为真,因此y只进行一次赋值,本程序是正确的。(2)main()int x,y;scanf(d,&x);y=1;if(x!=0)if(x0) y1;else y0;printf(x=d,y=dn,x,y);说明:该程序中if(x!=0)中内嵌一个if(x0)语句,当输入x=0时,y值为1,显然与原意不符,程序有错,如果花括号把if(x0)y=1;括起来,那么else就与if(x!=0)匹配,这样当x=0时执行y=0;语句,程序就可以运行正确。(3)main() int x,y;scanf(d,&x);y=0;if(x=0)if(x0) y1;else y=1;print

8、f(x=d,y=dn,x,y);说明:该程序当x0)y=1;括起来。3.1.3条件运算符的作用C语言中 if(ab) mina;else min=b;可简写为: min=(ab)?a;b;条件运算符的功能曾在第二章提到,它需要三个操作时象,是C语言唯一的三目运算符。下面进一步可以说明,(1)注意执行的顺序“el?e2:e3”中先执行表达式e1,若为非零(真)求解表达式e2,并把e2值作为整个表达式的值;若e1值为零(假)求解表达式e3,并把e3值作为整个表达式的值,在min=(ab)?a:b;中把a、b中小的值赋于min。(2)条件运算符优先于赋值运算符,即先求解后赋值,但条件运算符优先级又低

9、于关系运算符和算术运算符,因此min=(ab)?a:b;中括号可以省略,写成min=ab?a:b+1相当于ab?a:(b+1);不相当于(ab?a:b)+1(3)条件运算符是“自右向左”结合的。例如:若a=1,b=3,c=5,d=7,那么:ab?a:cd?c:d;相当于ab?a:(cd?c:d);该语句执行后,表达式值为7。 (4)条件表达式不能取代一般的if语句,只有if语句中内嵌语句为赋值语句且赋予同一变量时才能取代。例如:if(xy) printf(d,a)else printf(d,b);不能用一个条件表达式替代,但可用以下语句代替:printf(d,xy?a:b);(5)el、e2、

10、e3三个表达式类型可以不同,当e2、e3类型不同时自动进行类型转换。例如:xy?1.2:2若xy表达式值为1.2,否则为2.0(整型实型)。课堂小结:If语句,条件运算符。编号:GXJG/JX-JL-12(08) 保存期限:三年教案审批表学科C语言程序设计第三章分支程序设计3.2多分支语句3.3分支程序设计实例审 批 签 字授 课 时 数2授 课 方 法多媒体讲授授 课 时 间授 课 班 级12电子教 学 目 的知识目标:掌握switch语句格式及使用,掌握分支程序设计方法。能力目标:熟练分支程序设计。情感目标:培养学生的逻辑思维,提高学生分析问题解决问题的能力。教 学 重 点和 难 点重点:

11、switch语句的格式及作用,分支程序设计方法。难点:switch语句的执行过程。复 习 提 问If语句怎么执行?教 具多媒体课件课 外 作 业教 学 内 容 、 方 法 和 过 程附 记一、组织教学:点名。二、前课复习:if语句。三、新课导入:结合实际问题,讲解多分支语句的必要性。四、新课讲解:见附页五、总结回顾:见附页课题名称:3.2多分支语句3.3分支程序设计实例教学目标:(1)知识目标:掌握switch语句格式及使用,掌握分支程序设计方法;(2)能力目标:熟练分支程序设计;(3)情感目标:培养学生的逻辑思维,提高学生分析问题解决问题的能力。教学分析与准备:1.教学重点switch语句的

12、格式及作用,分支程序设计方法。2.教学难点switch语句的执行过程。3.教学策略通过对比,结合具体实例分析加深学生对switch语句的认识,通过实际操作进一步熟悉switch语句的使用。4课时安排2课时(45分钟2)5教学环境多媒体教室学习过程:3.2 Switch语句if语句只有两个分支供选择,当有多个分支时应该使用嵌套if语句,但嵌套层次一多时,程序结构复杂,阅读和修改比较困难,C语句中提供多分支选择语句switch语句来解决多分支选择问题。日常生活中,往往会遇到“分类”问题,例如学生成绩分类(90分及以上为A等,8089分为B等,7079分为C等,)、人口统计分类(按年龄分为老年、中年

13、、青年、少年,儿童)、工资统计分类、银行存款分类等。这些问题可用switch语句来解决。switch语句的一般形式为:switch(表达式) case 常量1:语句系列1;break; case 常量2:语句系列2;break;case 常量3:语句系列3;break;default:语句系列n+1;switch语句执行流程是:先计算“表达式”的值,然后顺序地与后面case子句中列出的各个常量相比较,若表达式值等于常量i则执行相应的“语句序列i”,再执行break语句跳出switch子句,若“表达式”值与case子句后所有常量都不相等,且有default子句,那么执行“语句序列n+1,如果没有

14、default子句,则直接跳出switch语句。使用switch语句应注意以下问题:(1)switch语句和if语句不同,它只能判断一种逻辑关系,即表达式值是否等于指定的常量,而if语句可以计算并判断各种表达式。(2)case子句后的常量可以是整型、字符型、枚举型数据或者是整型表达式,但不允许是变量,即允许是与switch后表达式类型一致的常量。(3)同一个switch中case后的常量不能相同,但在相互嵌套的不同层次switch之间允许有相同的常量。(4)default子句可以省略。(5)case和defaulf后的“语句序列”允许由多个语句构成并且不必(也可)用花括号括起来。(6)case

15、及defaulf语句出现的次序是任意的,可以变换位置,并不影响switch功能。(7)多个case可共用一组执行语句,例如:caseA:caseB:caseC:prinf(60n);break;当表达式值为A、B或C时都执行printf语句。(8)switch语句中break语句作用是重要的,它保证语句序列执行结束后跳出switch语句,否则会执行下一个语句序列,当然最后一个语句后的break可以省略。例如:switch(grade) caseA:printf90100n;caseB:printf(8089n);caseC:printf(7089n);caseD:printf(6069n);c

16、aseE:printf(60n);default:printf(error!n);当grade=C时,执行此switch语句,将输出:7079606960error!因此在每个case后都应该用break跳出switch语句。goto语句goto语句是无条件语句,转向带有标号的语句行去执行,所谓标号同变量一样,用标识符来表示,只是其后加有冒号(:)而已,标号加到goto语句转去执行的语句前面。goto语句一般形式是:goto 标号;使用goto语句应该注意三个问题:(1)goto语句中有标号的必须是本函数段内已存在的合法标号。(2)不能从switch或循环体外面转移到循环体或switch语句中

17、。(3)goto语句仅在函数内有效,不能在不同函数之间使用goto语句。例如:用if及goto语句计算。 main( ) int i,sum=0;i1;loop:if(i5)rate=0.0541;else if(year=3)rate=0.0433;else if(year=1)rate=0.0392;else if(year=0)rate=0.023;elserate=0;total=money+money*rate*year;printf(Total.2fn,total);说明:为简化问题,认为超过年限部分的利息按照原年限计息而不是按活期计息。程序2:#includestdio.hmai

18、n() float year,money,rate,total;printf(Input money & year=?n);scanf(f,f,&money,&year);if(year=0)rate=0;else swith(int)year) case 4:case 3:rate=0.0433;break;case 2:case 1:rate=0.0392;break;case 0:rate=0.023;break;default:rate0.0541;total=money+money*rate*year;printf(”Total=.2fn,total);)说明:(int)year强制

19、把实型转变为整型,当(int)year大于等于5时,均按5年计算利率,程序中要用default实现。例3-7 输入两个整数及一个字符操作符+、*、分别对两数进行相应运算。分析:根据输入的字符ch为+、*、/时,分别计算,因此可以采用:switch语句。程序:main() int a,b;char ch;printf(输人整数a和b及操作符ch:n);scanf(d,d,c,&a,&b,&ch);switch(ch) case+:printf(d+d=dn,a,b,a+b);break;case:prinf(dd=dn,a,b,ab);break;case*:printf(d*d=dn,a,b,a*b);break;case/:printf(d/d=fn,a,b,a/b);break: 课堂小节:多分枝语句,分支结构程序设计。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1