用C语言编写程序II.ppt

上传人:wuy****n92 文档编号:66093870 上传时间:2022-12-14 格式:PPT 页数:38 大小:865.50KB
返回 下载 相关 举报
用C语言编写程序II.ppt_第1页
第1页 / 共38页
用C语言编写程序II.ppt_第2页
第2页 / 共38页
点击查看更多>>
资源描述

《用C语言编写程序II.ppt》由会员分享,可在线阅读,更多相关《用C语言编写程序II.ppt(38页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、用C语言编写程序第2部分2.3.5 常用数学库函数常用数学库函数v库函数C语言处理系统提供事先编好的函数,供用户在编程时调用。scanf(),printf(),exp()在相应的系统文件(头文件)中定义一些必需的信息。v#include命令用户调用库函数时,将相应的头文件包含到源程序中。例如调用scanf,printf,需要#include 调用sqrt,需要#include C语言程序设计语言程序设计语言程序设计语言程序设计语言程序设计网络信息与计算中心教研室常用数学库函数常用数学库函数v平方根函数 sqrt(x)v绝对值函数 fabs(x)fabs(-3.56)的值为3.56v幂函数 po

2、w(x,n):xnpow(1.1,2)的值为1.21(即1.12)v指数函数 exp(x):exexp(2.3)的值为e2.3v以e为底的对数函数 log(x):ln xlog(123.45)的值为4.815836v以10为底的对数函数 log10(x):log10 xlog10(123.45)的值为2.091491。C语言程序设计语言程序设计语言程序设计语言程序设计语言程序设计网络信息与计算中心教研室例例2-5 计算存款的本息计算存款的本息输入存款金额 money、存期 year 和年利率 rate,根据公式计算存款到期时的本息合计sum(税前),输出时保留2位小数。sum=money*po

3、w(1+rate),year)sum=money(1+rate)yearC语言程序设计语言程序设计语言程序设计语言程序设计语言程序设计网络信息与计算中心教研室例例2-5 程序程序#include#include main()int money,year;double rate,sum;printf(输入存款:);scanf(%d,&money);printf(定存年数:);scanf(%d,&year);printf(当前利率(一个小数):);scanf(%lf,&rate);sum=money*pow(1+rate),year);printf(sum=%.2fn,sum);return 0;

4、输入存款输入存款:30000定存年数定存年数:2当前利率当前利率:0.03sum=31827.00scanf(%d%d%lf,&money,&year,&rate);C语言程序设计语言程序设计语言程序设计语言程序设计语言程序设计网络信息与计算中心教研室调用调用scanf函数输入多个数据函数输入多个数据scanf(%d%d%lf,&money,&year,&rate);输入:30000 2 0.03vscanf需要多个输入参数和多个格式控制说明输入参数的类型、个数和位置要与格式控制说明一一对应?scanf(%d%lf%d,&money,&year,&rate);v程序运行时,输入的多个数据之间必

5、须有间隔。scanf(%d%lf%d,&money,&rate,&year);如何输入?如何输入?输入参数:格式控制说明 输入数据C语言程序设计语言程序设计语言程序设计语言程序设计语言程序设计网络信息与计算中心教研室2.4 输出华氏摄氏温度转换表输出华氏摄氏温度转换表v2.4.1 程序解析程序解析v2.4.2 for语句语句v2.4.3 指定次数的循环程序设计指定次数的循环程序设计C语言程序设计语言程序设计语言程序设计语言程序设计语言程序设计网络信息与计算中心教研室2.4.1 程序解析程序解析例2-6输入2个整数lower和 upper,输出一张华氏摄氏温度转换表,华氏温度的取值范围是lowe

6、r,upper,每次增加1F。fahr celsius 30 -1.1 31 -0.6 32 0.0 33 0.6 34 1.1 35 1.7C语言程序设计语言程序设计语言程序设计语言程序设计语言程序设计网络信息与计算中心教研室2.4.1 程序解析程序解析-温度转换表温度转换表#include int main(void)int fahr,lower,upper;double celsius;printf(Enter lower:);scanf(%d,&lower);printf(Enter upper:);scanf(%d,&upper);printf(fahr celsiusn);/温度重

