《2.2分支程序设计二 电子课件 C语言程序设计基础.ppt》由会员分享,可在线阅读,更多相关《2.2分支程序设计二 电子课件 C语言程序设计基础.ppt(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2.2分支程序设计二 电子课件工信版 C语言程序设计基础(2 2)请观察下面的流程图,回答问题。)请观察下面的流程图,回答问题。x=10y=xy=2*x-1y=3*x-10真真假假真真假假#include”stadio.h”main()int x,y;scanf(“%f”,&x);if(x=10)y=2*x-1;else y=3*x-10;printf(“y=%f”,y);1.1.第一个第一个elseelse隐含的条件是?隐含的条件是?1.1.第二个第二个elseelse隐含的条件是?隐含的条件是?x=1x=1 x=1&x=1&x10elseIf语句,ifelse语句、ifelse if语句的
2、嵌套形式。表达式表达式1语句语句表达式表达式2YYNNIf(表达式表达式1)If(表达式表达式2)语句语句1.If与与if 语句的嵌套语句的嵌套表达式表达式2YY表达式表达式1语句语句1N语句语句2N2.If与与if else的嵌套的嵌套If(表达式表达式1)if(表达式表达式2)语句语句1 else 语句语句23.Ifelse与if的嵌套(1)表达式表达式1N表达式表达式2YY语句语句1语句语句2Nif(表达式表达式1)If(表达式表达式2)语句语句1 else 语句语句24.Ifelse与if的嵌套(2)表达式表达式1N表达式表达式2YY语句语句1语句语句2Nif(表达式表达式1)语句语句
3、1 else If(表达式表达式2)语句语句25.Ifelse与ifelse的嵌套表达式表达式1N表达式表达式2YY语句语句1语句语句3N语句语句2if(表达式表达式1)If(表达式表达式2)语句语句1 else 语句语句2 else 语句语句3对照上图形式在图内填空对照上图形式在图内填空表达式表达式1语语 句句 1语 句 2表表达达式式3 语 句 4真真假假真真假假 真真假假表达式表达式2语句3根据上图,写出对应的语句形式。根据上图,写出对应的语句形式。if(if(表达式表达式1)1)语句语句1 1else ifelse if()语句语句2 2 else if(else if(表达式表达式3
4、)3)else else 语句语句4 4表达式表达式语句语句3 3#include”stdio.h”#include”stdio.h”main()main()float x,y;float x,y;printf(“printf(“请输入请输入x x的值:的值:”)”);scanf(“%f”,&x);scanf(“%f”,&x);if(x1)if(x=10)else if(x=10)y=3*x-10;y=3*x-10;else else printf(“y printf(“y的值为的值为:%fn”,y);:%fn”,y);(3 3)根据所得语句形式,填写程序,并记录上机调试结果。)根据所得语句形
5、式,填写程序,并记录上机调试结果。y=x;y=x;y=2*x-1;y=2*x-1;题目:输入一个数题目:输入一个数x,如果,如果x=10,则则y=3x-10,否则,否则,y=2x-1,输出输出y的值。的值。知识盘点:ifif语句的嵌套:语句的嵌套:1.If1.If语句成为其他语句成为其他ifif语句的语句,称为嵌套。语句的语句,称为嵌套。2.If2.If语句可以任意嵌套语句可以任意嵌套3.3.语句可以使任何合法的语句。语句可以使任何合法的语句。4.else4.else与与ifif的配对规则的配对规则 else else总是与他前面最近的没有配对的总是与他前面最近的没有配对的ifif进行配对进行
6、配对ifif语句的嵌套语句的嵌套(1)按)按else与与if的配对规则划分下列关系。的配对规则划分下列关系。if(条件条件1)if(条件条件2)语句语句1 else 语句语句2 else if(条件条件3)语句语句3 else 语句语句4请观察以下程序段和流程请观察以下程序段和流程图,完成问题。图,完成问题。程序段:程序段:if(x7)if(x7)if(x13)if(x7x7x13输出left!输出right!真真假假真假真假(1 1)判断以上)判断以上2 2个流程图中,哪一个与程序段相吻合?为什么?个流程图中,哪一个与程序段相吻合?为什么?答:根据答:根据elseelse与与ifif的配对规
7、则,第二个图与程序段相吻合。的配对规则,第二个图与程序段相吻合。(2 2)写出该程序段的运行结果。)写出该程序段的运行结果。X X的取值的取值运行结果运行结果6 6无结果无结果1212left!left!1818right!right!main()int x,y=1,z;if(y!=0)x=5;printf(x+%dt,x);if(y=0)x=3;else x=5;printf(x=%dtn,x);x=1;if(z0)x=3;else x=5;printf(x=%dtn,x);if(z=y0)x=5;else x=7;printf(x=%dt,x);printf(%dtn,z);if(x=y=
8、z)x=3;printf(x=%dt,x);printf(z=%dtn,z);a=b=c=0;x=35;if(!a)x=-1;else if(b);if(c)x=3;else x=4;main()int x=1,y=1,z=0;if(z0)x=3;else x=5;printf(%dt,x);if(z=y0)x=3;else if(y=0)x=5;else x=7;printf(%dt,x);printf(%dt,z);当 a=1,b=3,c=5,d=4 时,执行完下面程序段后 x 的值为 。if(a b)if (c d)x=1;else if(a c)if(b 0)s=a+b;if(a0)i
9、f(c0)w=a-b;else t=c;printf(”%d%d%d”,s,w,t);main()int s,t,a,b;scanf(“%d,%d”,&a,&b);s=1;t=1;if(a0)s=s+1;if(ab)t=s+t;else if(a=b)t=5;else t=2*s;printf(“s=%d,t=%d”,s,t);为了使输出结果t=4,输入量a和b应满足的条件是()。输入一个字符,如果它是大写字母,则把它变成小写字母;如果它是小写字母,则把它变成大写字母,其它字符不变。请在空白位置填入适当语句。main()char ch;scanf(“%c”,&ch);if(_)ch=ch+32;else if(ch=a&ch=z)_;printf(“%c”,ch);(2 2)题目:有一个函数:)题目:有一个函数:-1(x0)-1(x0)1(x0)输出输出y y值。值。写法1:main()int x,y;scanf(“%d”,&x);if(x0)y=1;else y=0;printf(“x=%d,y=%dn”,x,y);写法写法2 2:if(x=0)if(x=0)if(x0)y=1;if(x0)y=1;else y=0;else y=0;else y=-1;else y=-1;原因:原因:正确。正确。
限制150内