03C语言程序设计项目三

上传人:沈*** 文档编号:179550038 上传时间:2023-01-01 格式:PPTX 页数:33 大小:542KB
收藏 版权申诉 举报 下载
03C语言程序设计项目三_第1页
第1页 / 共33页
03C语言程序设计项目三_第2页
第2页 / 共33页
03C语言程序设计项目三_第3页
第3页 / 共33页
资源描述:

《03C语言程序设计项目三》由会员分享,可在线阅读,更多相关《03C语言程序设计项目三(33页珍藏版)》请在装配图网上搜索。

1、高等职业院校教材C语言程序设计主编:王斌项目三项目三 顺序程序设计顺序程序设计 p 学习目标 掌握顺序程序结构 认识语言程序结构,掌握C语言基本语句 认识结构化程序设计 了解算法的概念,掌握常用简单算法 掌握用流程图表示算法主编:王斌C语言程序设计项目任务 任务一 三角形面积计算器 任务二 三位数数字拆分主编:王斌C语言程序设计任务一 三角形面积计算器 任务描述任务描述 在实际应用及数学问题中经常需要按已知条件求三角形的面积,现已知三角形的三边长分别为a、b、c,求三角形的面积。任务分析任务分析 三角形面积求法较多,任务中已知三角形的三边长,这里可以按公式(其中s=(a+b+c)/2),求三角

2、形的面积。在程序中需要先初始化三角形三边长a,b,c(可通过键盘输入三个数分别赋值给变量a,b,c),然后求出s=(a+b+c)/2,再求出,最后打印出三角形面积。主编:王斌C语言程序设计任务一 三角形面积计算器任务实施任务实施1.程序源代码/*P_Task1.c*/#includemain()float a,b,c,s,area;printf(Enter Side length of triangle:n);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

3、,c=%7.2fn,a,b,c);printf(area=%7.2fn,area);getch();2.程序运行结果三角形面积计算器运行结果如图所示。主编:王斌C语言程序设计任务一 三角形面积计算器 相关知识相关知识一、顺序程序设计结构顺序程序设计结构是程序设计结构最简单最基本的结构,顺序程序结构中所在语句都是按先后出现的顺序依次执行。顺序结构的示意图,如图所示。前面任务程序及举例程序均为顺序结构程序。主编:王斌C语言程序设计任务一 三角形面积计算器 相关知识相关知识二、语句1程序的结构一个完整的程序可以存储于多个文件中,这些文件可以使用#include(*.*)预处理命令联系起来。C程序中最

4、基本的组成是函数,C程序结构,如图所示。主编:王斌C语言程序设计任务一 三角形面积计算器 相关知识相关知识2C语句C程序的执行部分是由语句组成的。程序的功能也是由执行语句实现的。C语句可分为以下五类:简单语句、空语句、复合语句、结构化语句、非结构化语句。其分类,如图所示。主编:王斌C语言程序设计任务一 三角形面积计算器相关知识相关知识(1)表达式语句表达式语句由表达式加上分号“;”组成。其一般形式为:表达式;执行表达式语句就是计算表达式的值。例如:x=y+z;赋值语句;y+z;加法运算语句,但计算结果不能保留,无实际意义;i+;自增1语句,i值增1。(2)函数调用语句函数调用语句由函数名、实际

5、参数加上分号“;”组成。其一般形式为:函数名(实际参数表);执行函数语句就是调用函数体并把实际参数赋予函数定义中的形式参数,然后执行被调用函数体中的语句,返回函数值。例如:printf(C Program);调用库函数,输出字符串。主编:王斌C语言程序设计任务一 三角形面积计算器 相关知识相关知识(3)控制语句控制语句用于控制程序的流程,以实现程序的各种结构方式。它们由特定的语句定义符组成。语言有九种控制语句,可分成三类,如表31所示。分类控制语句条件判断语句if语句、switch语句循环执行语句do while语句、while语句、for语句转向语句break语句、goto语句、contin

6、ue语句、return语句主编:王斌C语言程序设计任务一 三角形面积计算器相关知识相关知识(4)复合语句复合语句是把多个语句用括号括起来组成的一个语句。在程序中应把复合语句看成是单条语句,而不是多条语句。例如:x=y+z;a=b+c;printf(%d%d,x,a);是一条复合语句。复合语句内的各条语句都必须以分号“;”结尾,在括号“”外不能加分号。(5)空语句只有分号“;”组成的语句称为空语句。空语句是什么也不执行的语句。在程序中空语句可用来作空循环体。例如:while(getchar()!=n);这里的循环体为空语句。它的功能是,只要从键盘输入的字符不是回车则重新输入。主编:王斌C语言程序

