c语言教案第7讲.ppt

c语言教案第7讲.ppt

ID:56430704

大小:161.50 KB

页数:24页

时间:2020-06-18

c语言教案第7讲.ppt_第1页
c语言教案第7讲.ppt_第2页
c语言教案第7讲.ppt_第3页
c语言教案第7讲.ppt_第4页
c语言教案第7讲.ppt_第5页
资源描述:

《c语言教案第7讲.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第7讲switch语句及选择结构的程序设计举例教学目的与要求:掌握if语句的嵌套和swicth语句的使用掌握选择结构的程序设计教学内容提要:1、if语句的嵌套2、swicth语句3、选择结构的程序设计举例教学重点:if语句的嵌套和swicth语句的使用教学难点:选择结构的程序设计教学进度:P103~P109教学过程:语句含义:语句形式:当if语句中又包含另一个if语句时,则构成了if语句嵌套的情形。1、if语句的嵌套if(表达式1)if(表达式2)语句1;else语句2;elseif(表达式3)语句3;else语句4;1、if语句嵌套语句执行流程:el

2、se与if的配对原则:就近一致原则:else与同一层最接近它,而又没有其它else语句与之相匹配的if语句配对。真(非0)语句2假(0)表达式2语句1语句4假(0)真(非0)表达式1假(0)真(非0)表达式3语句3例1:解方程:ax2+bx+c=0。从代数知识可以知道:⑴若b2-4ac>0有两个不等的实根⑵若b2-4ac=0有两个相等的实根⑶若b2-4ac<0有两个虚根程序为:#include#includevoidmain(){floata,b,c,disc,x1,x2,realpart,imagpart;scanf

3、("%f,%f,%f",&a,&b,&c);printf("theequation");if(fabs(a)<=1e-6)b=0输出“无解”输出单根:x=-c/b假真disc<0输出两复数根输出两实根真假a=0真假disc=b*b-4*a*cprintf("isnotaquadratic");else{disc=b*b-4*a*c;if(fabs(disc)<=1e-6)printf("hastwoequalroots:%8.4f",-b/(2*a));elseif(disc>1e-6){x1=(-b+sqrt(disc))/(2*a);x2=

4、(-b-sqrt(disc))/(2*a);printf("hasdistinctrealroots:%8.4fand%8.4f",x1,x2);}else{realpart=-b/(2*a);imagpart=sqrt(-disc)/(2*a);printf("hascomplexroots∶");printf("%8.4f+%8.4fi",realpart,imagpart);printf("%8.4f-%8.4fi",realpart,imagpart);}}}2、条件运算符?:若if语句中,在表达式为“真”和“假”时,且都只执行

5、一个赋值语句给同一个变量赋值时,可以用简单的条件运算符来处理。例如,若有以下if语句:if(a>b)max=a;elsemax=b;可以用下面的条件运算符(?:)来处理:max=(a>b)?a:b;其中”(a>b)?a:b”是一个“条件表达式”。它是这样执行的:如果(a>b)条件为真,则条件表式取值a,否则取值b.条件运算符要求有三个操作对象,称三目(元)运算符。条件表达式的一般形式为表达式1?表达式2:表达式3它的执行过程见图。表达式1表达式2表达式3T(1)F(0)例2输入一个字符,判别它是否大写字母,如果是,将它转换成小写字母;如果不是,不转换。

6、然后输出最后得到的字符。main(){charch;scanf("%c",&ch);ch=(ch>='A'&&ch<='Z')?(ch+32):ch;printf("%c",ch);}条件表达式不能取代一般的if语句,只有在if语句中内嵌的语句为赋值语句(且两个分支都给同一个变量赋值)时才能代替if语句;下面的if语句就无法用一个条件表达式代替。if(a>b)printf(“%d”,a);elseprintf(“%d”,b);但可以用下面语句代替:printf(”%d”,a>b?a:b);即将条件表达式的值输出。注意:2、switch语句1、语句形式:

7、switch(表达式){case常量1:语句1;case常量2:语句2;case常量3:语句3;.......case常量n:语句n;default:语句n+1;}根据表达式的不同值,选择不同的程序分支,又称开关语句。数值型或字符型常量表达式的值必须互不相同,否则执行时将出现矛盾,即同一个开关值,将对应多种执行方案。千万不能接(;)号注意:各个case的出现次序不影响执行结果,执行完一个case后面的语句后,流程控制转到下一个case继续执行。case后面的常量表达式只是起语句标号作用,并不是在该处进行条件判断;根据switch后面表达式的值找到匹配的

8、入口标号开始执行下去,不再进行判断。例3:根据输入成绩来判断成绩的等级。例3,根据考试成绩的等

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。