《选择结构程序设计精品文稿.ppt》由会员分享,可在线阅读,更多相关《选择结构程序设计精品文稿.ppt(35页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、选择结构程序设计第1页,本讲稿共35页第四章 选择结构程序设计 第四章 选择结构程序设计 一、关系运算符 4.1 关系运算符和关系表达式 关系运算就是平常所说的比较运算,比较的结果只有两种,要么成立(真),要么不成立(假)。如:3大于=大于等于小于=小于等于=等于!=不等于第2页,本讲稿共35页第四章第四章 选择结构程序设计选择结构程序设计 二、关系表达式 1.概念 用关系运算符将两个表达式连接起来的式子 如:3+55);,35);printf(printf(“%d%d”,24+1);,24+1);第3页,本讲稿共35页关于优先次序关于优先次序 1.1.前四种关系运算符(前四种关系运算符(,=
2、),=)优先级别相同,优先级别相同,后两种也相同。前四种高于后两种。后两种也相同。前四种高于后两种。2.2.算术运算符算术运算符 (高)(高)关系运算符关系运算符 赋值运算符赋值运算符 (低)(低)第4页,本讲稿共35页第四章第四章 选择结构程序设计选择结构程序设计 例例 关系表达式的例子关系表达式的例子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(printf(“x0 x0”););elseel
3、se printf(printf(“x=0 x=0”。如果需要描述“x=0”、同时“x=0)&(x10)(x5)!(x=0)2.逻辑表达式的值 C中逻辑表达式若成立(为真),它的值为1 不成立(为假),它的值为0。如:4=0&42 值为0 55 值为1 !3=0 值为1第8页,本讲稿共35页4.3 if 语句 一、函数格式if(条件)/要执行的语句块 第四章第四章 选择结构程序设计选择结构程序设计if(条件)/要执行的语句块 else/要执行的语句块第9页,本讲稿共35页if(条件1)/要执行的语句块1else if(条件2)/要执行的语句块3else if(条件3)/要执行的语句块3.els
4、e/要执行的语句块n 第10页,本讲稿共35页第四章第四章 选择结构程序设计选择结构程序设计 例例1 1 输入一个数输入一个数,判断它是否是正数。判断它是否是正数。main()main()int x;int x;clrscr();clrscr();printf(printf(“please input x:please input x:”););scanf(scanf(“%d%d”,&x);,&x);if (x0)if (x0)printf(printf(“YESYES”););第11页,本讲稿共35页第四章第四章 选择结构程序设计选择结构程序设计 例例1 1 上例的另外两种形式上例的另外两种
5、形式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(printf(“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&
6、c0)printf(printf(“%dn%dn”,a);,a);printf(printf(“%dn%dn”,b);,b);printf(printf(“%dn%dn”,c);,c);例2 先读左边程序,然后说出程序的输出结果 输出结果输出结果:60 60 65 65 70 70第13页,本讲稿共35页第四章第四章 选择结构程序设计选择结构程序设计例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
7、(printf(“%dn%dn”,a);,a);printf(printf(“%dn%dn”,b);,b);printf(printf(“%dn%dn”,c);,c);第14页,本讲稿共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
8、evenx is even”););elseelse printf(printf(“x is oddx is odd”););第15页,本讲稿共35页第四章第四章 选择结构程序设计选择结构程序设计练习1输入一个数,判断它能否被2,3,4同时整除,并输出相应提示练习2给定分段函数如下,编程从键盘输入X的值,输出Y的值X X2 2+6X (-1+6X (-1 X1)X1)-3X+2 (x1)Y=注意两类典型错误注意两类典型错误第16页,本讲稿共35页第四章第四章 选择结构程序设计选择结构程序设计main()main()int a,b,c;int a,b,c;int x,y,z;int x,y,z;
9、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(“%d%dnn”,c;);,c;);elseelse printf(printf(“%d%dnn”,x;);,x;);printf(printf(“%dn%dn”,y;);,y;);printf(printf(“%d%dnn”,z;);,z;);例4 先读左边程序,然
10、后说出程序的输出结果 输出结果输出结果: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(“%dn%dn”,c
11、;);,c;);elseelseprintf(printf(“%dn%dn”,x;);,x;);printf(printf(“%dn%dn”,y;);,y;);printf(printf(“%dn%dn”,z;);,z;);例4 再读左边程序,然后说出程序的输出结果 输出结果输出结果:?第18页,本讲稿共35页第四章第四章 选择结构程序设计选择结构程序设计 例例5 5 输入两个数,输出其中的大数。输入两个数,输出其中的大数。main()main()int x,y;int x,y;printf(printf(“please input x,y:please input x,y:”););scan
12、f(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 input x,y:please input x,y:”);
13、);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(printf(“please input x,y,z:pl
14、ease 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);if (zx&zy)if (zx&zy)printf(
15、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,&y,&z);if (xy)if (xy)if(xz)m
16、ax=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(printf(“+”););elseelse prin
17、tf(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(“-”););第25页,本讲稿共35页第四章第四章 选择结构程序设
18、计选择结构程序设计要注意的问题1 使用和不使用的区别2IF语句并列问题3IF语句嵌套问题4IF语句的配对问题 使用可避免二义性 使用复杂逻辑表达式,可简化多个IF语句 第26页,本讲稿共35页第四章第四章 选择结构程序设计选择结构程序设计 例例8 8 输入身高和体重,判断是否正常输入身高和体重,判断是否正常main()float h,w,r;clrscr();printf(“please input 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页第
19、四章第四章 选择结构程序设计选择结构程序设计#include#include main()main()int x,y;int x,y;.例例9 IF9 IF if else if else else else 例子例子给定分段函数如下给定分段函数如下,编程从键盘输入编程从键盘输入X X的值的值,输出输出Y Y的值的值X2+6X (-10X)-2X+2 (0 x-2X+2 (0 x-10)-10)Y=X-1 X+1 (10 x=0)X3-1 (x=10)第28页,本讲稿共35页4.4 switch 语句 一、函数格式switch(条件)case 表达式1:/要执行的语句块1case 表达式2:/
20、要执行的语句块2.default/要执行的语句块n 第29页,本讲稿共35页第四章第四章 选择结构程序设计选择结构程序设计 例例 显示字符菜单,根据选择输出不同信息显示字符菜单,根据选择输出不同信息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 M
21、ovie n”);Printf(“3 Movie n”);Printf(“4 Exit n”);Printf(“4 Exit n”);Printf(“=n”);Printf(“=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:pri
22、ntf(“Your choice is game”);printf(“Your choice is game”);case 3:case 3:printf(“Your choice is movie”);printf(“Your choice is movie”);default:default:printf(“error choice”);printf(“error choice”);第31页,本讲稿共35页p 补充程序1(编译时警告和错误的区别)main()int x,y,z,a,b,c;a=x;y+x=z;printf(“a=%d b=%d”,a,b);getch();第四章第四章 选择
23、结构程序设计选择结构程序设计注意上述程序编译后的警告和错误注意上述程序编译后的警告和错误,理解他们具体的含义理解他们具体的含义第32页,本讲稿共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)sw
24、itch(c)case 18432:case 18432:/*up*/*up*/printf(UP);printf(UP);break;break;p 补充程序2(能够不断键盘任意按键的程序)第33页,本讲稿共35页case 20480:/*down*/printf(DOWN);break;case 19200:/*left*/printf(LEFT);break;case 19712:/*right*/printf(RIGHT);break;case 283:/*ESC*/printf(ESC);break;第34页,本讲稿共35页1 从键盘输入四个数,输出其中的最大数。2 从键盘输入一个正整数,判断它是否是一个能被3整除的偶数,并输出相应提示。3 输入四门课成绩,判断能否获一等奖学金(均分在90分以上,单门最低80分)。4 已知圆的方程为:X2+Y2=100,从键盘输入一个点的坐标,判断在圆内/圆外。p 本章练习第四章第四章 选择结构程序设计选择结构程序设计第35页,本讲稿共35页