7、设计任务一 三角形面积计算器 相关知识相关知识(6)赋值语句赋值语句是由赋值表达式再加上分号构成的表达式语句。其一般形式为:变量=表达式;赋值语句的功能和特点都与赋值表达式相同。它是程序中使用最多的语句之一。在赋值语句的使用中需要注意以下几点:由于在赋值符“=”右边的表达式也可以又是一个赋值表达式,因此,下述形式:变量=(变量=表达式);是成立的,从而形成嵌套的情形。其展开之后的一般形式为:变量=变量=表达式;例如:a=b=c=d=e=5;按照赋值运算符的右接合性,因此,实际上等效于:e=5;d=e;c=d;b=c;a=b;主编:王斌C语言程序设计任务一 三角形面积计算器 相关知识相关知识注意

8、在变量说明中给变量赋初值和赋值语句的区别。给变量赋初值是变量说明的一部分,赋初值后的变量与其后的其它同类变量之间仍必须用逗号间隔,而赋值语句则必须用分号结尾。例如:int a=5,b,c;在变量说明中,不允许连续给多个变量赋初值。如下述说明是错误的:int a=b=c=5;必须写为int a=5,b=5,c=5;而赋值语句允许连续赋值。注意赋值表达式和赋值语句的区别。赋值表达式是一种表达式,它可以出现在任何允许表达式出现的地方,而赋值语句则不能。下述语句是合法的:if(x=y+5)0)z=x;语句的功能是,若表达式x=y+5大于0则z=x。下述语句是非法的:if(x=y+5;)0)z=x;因为

9、x=y+5;是语句,不能出现在表达式中。主编:王斌C语言程序设计任务一 三角形面积计算器 相关知识相关知识三、结构化程序设计三、结构化程序设计1结构化程序设计概念结构化程序设计(structured programming)是以模块功能和处理过程设计为主,采用自顶向下、逐步求精的程序设计方法,使用三种基本控制结构构造程序的程序设计方法。任何结构化程序都可由顺序、选择、循环三种基本控制结构构造,结构化程序设计主要强调的是程序的易读性。2结构化程序设计三种基本结构结构化程序设计的三种基本结构是:顺序结构、选择结构和循环结构。顺序结构:表示程序中的各操作是按照它们出现的先后顺序执行的。选择结构:表示

10、程序的处理步骤出现了分支,它需要根据某一特定的条件选择其中的一个分支执行。循环结构:表示程序反复执行某个或某些操作,直到某条件为假(或为真)时才可终止循环。在循环结构中最主要的是:什么情况下执行循环?哪些操作需要循环执行?(选择结构、循环结构将分别在项目四、项目五中详细介绍。)主编:王斌C语言程序设计任务二 三位数数字拆分 任务描述任务描述在进行数码处理、底层显示、键盘输入等程序中经常要对数据进行拆分,即要求求出一个数各个位数上的数字,如803,要求得到8,0,3三个数。为了使程序简单,这里假定数据为三位的十进制整数。任务分析任务分析一个十制数三位数数字拆分的基本思想是:首先把这个数除以10,

11、其余数即为个位数数字,再把上一次的商除以10,其余数为十位数数字,商为百位数数字。这里我们以 a3表示原数,a2表示原数除以10后的商,r0表示个位数;a1表示a2除以10后的商,r1表示十位数数字,r2表示百位数数字。按顺序结构进行程序设计,程序实现如下。主编:王斌C语言程序设计任务二 三位数数字拆分 任务实施任务实施1.程序源代码/*P3_Task2.c*/#include int main(int argc,char*argv)int a3,a2,a1,r0,r1,r2;printf(Enter a Three-digit integer:n);scanf(%d,&a3);r0=a3%1

12、0;a2=a3/10;r1=a2%10;a1=a2/10;r2=a1%10;printf(One-digit is%dnTen-digt is%dnHundred-digit is%dn,r0,r1,r2);getch();return 0;2.程序运行结果三位数数字拆分程序运行结果如图所示。主编:王斌C语言程序设计任务二 三位数数字拆分 相关知识相关知识一、算法1算法的概念做任何事情都有一定的步骤。为解决一个问题而采取的方法和步骤,我们通常称之为流程、程序,用计算机解决问题,能够在计算机中被执行的流程称为计算机算法。2简单算法举例例3.1 求12345。直接用汉语描述的算法:步骤1:先求12

