第五讲switch、算法和流程图-ok

上传人:sx****84 文档编号:243434913 上传时间:2024-09-23 格式:PPT 页数:71 大小:448KB
返回 下载 相关 举报
第五讲switch、算法和流程图-ok_第1页
第1页 / 共71页
第五讲switch、算法和流程图-ok_第2页
第2页 / 共71页
第五讲switch、算法和流程图-ok_第3页
第3页 / 共71页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,C语言程序设计,C语言程序设计,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,C,语言程序设计,(A),郭,素梅,GUO Sumei,1,运算符,=,(赋值),+,,,-,,*,,/,,,%,双目(算术),+,,,-,单目(自增减),+=,,,-=,,*,=,,,/=,,,%=,双目(复合), =, y? x: y;,唯一的三目运算符,完全等价于:,if(xy),max=x;,else,max = y;,2024/9/23,3,认识条件运算符,A,?,B,:,C,X = X=0? (D0? printf(“,两个实数解,”): printf(“,一个实数解,”): printf(“,无实数解,”);,if(X=0) if(D0)printf(“,两个实数解,”); else printf(“,一个实数解,”);else printf(“,无实数解,”);,2024/9/23,4,a,b,c,d,四个数的最大值,m1 = ab? a:b;,m2 = cb?c:d;,max = m1m2?m1:m2;,2024/9/23,5,if,语句练习,键盘给定三个浮点数,a,,,b,和,c,,求最大值,max,,和最小值,min,,并输出,键盘输入一个整数,m,,作为月份。,当,m,大于,12,或小于,1,时,输出“输入错误”;,当,m,为,3,到,5,,输出“春天”;,6,到,8,,输出“夏天”;,9,到,11,,输出“秋天”;,12,1,和,2,时,输出“冬天”,2024/9/23,6,if,语句练习,键盘给定三个浮点数,a,,,b,和,c,,将其按照,a,大于等于,b,,且,b,大于等于,c,的要求,排序后,输出。,【,思考:四位数如何做?,】,键盘输入一个三位数的整数,判断是否为水仙花数,是则输出“,1,”,不是则输出“,0,”。输入的不是三位数,则输出“输入错误”。,2024/9/23,7,if,语句练习,键盘输入一个浮点数,score,,作为成绩。,当大于,100,或小于,0,,输出“输入错误”;,在,0,到,100,之间,将其转换为五级制,即,90,到,100,为“优秀”,,80,到,89,为“良好”,,70,到,79,为“中等”,,60,到,69,为“及格”,,0,到,59,为“不及格”。,算命先生,2024/9/23,8,重要题,水仙花数;勾股数;对称数;闰年,公倍数,&,公约数、完数,倒序输出;,图形输出,;,计算面积(简单图形、,函数,),级数,排序(数字、字符串);,统计(最大、最小、平均、,方差),2024/9/23,9,2024/9/23,10,Switch,语句:多分支,if,语句是有两个分支。,Switch,语句实现多分支:根据表达式的值进行选择,流程图,2024/9/23,11,Switch,语句:多分支,switch,(表达式),case,常量,1,:语句,1,case,常量,2,:语句,2,.,case,常量,n,:语句,n,default,:语句,n+1,格式为:,表达式的值,=,常量,1,表达式的值,=,常量,2,表达式的值,=,常量,n,表达式的值没有匹配的常量,所有,case,仅是标记为程序执行的入口,不做判断。停止执行要用,break,2024/9/23,12,2,case,后的每个常量表达式必须,各不相同,。,1,括号内的表达式可以是,int ,char。,3 case,和,default,的位置是任意的,。,4,每一个,case,之后应有一个 以跳出,switch( ),结构。,break(,间断语句);,5,每个,case,之后的执行语句可多于一个, 但,不必,加, ,。,6,允许几种,case,情况下执行相同的语句,不必每个都写,case,。,注意事项,2024/9/23,13,举例,用,switch,语句实现,输入,100,分制,输出对应五级制,输入月份,输出对应的季度,2024/9/23,14,2024/9/23,15,例:输入年,月,计算该月有多少天,?,main( ), int year,month,days;,printf(“Enter,year, monthn,”);,scanf(“%d,%d”,switch(month), case 1:,case 3:,case 5:,case 7:,case 8:,case 10:,case 12: days=31; break;,几个,CASE,执行相同的,语句,跳出开关结构,处理大月,程序举例,关系到如何判闰年,?,2024/9/23,16,case 4:,case 6:,case 9:,case 11: days=30 ; break;,case 2: if (year%4=0)&(year%100!=0),|(year%400)=0) days=29;,else days=28; break;,default:printf(“Enter error!n”); days=0;,break;,if (days!=0),printf(“%dn”,days);,return 0;,判断是否,为闰年,开关结,构结束,处理二月,程序举例,(,续,),处理小月,2024/9/23,17,从键盘输入,x,,求,y,,并输出。,执行时要求:从键盘输入,4,次,x,的值,分别为,x=1.0, x=-1.0,-1.0x0, 0=xb ) m = a;,else m = b;,printf(,“,max,(,a,,,b,),=%d,”,m);,return 0;,max3.c,2024/9/23,27,算法举例,如何求一个整数的阶乘?如何求最大公约数?,如何求三个、四个数的最大值、最小值?,如何利用泰勒展开计算,sin,,,cos,的值?,等等,如何,设计,一个算法?,2024/9/23,28,算法举例,给出利用下边的泰勒展开求,sin,(,0.5,)的算法。要求所加的最后一项,不大于,0.0005,初始化:,x=0.5; i=1; s=1;,将用到:,t = pow(x,i);,re = re + s*,t,;,i = i+2; s = -s; if(fabs(t)=0,有实解,计算实解,打印结果,否则,打印,“,没有实解,”,它涉及两部分处理,执行将按,1),2),顺序。,1),内有包含两部分处理,计算和打印,2024/9/23,43,算法设计举例,开始,计算,s=b*b-4ac,结束,输入系数,a,,,b,,,c,输出,”,没有实解,”,s=0,输出实根,x1,和,x2,x1=(-b+sqrt(s)/2a,x2=(-b-sqrt(s)/2a,Yes,No,2024/9/23,44,算法设计举例,计算和打印,“,语文数学及平均成绩,”,的算法。,设计的算法就需要得知语文数学的成绩,然后计算平均,最后打印。,具体步骤为:,输入语文和数学成绩,N1,和,N2,计算平均成绩,Av,(,N1+N2,),/2,打印,N1,N2,和,Av,它涉及,3,个操作,执行将按,1),3),顺序,2024/9/23,45,算法设计举例,ave2.c,开始,计算平均,Av=(a+b)/2,结束,输入成绩,N1,N2,输出成绩,N1,N2,和,Av,2024/9/23,46,算法设计举例,#include ,int main()/ main,函数,double,N1, N2, Av;/,定义变量,printf(,请输入语文,数学成绩,n);,scanf,(%lf, %lf,Av = (N1+N2)/2; /,计算平均,/,函数调用语句:输出函数,printf,printf(,“,语文,=%lf,数学,=%lfn,N1,N2);,printf(,平均,=%lfn,Av);,return 0;,ave2.c,开始,计算平均,Av=(a+b)/2,结束,输入成绩,N1,N2,输出成绩,N1,N2,和,Av,scanf,(%lf%lf, &N1, &N2,);,printf(,“%lfn”, av,);,2024/9/23,47,练习:,c2f.c,摄氏和华氏温度变换公式,:,F=9/5*C+32,要求输出,c=0,10,20,100,对应的摄氏温度,f,cf,0 32.0,1041.0,框图,程序,2024/9/23,48,练习:,sin,的近似计算,:,要求追加项的绝对值小于,0.00005,框图,程序,2024/9/23,49,2024/9/23,50,结构化程序的设计方法,基本结构:,顺序结构,选择结构,循环结构,结构化程序:,用顺序、选择和循环三种基本结构的组合来设计程序。,也就是说用计算机语言表示的结构化算法。,2024/9/23,51,算法,算法,算法举例,算法的特性,算法的表示,结构化程序的设计方法,2024/9/23,52,算法 小结,本章是计算机程序设计和算法的基础,学习时要重点理解和掌握的是计算机算法的表示方法。,作为一个程序设计人员,应该熟悉并掌握比较常用的程序流程图描述方法,最终需要使用计算机语言,即程序设计语言描述并实现。,本章通过算法举例以训练引导学生用计算机的思维表达解决问题的过程,以最终实现算法,这就是程序设计算法的根本。,2024/9/23,53,作业,P15,第,5,题,编程:将两个整数,a,和,b,分别初始化为,123,和,456,,交换其值后输出,a,和,b,。,2024/9/23,54,联系,郭 素梅(,GUO Sumei,),Phone:0756-362-2865,Office:HA206/205,Email:,Chat:MSN(,常用,),QQ(,不常用,) 1395092737,2024/9/23,55,计算机构成,计算机本体,控制装置,演算装置,主存储装置,输入装置 输出装置,CPU,中央处理装置,Central Processing Unit,辅存储装置:硬盘,,CD-ROM,等,补充,2024/9/23,56,进制,24,进制: 一天,24,小时,60,进制: 一小时,60,分 一分,60,秒,10,进制以外:,补充,2024/9/23,57,进制,8,进制: 数字,0,到,7,表示,10,进制:数字,0,到,9,表示,16,进制:,数字,0,到,9,,,字母,A,到,F,表示,2,进制是基础:数字,0,和,1,表示,补充,2024/9/23,58,进制,N,进制到,10,进制:,a b c,2 1 0,补充,2,= aN + bN + c,N,进制的指数位,2024/9/23,59,进制,二进制到十进制的换算:,1 0 1 0,二进制是基础:数字,0,和,1,表示,3 2 1 0,二进制,2,的指数位,补充,2024/9/23,60,进制,二进制到十进制的换算:,0 1 0 0 1 0 1 0,3 2 1 0,7 6 5 4,补充,2024/9/23,61,进制,八进制到十进制:,1 2 3,2 1 0,八进制,8,的指数位,补充,2024/9/23,62,进制,十六进制到十进制:,1 2 3,2 1 0,十六制,16,的指数位,补充,2024/9/23,63,进制,十六进制到十进制:,A 1 F,2 1 0,补充,2024/9/23,64,进制,十进制到,N,进制:,1 2 3,2 1 0,x,位:,mod,(,i/pow,(,N,,,x,),,N,),C,语言实现:,n2 n1 n0,0,位:,i = i/N ; n0 = i%N;,1,位:,i = i/N ; n1 = i%N;,2,位:,i = i/N ; n2 = i%N;,2,补充,0,1,2024/9/23,65,进制,十进制到,16,进制:,1 2 3,2 1 0,0,位:,x0 = 123 % 16; /11,1,位:,i = 123/16=7;,x1 = 7%16;/ 7,7B,补充,2024/9/23,66,进制,十进制到,8,进制:,1 2 3,2 1 0,0,位:,x0 = 123 % 8; /3,1,位:,i = 123/8=15;,x1 = 15%8;/7,2,位:,i = 15/8=1;,x2 = 1%8;/1,173,补充,2024/9/23,67,b, B, KB, MB, GB, TB,bit,,中文叫法:位,Byte,,中文叫法:字节,Kilobyte(KB),,中文叫法:,K,Megabyte(MB),,中文叫法:兆,Gigabyte(GB),,中文叫法:,G,Terabyte(TB),,中文叫法:,T,1 TB,=,1,024 GB,1 GB,=,1,024 MB,1 MB,=,1,024 KB,1 KB,=,1,024,B,1 B,=,8 b,以,2,进制为基础,补充,2024/9/23,68,b, B, KB, MB, GB, TB,1,位(,1b,):只能是,0,或者,1,(二进制),1,字节(,8b,):可表示数字,0,到,255,(或,-128,到,127,)也可保存一个字符(英文字母、数字、符号),,ASCII,编码(详细附录,B,),2,字节(,16b,)可表示数字,0,到,65535,(或,-32768,到,32767,)也可保存一个汉语、一个日语或一个韩语字。,CJK,是双字节,补充,2024/9/23,69,进制,进制,10,12,24,60,16,8,2, N,表示,10: 0,1,2,3,.,9,16: 0,1,2,3,.,9,A,B,C.F,2: 0,1,2024/9/23,70,进制,进制间的变换,10, N,ni = (x%N), x=x/N, i+,N, 10,d = xn*Nn,2024/9/23,71,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!