7、复转换:华氏温度从lower开始,/到upper结束,每次增加1F for(fahr=lower;fahr=upper;fahr+)celsius=(5.0/9.0)*(fahr-32);printf(%d%6.1lfn,fahr,celsius);return 0;fahr=fahr+1Enter lower:30Enter upper:35fahr celsius 30 -1.1 31 -0.6 32 0.0 33 0.6 34 1.1 35 1.7C语言程序设计语言程序设计语言程序设计语言程序设计语言程序设计网络信息与计算中心教研室例例2-8中中for语句的流程语句的流程for(fahr

8、=lower;fahr=upper;fahr+)celsius=(5.0/9.0)*(fahr-32);printf(%d%6.1fn,fahr,celsius);fahr=fahr+2输出?Enter lower:30Enter upper:35fahr celsius 30 -1.1 31 -0.6 32 0.0 33 0.6 34 1.1 35 1.7C语言程序设计语言程序设计语言程序设计语言程序设计语言程序设计网络信息与计算中心教研室2.4.2 for语句循环语句语句循环语句for(表达式1;表达式2;表达式3)循环体语句实现C语句的重复执行3个表达式、循环体语句个表达式、循环体语句!

9、书写顺序和执行顺序不同书写顺序和执行顺序不同!表达式表达式1只执行一次只执行一次C语言程序设计语言程序设计语言程序设计语言程序设计语言程序设计网络信息与计算中心教研室for语句中的循环变量语句中的循环变量循环(控制)变量:for语句中,通过改变或判断某个变量的值来控制循环的执行 for(fahr=lower;fahr=upper;fahr+)celsius=(5.0/9.0)*(fahr-32.0);printf(%d%6.1lfn,fahr,celsius);赋初值z判断其值改变其值C语言程序设计语言程序设计语言程序设计语言程序设计语言程序设计网络信息与计算中心教研室for语句的说明语句的说

10、明for(fahr=lower;fahr=upper;fahr+)celsius=(5.0/9.0)*(fahr-32.0);printf(%d%6.1fn,fahr,celsius);表达式1:给循环变量赋初值,指定循环的起点。fahr=lower表达式2:给出循环的条件,决定循环的继续或结束。fahr=upper表达式3:设置循环的步长,改变循环变量的值,从而可改变表达式2的真假性。fahr+语句:被反复执行的语句,一条语句。C语言程序设计语言程序设计语言程序设计语言程序设计语言程序设计网络信息与计算中心教研室复合语句复合语句 和空语句和空语句;for(fahr=lower;fahr=up

11、per;fahr+)celsius=(5.0/9.0)*(fahr-32.0);printf(%d%6.1fn,fahr,celsius);for(fahr=lower;fahr=upper;fahr=fahr+1)celsius=(5.0/9.0)*(fahr-32.0);printf(%d%6.1fn,fahr,celsius);for(fahr=lower;fahr=upper;fahr=fahr+1);celsius=(5.0/9.0)*(fahr-32.0);printf(%d%6.1fn,fahr,celsius);!不要在for语句中随意加分号C语言程序设计语言程序设计语言程序设

12、计语言程序设计语言程序设计网络信息与计算中心教研室2.4.3 指定次数的循环程序设计指定次数的循环程序设计求 1+2+100抽取具有共性的算式:sum=sum+i sum初值为0,该算式重复100次,i从1变到100设i为循环变量,则:指定循环起点的表达式1:i=1给出循环条件的表达式2:i=100设置循环步长的表达式3:i+循环体语句:sum=sum+i;for(i=1;i=100;i+)sum=sum+i;C语言程序设计语言程序设计语言程序设计语言程序设计语言程序设计网络信息与计算中心教研室源程序求源程序求 1+2+100/*计算1+2+3+100 */#include int main(

13、void)int i,sum;sum=0;/*置累加和sum的初值为0*/for(i=1;i=100;i+)/*循环重复100次*/sum=sum+i;/*反复累加*/printf(“sum=%dn”,sum);/*输出累加和*/return 0;for(i=1;i=100;i+)sum=0;sum=sum+i;sum=5050C语言程序设计语言程序设计语言程序设计语言程序设计语言程序设计网络信息与计算中心教研室求求 1+1/2+1/3+1/100#include int main(void)int i,sum;sum=0;for(i=1;i=100;i+)sum=sum+i;printf(“

14、sum=%dn”,sum);return 0;for(i=1;i=100;i+)sum=sum+1.0/i;int i;double sum;printf(“sum=%lfn”,sum);C语言程序设计语言程序设计语言程序设计语言程序设计语言程序设计网络信息与计算中心教研室指定次数的循环程序设计指定次数的循环程序设计一般包含四个部分:v初始化:指定循环起点给循环变量赋初值,如i=1;进入循环之前,设置相关变量的初值,如sum=0。v条件控制:只要i 100,循环结束。C语言程序设计语言程序设计语言程序设计语言程序设计语言程序设计网络信息与计算中心教研室例例2-7 求求 1+2+3+n 输入一个