13、,得到结果2。步骤2:将步骤1得到的乘积2乘以3,得到结果6。步骤3:将6再乘以4,得24。步骤4:将24再乘以5,得120。这样的算法没有错误,易懂,但是太繁杂,而且没有通用性,当要求1234567n(n1000)。还用上述方法就很难描述了。主编:王斌C语言程序设计任务二 三位数数字拆分 相关知识相关知识引进符号描述的算法:S1:设P=1;S2:设i=2;S3:求乘积Pi,并令P=Pi;S4:i的值+1,并令i=i+1;S5:如果i5,则重新从步骤S3做;否则,结束。这个算法比用直接用汉语描述的算法优越得多,它具有通用性,在S5中改in,它则是求1234567n的值。实际上,只要是有规律的数

14、连乘都可以使用这个算法,在上面的算法上只需要改动i变化规律即可。例如:求1357911。算法改动如下:S1:P=1;S2:i=3;S3:P=Pi;S4:i=i+2;S5:若i11,返回S3,否则,结束。编写程序,不仅要找到解决问题的正确算法,而且找到的算法还要适合在计算机内执行。主编:王斌C语言程序设计任务二 三位数数字拆分 相关知识相关知识例3.2 有50个学生,要求将他们之中成绩在80分以上者打印出来。如果,n表示学生学号,ni表示第i个学生学号;g表示学生成绩,gi表示第i个学生成绩;则算法可表示如下:S1:1i;S2:如果gi80,则打印ni和gi,否则不打印;S3:i+1i;S4:若

15、i50,返回S2,否则,结束。例3.3 判定20002500年中的每一年是否闰年,将结果输出。润年的条件:能被4整除,但不能被100整除的年份;能被100整除,又能被400整除的年份;设y为被检测的年份,则算法可表示如下:S1:2000y;S2:若y不能被4整除,则输出y“不是闰年”,然后转到S6;S3:若y能被4整除,不能被100整除,则输出y“是闰年”,然后转到S6;S4:若y能被100整除,又能被400整除,输出y“是闰年”否则输出y“不是闰年”,然后转到S6;S5:输出y“不是闰年”;S6:y+1y;S7:当y2500时,返回S2继续执行,否则,结束。主编:王斌C语言程序设计任务二 三

16、位数数字拆分 相关知识相关知识例3.4求。算法可表示如下:S1:sigh=1;S2:sum=1;S3:deno=2;S4:sigh=(-1)sigh;S5:term=sigh(1/deno);S6:term=sum+term;S7:deno=deno+1;S8:若deno100,返回S4;否则,结束。例3.5 对一个大于或等于3的正整数,判断它是不是一个素数。算法可表示如下:S1:输入n的值;S2:i=2;S3:n被i除,得余数r;S4:如果r=0,表示n能被i整除,则打印n“不是素数”,算法结束;否则执行S5;S5:i+1i;S6:如果in-1,返回S3;否则打印n“是素数”;然后算法结束。

17、主编:王斌C语言程序设计任务二 三位数数字拆分 相关知识相关知识3算法的特性(如表所示)特性说明有穷性一个算法应包含有限的操作步骤而不能是无限的。确定性算法中每一个步骤应当是确定的,而不能应当是含糊的、模棱两可的。输入有零个或多个输入。输出有一个或多个输出。有效性算法中每一个步骤应当能有效地执行,并得到确定的结果。对于程序设计人员,必须会设计算法,并根据算法写出程序。主编:王斌C语言程序设计任务二 三位数数字拆分 相关知识相关知识4算法的表示方法自然语言表示:算法能够用自然语言描述,但复杂问题算法用自然语言描述难读难理解,除了很简单的问题,一般不用自然语言表示算法。流程图表示:流程图是使用符号

18、、图示表示算法,使用流程图表示表示算法直观形象,易于理解。伪代码表示:伪代码使用介于自然语言和计算机语言之间的文字和符号来描述算法。计算机语言表示:计算机语言是计算机能够识别、执行的语法规则,进行程序设计的最终目的是把人能够理解的算法使用计算机语言表示出来,即计算机程序。用计算机语言表示算法必须严格遵循所用语言的语法规则。例3.6将例3.1用C语言表示,代码如下:main()int i,P;P=1;i=2;while(i=5)P=P*i;i=i+1;printf(%d,P);主编:王斌C语言程序设计任务二 三位数数字拆分 相关知识相关知识二、流程图二、流程图1流程图符号流程图是使用符号、图示、

19、说明表示算法,使用流程图表示具有直观形象,易于理解的优点。流程图常用图示,如表所示。图示说明起止框输入输出框判定框处理框流程线连接点主编:王斌C语言程序设计任务二 三位数数字拆分 相关知识相关知识2流程图举例例3.7 求5!,用流程图表示,如图所示。主编:王斌C语言程序设计任务二 三位数数字拆分 相关知识相关知识例3.8 输出50个学生中成绩在80分以上者的学号与分数,用流程图表示,如图所示。主编:王斌C语言程序设计任务二 三位数数字拆分 相关知识相关知识例3.9 判定闰年,用流程图表示,如图3-8所示。一个流程图包括:表示相应操作的框;带箭头的流程线;框内外必要的文字说明。主编:王斌C语言程

