物理C语言流程控制.pptx
《物理C语言流程控制.pptx》由会员分享,可在线阅读,更多相关《物理C语言流程控制.pptx(80页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、例3-1 输入一个华氏温度f,将其转换为摄氏温度c并输出。转换公式为 c=5/9*(f-32)#include void main()第1页/共80页例3-2 输入一个三位数,将该数逆序输出输出。例如,输入123,则输出321。#include void main()第2页/共80页例2-23 输入几个小写字母,输出它们的ASCII码和对应的大写字母。void main()char a,b,c;printf(input character a,b,cn);scanf(%c%c%c,&a,&b,&c);printf(“%d,%d,%dn,a,b,c);printf(%c,%c,%cn,a-32,
2、b-32,c-32);第3页/共80页 a b c例1-5 从键盘输入两个整数 a 和 b,输出a、b的值以及他们交换后的值。main()int a,b,c;printf(“Input a and b:”);scanf(“%d%d”,&a,&b);printf(“old a=%d b=%dn”,a,b);c=a;a=b;b=c;printf(“new a=%d b=%dn”,a,b);运行结果:Input a and b:5 7 old a=5 b=7new a=7 b=5第4页/共80页例:对于随机输入的半径r,计算圆的直径D、圆周长L、圆面积S、圆球表面积M和球体积V。#define PI
3、 3.14159main()float r,d,l,s;double m,v;printf(“Input r:”);scanf(“%f”,&r);d=2*r;l=2*PI*r;s=PI*r*r;m=4*PI*r*r;v=m*r/3;printf(“D=%6.2f L=%6.2f S=%6.2fn”,d,l,s);printf(“M=%6.2f V=%6.2fn”,m,v);运行结果:Input r:1.5D=3.00 L=9.42 S=7.07M=28.27 V=14.14第5页/共80页顺序结构程序设计举例#include#include void main()float a,b,c,s,a
4、rea;scanf(%f,%f,%f,&a,&b,&c);s=1.0/2*(a+b+c);area=sqrt(s*(s-a)*(s-b)*(s-c);printf(a=%7.2f,b=%7.2f,c=%7.2f,s=%7.2fn,a,b,c,s);printf(area=%7.2fn,area);例:输入三角形边长,求面积.文件包含预处理命令变量定义输入数据输出数据输入:3,4,6 输出:a=3.00,b=4.00,c=6.00 s=6.50 area=5.33第6页/共80页例 从键盘输入一个大写字母,用小写字母输出#include void main()char c1;c1=getchar
5、();c1=c1+32;printf(%cn,c1);这个程序有什么问题吗?第7页/共80页#include#include main()float a,b,c,x1,x2,delta,p,q;scanf(a=%f,b=%f,c=%f,&a,&b,&c);delta=b*b-4*a*c;p=-b/(2*a);q=sqrt(delta)/(2*a);x1=p+q;x2=p-q;printf(nx1=%5.2fnx2=%5.2fn,x1,x2);输入:a=1,b=3,c=2 输出:x1=-1.00 x2=-2.00 分析:一元二次方程的根为:令 delta=b2 4ac,p=-b/(2*a);q=
6、sqrt(delta)/(2*a);则方程的两个根为:x1=p+q;x2=p q。第8页/共80页条件语句A语句B真假PBA真假kA1A2AiAnk=k2k=k1k=knk=ki.l二分支选择结构l多分支选择结构3.2 选择结构程序设计第9页/共80页3.2 选择结构程序设计if if 语句(条件选择语句)if if语句的三种形式形式一:(单边形式)格式:if(expression)statementexprstatement非0=0next statement例例:if (x 0)printf(“%d”,x);下一条语句下一条语句第10页/共80页exprstatement1statemen
7、t2非0=0形式二:(双边形式)if(expression)statement1 else statement2例:if(xy)max=x;else max=y;x ymax=xmax=y非0=0第11页/共80页形式三:多层嵌套if(expr1)statement1else if(expr2)statement2else if(expr3)statement3.else statementn expr1statemnt1非0=0expr2expr3statemntnstatemnt3statemnt2非0非0=0=0例:if (salary10000)printf(“very rich”);
8、else if(salary5000)printf(“rich”);else if(salary2000)printf(“medium”);else if(salary1000)printf(“good”);else if(salary700)printf(“ok”);else printf(“poor”);第12页/共80页void main()int x,y,z,max;printf(“Input x,y,z:”);scanf(“%d,%d,%d”,&x,&y,&z);max=x;if (max y)max=y;if (max z)max=z;printf(“max=%dn”,max);例
9、:输入三个整数,输出其中的最大数。运行:Input x,y,z:5,8,2 max=8第13页/共80页#include void main()int x,y;printf(Enter an integer:);scanf(%d,&x);printf(nx=%d|x|=%dn,x,y);例:从键盘输入一个整数,输出它的绝对值。运行:Enter an integer:-12 x=-12|x|=12第14页/共80页例:输入3 3个数a a、b b、c,c,要求按由小到大的顺序输出#include void main()float a,b,c,t;scanf(“%f,%f,%f”,&a,&b,&c
10、);printf(“%5.2f,%5.2f,%5.2fn”,a,b,c);第15页/共80页 if 语句的嵌套 if (表达式)语句1;else 语句2;if (表达式)if(表达式)else else 语句2;第16页/共80页例:输入两数,根据大小关系输出 xy、x=y 或 xy。#include void main()int x,y;printf(Enter integer x,y:);scanf(%d,%d,&x,&y);if(x!=y)if(xy)printf(XYn);else printf(X =0 x=0(2)x%2=0 x%2!=0(3)x=y x!=y(4)fabs(x-y
11、)1.0E-06 第20页/共80页关系表达式 一个表达式中可同时出现算术运算符、关系运算符、赋值运算符。(1)fabs(x-y)x+y(3)x!=y=z-2(4)x=y=z-1 x=(y=(z-1)z (x+y)(x!=y)=(z-2)设设 x=1,y=2,z=3;以下表达式的值以下表达式的值?第21页/共80页2.6.3 逻辑运算符和逻辑表达式 逻辑运算符:!&|!&|逻辑非 逻辑与 逻辑或!单目单目运算符运算符 !a !a :表示对:表示对a a求反求反&双目双目运算符运算符 a&b a&b:a a、b b都为非0 0时,结果为1 1|双目双目运算符运算符 a|b a|b:a a、b b
12、都为0 0时,结果才为0 0 if(ch=a&ch 1)|(b+14)(ab)&(c0)|a !a|(b=0)&(c=a)(!ab)&(b=c)&!a/0/1/0/0第23页/共80页如:if(a=b&x=y)printf(“a=b,x=y”);if(!3)printf(“OK”);if(a&5)printf(“%d”,a);l对 if 语句的说明:uif 后面的表达式类型任意u if(x)if(x!=0)if(!x)if(x=0)u其中的语句可以是复合语句 u 0 x0)&(x5),而不能写成 0 x5 例:#include void main()int x,y;scanf(“%d,%d”,
13、&x,&y);if(xy)x-;y-;else x+;y+;printf(“%d,%dn”,x,y);如果丢失大括号Compile Error!第24页/共80页例:考虑下面程序的输出结果:void main()int x=100,a=10,b=20;int v1=5,v2=0;if (ab)if (b!=15)if (!v1)x=1;else if(v2)x=10;else x=-1;printf(“%d”,x);结果:-1如果分支较多,嵌套 if 语句的层数较多,程序冗长且可读性降低。第25页/共80页3.2.3 switch语句一般形式:switch(表达式)case 常量表达式E1:语
14、句组 1;case 常量表达式E2:语句组 2;.case 常量表达式En:语句组 n;default:语句组;switch表达式语句组1语句组2语句组n语句组.E 1E 2Endefaultcase 执行过程:switch (grade)case A:printf(“85100n”);case B:printf(“7084n”);case C:printf(“6069n”);case D:printf(“3059n”);case E:printf(“=90)grade=A;else if(score=80)grade=B;else if(score=70)grade=C;else if(sc
15、ore=60)grade=D;else grade=E;printf(“grade=%c n”,grade);第30页/共80页 void main()int score,s;char grade;scanf(“%d”,&score);s=score/10;switch(s)case 10:case 9:grade=A;break;case 8:grade=B;break;case 7:grade=C;break;case 6:grade=D;break;case 5:case 4:case 3:case 2:case 1:case 0:grade=E;break;default:printf
16、(“Errorn”);break;第31页/共80页条件运算 条件运算符:?:三目运算符三目运算符 条件表达式 表达式表达式1 1?表达式?表达式2 2:表达式:表达式3 3语义:先计算表达式语义:先计算表达式1 1的值,若结果为非的值,若结果为非0 0,则以表达,则以表达式式2 2的值作为整个条件表达式的值;若为的值作为整个条件表达式的值;若为0 0,则以表达,则以表达式式3 3的值作为整个条件表达式的值。的值作为整个条件表达式的值。例如:例如:(x0)?1:-1第32页/共80页例:对键盘输入的字符判断其是否为大写字母,若是,例:对键盘输入的字符判断其是否为大写字母,若是,就转换成小写字母
17、,其余字符不变。就转换成小写字母,其余字符不变。#include void main()char ch;scanf(“%c”,&ch);ch=(ch=A&ch 0,有两个不等实根。(4)b2 4ac 0)else 第34页/共80页 例3-53-5输入一个年份,判断其是否为闰年。void main()闰年的条件是:(1)能被4整除,但不能被100整除的年份都是闰年。(2)能被100整除,又能被400整除的年份是闰年。不符合这两个条件的年份不是闰年。第35页/共80页 例3-83-8某市电费收费标准如下:P56:P56 void main()float s,f;scanf(“%f”,&s);sw
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 物理 语言 流程 控制
限制150内