《选择结构程序设计精.ppt》由会员分享,可在线阅读,更多相关《选择结构程序设计精.ppt(35页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、选择结构程序设计第1页,本讲稿共35页第四章第四章 选择结构程序设计选择结构程序设计 第四章第四章 选择结构程序设计选择结构程序设计 一、关系运算符 4.1 关系运算符和关系表达式 关系运算就是平常所说的比较运算,比较的结果只有两种,要么成立(真),要么不成立(假)。如:3大于=大于等于小于=小于等于=等于!=不等于第2页,本讲稿共35页第四章第四章 选择结构程序设计选择结构程序设计 二、关系表达式 1.1.概念概念 用关系运算符将两个表达式连接起来的式子用关系运算符将两个表达式连接起来的式子 如:如:3+52-63+55);,35);printf(printf(“%d%d”,24+1);,2
2、4+1);第3页,本讲稿共35页关于优先次序关于优先次序 1.1.前四种关系运算符(前四种关系运算符(,=),=)优先级别相同,优先级别相同,后两种也相同。前四种高于后两种。后两种也相同。前四种高于后两种。2.2.算术运算符算术运算符 (高)(高)关系运算符关系运算符 赋值运算符赋值运算符 (低)(低)第4页,本讲稿共35页第四章第四章 选择结构程序设计选择结构程序设计 例例 关系表达式的例子关系表达式的例子main()main()int x;int x;printf(printf(“please input x:please input x:”););scanf(scanf(“%d%d”,&
3、x);,&x);if (x0)if (x0)printf(printf(“x0 x0”););elseelse printf(printf(“x=0 x=0”。如果需要描述“x=0”、同时“x=0)&(x10)(x5)!(x=0)2.2.逻辑表达式的值逻辑表达式的值 C中逻辑表达式若成立(为真),它的值为1 不成立(为假),它的值为0。如:4=0&42 值为0 55 值为1 !3=0 值为1第8页,本讲稿共35页4.3 if 语句 一、函数格式if(if(条件条件)/要执行的语句块要执行的语句块 第四章第四章 选择结构程序设计选择结构程序设计if(if(条件条件)/要执行的语句块要执行的语句块
4、 elseelse /要执行的语句块要执行的语句块 第9页,本讲稿共35页if(if(条件条件1)1)/要执行的语句块要执行的语句块1 1 else if(else if(条件条件2)2)/要执行的语句块要执行的语句块3 3 else if(else if(条件条件3)3)/要执行的语句块要执行的语句块3 3.elseelse/要执行的语句块要执行的语句块n n 第10页,本讲稿共35页第四章第四章 选择结构程序设计选择结构程序设计 例例1 1 输入一个数输入一个数,判断它是否是正数。判断它是否是正数。main()main()int x;int x;clrscr();clrscr();prin
5、tf(printf(“please input x:please input x:”););scanf(scanf(“%d%d”,&x);,&x);if (x0)if (x0)printf(printf(“YESYES”););第11页,本讲稿共35页第四章第四章 选择结构程序设计选择结构程序设计 例例1 1 上例的另外两种形式上例的另外两种形式main()main()int x;int x;printf(printf(“please input x:please input x:”););scanf(scanf(“%d%d”,&x);,&x);if (x0)if (x0)printf(pri
6、ntf(“YESYES”););说明说明:当语句块只有一条语句时当语句块只有一条语句时,“”可以省略可以省略第12页,本讲稿共35页第四章第四章 选择结构程序设计选择结构程序设计main()main()int a,b,c;int a,b,c;a=60;b=65;c=70;a=60;b=65;c=70;if(a0&b0&c0)if(a0&b0&c0)printf(printf(“%dn%dn”,a);,a);printf(printf(“%dn%dn”,b);,b);printf(printf(“%dn%dn”,c);,c);例例2 2 先读左边程序先读左边程序,然后说出程序的输出然后说出程序的
7、输出结果结果 输出结果输出结果:60 60 65 65 70 70第13页,本讲稿共35页第四章第四章 选择结构程序设计选择结构程序设计 例例2 2 再读左边程序再读左边程序,然后说出程序的输出然后说出程序的输出结果结果 输出结果输出结果:?main()main()int a,b,c;int a,b,c;a=60;b=65;c=70;a=60;b=65;c=70;if(a0&b0&c0)if(a0&b0&c0)printf(printf(“%dn%dn”,a);,a);printf(printf(“%dn%dn”,b);,b);printf(printf(“%dn%dn”,c);,c);第14
8、页,本讲稿共35页第四章第四章 选择结构程序设计选择结构程序设计 例例3 3 输入一个数判断它是奇数还是偶数。输入一个数判断它是奇数还是偶数。main()main()int x;int x;printf(printf(“please input x:please input x:”););scanf(scanf(“%d%d”,&x);,&x);if (x%2=0)if (x%2=0)printf(printf(“x is evenx is even”););elseelse printf(printf(“x is oddx is odd”););第15页,本讲稿共35页第四章第四章 选择结构程
9、序设计选择结构程序设计练习练习1 1输入一个数输入一个数,判断它能否被判断它能否被2,3,42,3,4同时整除同时整除,并输出相应提示并输出相应提示练习练习2 2给定分段函数如下给定分段函数如下,编程从键盘输入编程从键盘输入X X的值的值,输出输出Y Y的值的值X X2 2+6X (-1+6X (-1 X1)X1)-3X+2 (x-1-3X+2 (x1x1 )Y Y=注意两类典型错误注意两类典型错误第16页,本讲稿共35页第四章第四章 选择结构程序设计选择结构程序设计main()main()int a,b,c;int a,b,c;int x,y,z;int x,y,z;a=60;b=65;c=
10、70;a=60;b=65;c=70;x=80;y=85;z=90;x=80;y=85;z=90;if(a+b+cx+y+z)if(a+b+cx+y+z)printf(printf(“%dn%dn”,a;);,a;);printf(printf(“%d%dnn”,b;);,b;);printf(printf(“%d%dnn”,c;);,c;);elseelse printf(printf(“%d%dnn”,x;);,x;);printf(printf(“%d%dnn”,y;);,y;);printf(printf(“%d%dnn”,z;);,z;);例例4 4 先读左边程先读左边程序序,然后说出
11、程序的然后说出程序的输出结果输出结果 输出结果输出结果:80 80 85 85 90 90第17页,本讲稿共35页第四章第四章 选择结构程序设计选择结构程序设计main()main()int a,b,c;int a,b,c;int x,y,z;int x,y,z;a=60;b=65;c=70;a=60;b=65;c=70;x=80;y=85;z=90;x=80;y=85;z=90;if(a+b+cx+y+z)if(a+b+cx+y+z)printf(printf(“%dn%dn”,a;);,a;);printf(printf(“%dn%dn”,b;);,b;);printf(printf(“%
12、dn%dn”,c;);,c;);elseelseprintf(printf(“%dn%dn”,x;);,x;);printf(printf(“%dn%dn”,y;);,y;);printf(printf(“%dn%dn”,z;);,z;);例例4 4 再读左边程再读左边程序序,然后说出程序的然后说出程序的输出结果输出结果 输出结果输出结果:?第18页,本讲稿共35页第四章第四章 选择结构程序设计选择结构程序设计 例例5 5 输入两个数,输出其中的大数。输入两个数,输出其中的大数。main()main()int x,y;int x,y;printf(printf(“please input x,
13、y:please input x,y:”););scanf(scanf(“%d,%d%d,%d”,&x,&y);,&x,&y);if (xy)if (xy)printf(printf(“max=%dmax=%d”,x);,x);elseelse printf(printf(“max=%dmax=%d”,y);,y);第19页,本讲稿共35页第四章第四章 选择结构程序设计选择结构程序设计 例例5 5 输入两个数,输出其中的大数输入两个数,输出其中的大数(第二种形式第二种形式)。main()main()int x,y,max;int x,y,max;printf(printf(“please in
14、put x,y:please input x,y:”););scanf(scanf(“%d,%d%d,%d”,&x,&y);,&x,&y);if (xy)max=x;else max=y;if (xy)max=x;else max=y;printf(printf(“max=%dmax=%d”,max);,max);第20页,本讲稿共35页第四章第四章 选择结构程序设计选择结构程序设计 例例6 6 输入三个数,输出其中的大数(第一种形式)输入三个数,输出其中的大数(第一种形式)main()main()int x,y,z,max1,max2;int x,y,z,max1,max2;printf(p
15、rintf(“please input x,y,z:please input x,y,z:”););scanf(scanf(“%d,%d,%d%d,%d,%d”,&x,&y,&z);,&x,&y,&z);if (xy)max1=x;else max1=y;if (xy)max1=x;else max1=y;if (max1z)max2=z;else max2=max1;if (max1y&xz)if (xy&xz)printf(printf(“max=%dmax=%d”,x);,x);if (yx&yz)if (yx&yz)printf(printf(“max=%dmax=%d”,y);,y)
16、;if (zx&zy)if (zx&zy)printf(printf(“max=%dmax=%d”,z);,z);注意本程序的注意本程序的BUGBUG第22页,本讲稿共35页第四章第四章 选择结构程序设计选择结构程序设计 例例6 6 输入三个数,输出其中的大数(第三种形式)输入三个数,输出其中的大数(第三种形式)main()main()int x,y,z,max;int x,y,z,max;printf(printf(“please input x,y,z:please input x,y,z:”););scanf(scanf(“%d,%d,%d%d,%d,%d”,&x,&y,&z);,&x,
17、&y,&z);if (xy)if (xy)if(xz)max=x;if(xz)max=x;else max=z;else max=z;elseelse if(yz)max=y;if(yz)max=y;else max=z;else max=z;printf(printf(“max=%dmax=%d”,max);,max);第23页,本讲稿共35页第四章第四章 选择结构程序设计选择结构程序设计 例例7 IF-ELSE 7 IF-ELSE 的配对问题的配对问题main()main()int x=-2,y=10;int x=-2,y=10;if(x0)if(x0)if(y0)if(y0)printf
18、(printf(“+”););elseelse printf(printf(“-”););第24页,本讲稿共35页第四章第四章 选择结构程序设计选择结构程序设计main()main()int x=-2,y=10;int x=-2,y=10;if(x0)if(x0)if(y0)if(y0)printf(printf(“+”););elseelseprintf(printf(“-”););main()main()int x=-2,y=10;int x=-2,y=10;if(x0&y0)if(x0&y0)printf(printf(“+”););elseelseprintf(printf(“-”);
19、);第25页,本讲稿共35页第四章第四章 选择结构程序设计选择结构程序设计要注意的问题要注意的问题1 1 使用使用和不使用的区别和不使用的区别2 2IFIF语句并列问题语句并列问题3 3IFIF语句嵌套问题语句嵌套问题4 4IFIF语句的配对问题语句的配对问题 使用使用可避免二义性可避免二义性 使用复杂逻辑表达式,可简化多个使用复杂逻辑表达式,可简化多个IFIF语句语句 第26页,本讲稿共35页第四章第四章 选择结构程序设计选择结构程序设计 例例8 8 输入身高和体重,判断是否正常输入身高和体重,判断是否正常main()float h,w,r;clrscr();printf(“please i
20、nput h,w:”);scanf(“%f,%f”,&h,&w);r=w/h;if(r0.5&r0.6&r0.8&r0.9)printf(“thin too!”);getch();第27页,本讲稿共35页第四章第四章 选择结构程序设计选择结构程序设计#include#include main()main()int x,y;int x,y;.例例9 IF9 IF if else if else else else 例子例子给定分段函数如下给定分段函数如下,编程从键盘输入编程从键盘输入X X的值的值,输出输出Y Y的值的值X X2 2+6X (-10+6X (-10 X)X)-2X+2 (0 x-
21、2X+2 (0 x-10)-10)Y Y=X-1 X-1 X+1 X+1 (10 (10 x=0)x=0)X X3 3-1 -1 (x=10)(x=10)第28页,本讲稿共35页4.4 switch 语句 一、函数格式switch(switch(条件条件)case case 表达式表达式1:1:/要执行的语句块要执行的语句块1 1 case case 表达式表达式2:2:/要执行的语句块要执行的语句块2 2.defaultdefault/要执行的语句块要执行的语句块n n 第29页,本讲稿共35页第四章第四章 选择结构程序设计选择结构程序设计 例例 显示字符菜单,根据选择输出不同信息显示字符菜
22、单,根据选择输出不同信息main()main()int x;int x;clrscr();clrscr();printf(“Main Menu n”);printf(“Main Menu n”);printf(“=n”);printf(“=n”);Printf(“1 Music n”);Printf(“1 Music n”);Printf(“2 Game n”);Printf(“2 Game n”);Printf(“3 Movie n”);Printf(“3 Movie n”);Printf(“4 Exit n”);Printf(“4 Exit n”);Printf(“=n”);Printf(
23、“=n”);printf(“Your Choice(1-4):”);printf(“Your Choice(1-4):”);scanf(“%d”,x);scanf(“%d”,x);第30页,本讲稿共35页switch(x)switch(x)case 1:case 1:printf(“Your choice is music”);printf(“Your choice is music”);case 2:case 2:printf(“Your choice is game”);printf(“Your choice is game”);case 3:case 3:printf(“Your cho
24、ice is movie”);printf(“Your choice is movie”);default:default:printf(“error choice”);printf(“error choice”);第31页,本讲稿共35页p 补充程序补充程序1 1(编译时警告和错误的区别编译时警告和错误的区别)main()int x,y,z,a,b,c;a=x;y+x=z;printf(“a=%d b=%d”,a,b);getch();第四章第四章 选择结构程序设计选择结构程序设计注意上述程序编译后的警告和错误注意上述程序编译后的警告和错误,理解他们具体的含义理解他们具体的含义第32页,本讲
25、稿共35页第四章第四章 选择结构程序设计选择结构程序设计#include bios.h#include bios.h#include conio.h#include conio.hmain()main()int cint c;clrscr();clrscr();printf(printf(“please press any key:please press any key:”););c=bioskey(0);c=bioskey(0);switch(c)switch(c)case 18432:case 18432:/*up*/*up*/printf(UP);printf(UP);break;br
26、eak;p 补充程序补充程序2 2(能够不断键盘任意按键的程序能够不断键盘任意按键的程序)第33页,本讲稿共35页case 20480:/*down*/case 20480:/*down*/printf(DOWN);printf(DOWN);break;break;case 19200:/*left*/case 19200:/*left*/printf(LEFT);printf(LEFT);break;break;case 19712:/*right*/case 19712:/*right*/printf(RIGHT);printf(RIGHT);break;break;case 283:case 283:/*ESC*/*ESC*/printf(ESC);printf(ESC);break;break;第34页,本讲稿共35页1 从键盘输入四个数,输出其中的最大数。2 从键盘输入一个正整数,判断它是否是一个能被3整除的偶数,并输出相应提示。3 输入四门课成绩,判断能否获一等奖学金(均分在90分以上,单门最低80分)。4 已知圆的方程为:X2+Y2=100,从键盘输入一个点的坐标,判断在圆内/圆外。p 本章练习本章练习第四章第四章 选择结构程序设计选择结构程序设计第35页,本讲稿共35页