20、序设计任务二 三位数数字拆分 相关知识相关知识3三种基本结构流程图表示(1)顺序结构顺序结构流程图如图所示。主编:王斌C语言程序设计任务二 三位数数字拆分 相关知识相关知识(2)选择结构选择结构有两种形式,如图所示。主编:王斌C语言程序设计任务二 三位数数字拆分 相关知识相关知识(3)循环结构循环结构有三种形式,如图所示。主编:王斌C语言程序设计任务二 三位数数字拆分 相关知识相关知识三种基本结构的共同特点:只有一个入口;只有一个出口;结构内的每一部分都有机会被执行到;结构内不存在“死循环”。主编:王斌C语言程序设计教学检测求圆的面积求三个数的和与平均值 主编:王斌C语言程序设计作业完成项目3

21、练习与习题。主编:王斌C语言程序设计主编:王斌C语言程序设计9、静夜四无邻,荒居旧业贫。23.1.123.1.1Sunday,January 01,202310、雨中黄叶树,灯下白头人。22:47:3122:47:3122:471/1/2023 10:47:31 PM11、以我独沈久,愧君相见频。23.1.122:47:3122:47Jan-231-Jan-2312、故人江海别,几度隔山川。22:47:3122:47:3122:47Sunday,January 01,202313、乍见翻疑梦,相悲各问年。23.1.123.1.122:47:3122:47:31January 1,202314、

22、他乡生白发,旧国见青山。2023年1月1日星期日下午10时47分31秒22:47:3123.1.115、比不了得就不比,得不到的就不要。2023年1月下午10时47分23.1.122:47January 1,202316、行动出成果,工作出财富。2023年1月1日星期日22时47分31秒22:47:311 January 202317、做前,能够环视四周;做时,你只能或者最好沿着以脚为起点的射线向前。下午10时47分31秒下午10时47分22:47:3123.1.19、没有失败,只有暂时停止成功!。23.1.123.1.1Sunday,January 01,202310、很多事情努力了未必有结

23、果,但是不努力却什么改变也没有。22:47:3122:47:3122:471/1/2023 10:47:31 PM11、成功就是日复一日那一点点小小努力的积累。23.1.122:47:3122:47Jan-231-Jan-2312、世间成事,不求其绝对圆满,留一份不足,可得无限完美。22:47:3122:47:3122:47Sunday,January 01,202313、不知香积寺,数里入云峰。23.1.123.1.122:47:3122:47:31January 1,202314、意志坚强的人能把世界放在手中像泥块一样任意揉捏。2023年1月1日星期日下午10时47分31秒22:47:31

24、23.1.115、楚塞三湘接,荆门九派通。2023年1月下午10时47分23.1.122:47January 1,202316、少年十五二十时,步行夺得胡马骑。2023年1月1日星期日22时47分31秒22:47:311 January 202317、空山新雨后,天气晚来秋。下午10时47分31秒下午10时47分22:47:3123.1.19、杨柳散和风,青山澹吾虑。23.1.123.1.1Sunday,January 01,202310、阅读一切好书如同和过去最杰出的人谈话。22:47:3122:47:3122:471/1/2023 10:47:31 PM11、越是没有本领的就越加自命不凡。

25、23.1.122:47:3122:47Jan-231-Jan-2312、越是无能的人,越喜欢挑剔别人的错儿。22:47:3122:47:3122:47Sunday,January 01,202313、知人者智,自知者明。胜人者有力,自胜者强。23.1.123.1.122:47:3122:47:31January 1,202314、意志坚强的人能把世界放在手中像泥块一样任意揉捏。2023年1月1日星期日下午10时47分31秒22:47:3123.1.115、最具挑战性的挑战莫过于提升自我。2023年1月下午10时47分23.1.122:47January 1,202316、业余生活要有意义,不要越轨。2023年1月1日星期日22时47分31秒22:47:311 January 202317、一个人即使已登上顶峰,也仍要自强不息。下午10时47分31秒下午10时47分22:47:3123.1.1MOMODA POWERPOINTLorem ipsum dolor sit,eleifend nulla ac,fringilla purus.Nulla iaculis tempor felis amet,consectetur adipiscing elit.Fusce id urna blanditut cursus.感 谢 您 的 下 载 观 看感 谢 您 的 下 载 观 看专家告诉

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

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


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