15、正整数n,求前n项和,即循环n次#include int main(void)int i,sum;sum=0;for(i=1;i=100;i+)sum=sum+i;printf(“sum=%dn”,sum);return 0;for(i=1;i=n;i+)sum=sum+i;printf(“Enter n:);scanf(%d,&n);Enter n:100Sum=5050C语言程序设计语言程序设计语言程序设计语言程序设计语言程序设计网络信息与计算中心教研室求求1+1/2+1/3+1/n#include int main(void)int i,sum;printf(“Enter n:);sca

16、nf(%d,&n);sum=0;for(i=1;i=n;i+)sum=sum+i;printf(“sum=%dn”,sum);return 0;#include int main(void)int i;double sum;printf(“Enter n:);scanf(%d,&n);sum=0;for(i=1;i=n;i+)sum=sum+1.0/i;printf(“sum=%lfn”,sum);return 0;C语言程序设计语言程序设计语言程序设计语言程序设计语言程序设计网络信息与计算中心教研室求求 1+1/3+1/5+的前的前n项和项和求前n项和,即循环n次,每次累加1项。for(i=

17、1;i=n;i+)sum=sum+item(第i项)item=1.0/(2*i-1)C语言程序设计语言程序设计语言程序设计语言程序设计语言程序设计网络信息与计算中心教研室源程序求源程序求 1+1/3+1/5+#include int main(void)int i,n;double item,sum;printf(“Enter n:);scanf(%d,&n);sum=0;for(i=1;i=n;i+)item=1.0/(2*i-1);/*计算第i项的值*/sum=sum+item;/*累加第i项的值*/printf(sum=%lfn,sum);return 0;C语言程序设计语言程序设计语言

18、程序设计语言程序设计语言程序设计网络信息与计算中心教研室例例2-8 求求 1-1/3+1/5-的前的前n项和项和求前n项和,即循环n次,每次累加1项。for(i=1;i=n;i+)sum=sum+item(第i项)item=flag*1.0/denominator denominator=denominator+2 flag=-flagitem=flag*1.0/(2*i-1)C语言程序设计语言程序设计语言程序设计语言程序设计语言程序设计网络信息与计算中心教研室例例2-8 源程序源程序#include int main(void)int denominator,flag,i,n;double

19、item,sum;printf(“Enter n:);scanf(%d,&n);flag=1;denominator=1;sum=0;for(i=1;i=n;i+)item=flag*1.0/denominator;/*计算第i项的值*/sum=sum+item;/*累加第i项的值*/flag=-flag;/*准备下一次循环*/denominator=denominator+2;printf(sum=%lfn,sum);return 0;C语言程序设计语言程序设计语言程序设计语言程序设计语言程序设计网络信息与计算中心教研室例例2-9 求求n!n!=1*2*nfor(i=1;i=n;i+)pro

20、duct=product*item(第i项)item=iproduct=?C语言程序设计语言程序设计语言程序设计语言程序设计语言程序设计网络信息与计算中心教研室例例2-9 源程序源程序#include int main(void)int i,n;double product;printf(input n:n);scanf(%d,&n);product=1;/*置阶乘product的初值为1*/for(i=1;i=n;i+)/*循环重复n次,计算n!*/product=product*i;printf(product=%.0lfn,product);return 0;C语言程序设计语言程序设计语

21、言程序设计语言程序设计语言程序设计网络信息与计算中心教研室求求 xn 输入实数x和正整数n,计算xn=x*x*xfor(i=1;i=n;i+)power=power*item(第i项)item=?C语言程序设计语言程序设计语言程序设计语言程序设计语言程序设计网络信息与计算中心教研室源程序求源程序求 xn#include int main(void)int i,n;double x,power;printf(“Enter x,n:n);scanf(%lf%d,&x,&n);power=1;/*置power的初值为1*/for(i=1;i=n;i+)/*循环重复n次,计算x的n次幂*/power=

22、power*x;printf(%0.fn,power);C语言程序设计语言程序设计语言程序设计语言程序设计语言程序设计网络信息与计算中心教研室2.5 生成乘方表和阶乘表生成乘方表和阶乘表2.5.1 程序解析2.5.2 结构化程序设计思想C语言程序设计语言程序设计语言程序设计语言程序设计语言程序设计网络信息与计算中心教研室2.5.1 程序解析程序解析例2-10(1)输入一个正整数n,生成一张2的乘方表,输出20到2n的值,可以调用幂函数计算2的乘方。for(i=0;i=n;i+)power=pow(2,i);/*调用幂函数调用幂函数pow(2,i)计算计算2的的i次方次方*/输出输出power的

23、值的值;C语言程序设计语言程序设计语言程序设计语言程序设计语言程序设计网络信息与计算中心教研室源程序生成乘方表源程序生成乘方表#include#include int main(void)int i,n;double power;printf(Enter n:);scanf(%d,&n);for(i=0;i=n;i+)power=pow(2,i);/*调用幂函数pow(2,i)计算2的i次方*/printf(pow(2,%d)=%.0fn,i,power);return 0;Enter n:4pow(2,0)=1pow(2,1)=2pow(2,2)=4pow(2,3)=8pow(2,4)=16

24、 C语言程序设计语言程序设计语言程序设计语言程序设计语言程序设计网络信息与计算中心教研室例例2-10(2)生成阶乘表)生成阶乘表输入一个正整数n,生成一张阶乘表,输出0!到n!的值。要求定义和调用函数fact(n)计算n!,函数类型是double。for(i=0;i=n;i+)power=pow(2,i);/*调用幂函数调用幂函数pow(2,i)计算计算2的的i次方次方*/输出输出power的值的值;for(i=0;i=n;i+)product=fact(i);/*调用自定义函数调用自定义函数fact(i)计算计算i!*/输出输出product的值的值;C语言程序设计语言程序设计语言程序设计语

25、言程序设计语言程序设计网络信息与计算中心教研室源程序生成阶乘表源程序生成阶乘表#include double fact(int n);/*自定义函数的声明*/int main(void)int i,n;double result;printf(Enter n:);scanf(%d,&n);for(i=0;i=n;i+)result=fact(i);/*调用自定义函数fact(i)计算i!*/printf(%d!=%.0fn,i,result);return 0;Enter n:30!=11!=12!=23!=6double fact(int n)/*函数首部*/int i;double pro

26、duct;product=1;for(i=1;i=n;i+)product=product*i;return product;/*将结果回送主函数*/C语言程序设计语言程序设计语言程序设计语言程序设计语言程序设计网络信息与计算中心教研室2.5.2 结构化程序设计思想结构化程序设计思想v结构化程序设计(Structured Programming)程序设计技术C语言是结构化程序设计语言v强调程序设计的风格和程序结构的规范化,提倡清晰的结构,其基本思路是将一个复杂问题的求解过程划分为若干阶段,每个阶段要处理的问题都容易被理解和处理。按自顶向下的方法对问题进行分析、模块化设计和结构化编码等3个步骤。

27、C语言程序设计语言程序设计语言程序设计语言程序设计语言程序设计网络信息与计算中心教研室自顶向下的分析方法自顶向下的分析方法v把大的复杂的问题分解成小问题后再解决v面对一个复杂的问题,首先进行上层(整体)的分析,按组织或功能将问题分解成子问题,如果子问题仍然十分复杂,再做进一步分解,直到处理对象相对简单,容易处理为止。v当所有的子问题都得到了解决,整个问题也就解决了。v每一次分解都是对上一层的问题进行细化和逐步求精,最终形成一种类似树形的层次结构,来描述分析的结果。C语言程序设计语言程序设计语言程序设计语言程序设计语言程序设计网络信息与计算中心教研室学生成绩统计程序学生成绩统计程序成绩输入成绩输

28、入数据计算数据计算数据查找数据查找输出成绩输出成绩计算学生平均分计算学生平均分计算课程平均分计算课程平均分学生成绩统计程序的层次结构图学生成绩统计程序的层次结构图 C语言程序设计语言程序设计语言程序设计语言程序设计语言程序设计网络信息与计算中心教研室模块化设计模块化设计v将模块组织成良好的层次系统,顶层模块调用其下层模块以实现程序的完整功能,每个下层模块再调用更下层的模块,从而完成程序的一个子功能,最下层的模块完成最具体的功能。v遵循模块独立性的原则,即模块之间的联系应尽量简单。一个模块只完成一个指定的功能。模块之间只通过参数进行调用。一个模块只有一个入口和一个出口。模块内慎用全局变量。C语言程序设计语言程序设计语言程序设计语言程序设计语言程序设计网络信息与计算中心教研室结构化编码结构化编码 选用顺序、选择和循环三种控制结构,使程序具有良好的风格。对变量、函数、常量等命名时,要见名知意,有助于对变量含义或函数功能的理解。在程序中增加必要的注释,增加程序的可读性。程序要清晰易懂,语句构造要简单直接,一行写一条语句,采用缩进格式。程序有良好的交互性,输入有提示,输出有说明,并尽量采用统一整齐的格式。C语言程序设计语言程序设计语言程序设计语言程序设计语言程序设计网络信息与计算中心教研室

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