用C语言编写程序.ppt

上传人:牧羊曲112 文档编号:4987138 上传时间:2023-05-27 格式:PPT 页数:40 大小:204.50KB
返回 下载 相关 举报
用C语言编写程序.ppt_第1页
第1页 / 共40页
用C语言编写程序.ppt_第2页
第2页 / 共40页
用C语言编写程序.ppt_第3页
第3页 / 共40页
用C语言编写程序.ppt_第4页
第4页 / 共40页
用C语言编写程序.ppt_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《用C语言编写程序.ppt》由会员分享,可在线阅读,更多相关《用C语言编写程序.ppt(40页珍藏版)》请在三一办公上搜索。

1、4 输出华氏摄氏温度转换表,4.1 程序解析4.2 for语句4.3 指定次数的循环程序设计,4.1 程序解析,例8 输出一张华氏摄氏温度转换表,将华氏温度从 3040F 之间的每一度,分别转换成相应的摄氏温度并输出。fahr celsius 30-1.1 31-0.6 32 0.0 33 0.6 34 1.1 35 1.7 36 2.2 37 2.8 38 3.3 39 3.9 40 4.4,4.1 程序解析-温度转换表,#include void main()int lower,upper;double celsius,fahr;lower=30;upper=40;printf(fahr

2、celsiusn);/温度转换规则:华氏温度从 lower 到upper,每次增加1F for(fahr=lower;fahr=upper;fahr+)celsius=(5.0/9.0)*(fahr-32.0);printf(%3.0f%6.1fn,fahr,celsius);,fahr celsius 30-1.1 31-0.6 32 0.0 33 0.6 34 1.1 35 1.7 36 2.2 37 2.8 38 3.3 39 3.9 40 4.4,fahr=fahr+1,例8中for语句的流程,for(fahr=lower;fahr=upper;fahr+)celsius=(5.0/9

3、.0)*(fahr-32.0);printf(%3.0f%6.1fn,fahr,celsius);,fahr celsius 30-1.1 31-0.6 32 0.0 33 0.6 34 1.1 35 1.7 36 2.2 37 2.8 38 3.3 39 3.9 40 4.4,fahr=fahr+2输出?,for(表达式1;表达式2;表达式3)循环体语句;实现C语句的重复执行,4.2 for语句-循环语句,3个表达式、循环体语句!书写顺序和执行顺序不同!表达式1只执行一次,循环(控制)变量:for语句中,通过改变或判断某个变量的值来控制循环的执行for(fahr=lower;fahr=upp

4、er;fahr+)celsius=(5.0/9.0)*(fahr-32.0);printf(%3.0f%6.1fn,fahr,celsius);,for语句中的循环变量,赋初值,判断其值,改变其值,for(fahr=lower;fahr=upper;fahr+)celsius=(5.0/9.0)*(fahr-32.0);printf(%3.0f%6.1fn,fahr,celsius);,表达式1:给循环变量赋初值,指定循环的起点。fahr=lower表达式2:给出循环的条件,决定循环的继续或结束。fahr=upper表达式3:设置循环的步长,改变循环变量的值,从而可改变表达式2的真假性。fah

5、r+语句:被反复执行的语句,一条语句。,for语句的说明,for(fahr=lower;fahr=upper;fahr+)celsius=(5.0/9.0)*(fahr-32.0);printf(%3.0f%6.1fn,fahr,celsius);,for(fahr=lower;fahr=upper;fahr=fahr+1)celsius=(5.0/9.0)*(fahr-32.0);printf(%3.0f%6.1fn,fahr,celsius);,复合语句 和空语句;,for(fahr=lower;fahr=upper;fahr=fahr+1);celsius=(5.0/9.0)*(fahr

6、-32.0);printf(%3.0f%6.1fn,fahr,celsius);,!不要在for语句中随意加分号,抽取具有共性的算式: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;,例9 求 1+2+100,/*计算1+2+3+100*/#include void main()int i,sum;sum=0;/*置累加和sum的初值为0*/for(i=1;i=100;i+)

7、/*循环重复100次*/sum=sum+i;/*反复累加*/printf(“sum=%dn”,sum);/*输出累加和*/,例9 源程序,for(i=1;i=100;i+)sum=0;sum=sum+i;,sum=5050,#include void main()int i,sum;sum=0;/*置累加和sum的初值为0*/for(i=1;i=100;i+)/*循环重复100次*/sum=sum+i;/*反复累加*/printf(“sum=%dn”,sum);/*输出累加和*/,求 1+1/2+1/3+1/100,for(i=1;i=100;i+)sum=sum+1.0/i;,int i;d

8、ouble sum;,printf(“sum=%fn”,sum);,应该包含四个部分(例9):初始化:指定循环起点给循环变量赋初值,如i=1;进入循环之前,设置相关变量的初值,如sum=0。条件控制:只要i 100,循环结束。,4.3 指定次数的循环程序设计,输入一个正整数n,求前n项和,即循环n次#include void main()int i,sum;sum=0;for(i=1;i=100;i+)sum=sum+i;printf(“sum=%dn”,sum);,求 1+2+3+n,for(i=1;i=n;i+)sum=sum+i;,printf(input n:n);scanf(%d,#

9、include void main()int i,sum;printf(input n:n);scanf(%d,求1+1/2+1/3+1/n,#include void main()int i;double sum;printf(input n:n);scanf(%d,求前n项和,即循环n次,每次累加1项。for(i=1;i=n;i+)sum=sum+item(第i项)item=1.0/(2*i-1),例10求 1+1/3+1/5+的前n项和,#include void main()int i,n;double item,sum;printf(input n:n);scanf(%d,例10 源

10、程序,求前n项和,即循环n次,每次累加1项。for(i=1;i=n;i+)sum=sum+item(第i项)item=flag*1.0/tt=t+2flag=-flag,例11 求 1-1/3+1/5-的前n项和,item=flag*1.0/(2*i-1),#include void main()int i,n;double item,t,flag,sum;printf(input n:);scanf(%d,例11 源程序,n!=1*2*nfor(i=1;i=n;i+)product=product*item(第i项)item=i,例12 求n!,product=?,#include void

11、 main()int i,n;double product;printf(input n:n);scanf(%d,例12 源程序,输入实数x和正整数n,计算xn=x*x*xfor(i=1;i=n;i+)power=power*item(第i项)item=?,例13 求 xn,x,#include void main()int i,n;double x,power;printf(input x,n:n);scanf(“%lf%d,例13 源程序,5 计算12!/(5!7!),5.1 程序解析5.2 函数的定义5.3 函数的调用5.4 使用函数编写程序,#include double fact(i

12、nt n);/*函数声明*/void main()printf(%fn,fact(12)/(fact(5)+fact(7);double fact(int n)/*定义求 n!的函数*/int i;double result=1;for(i=1;i=n;i+)result=result*i;return result;/*把结果回送主函数*/,5.1 程序解析 求12!/(5!7!)例14,函数:完成一个特定工作的独立程序模块系统函数:C语言系统提供定义,如:scanf()、printf()自定义函数:用户自己定义,如:求阶乘函数fact()C程序:1 个main()0.n 个函数程序调用某个

13、函数,该函数会完成一些特定的工作,然后返回到调用它的地方。函数经过运算,得到一个明确的运算结果,并需要回送该结果。如:求阶乘函数fact 要回送计算出的阶乘值。函数只是完成一系列操作步骤,不需要回送任何运算结果。,5.2 函数的定义,函数类型 函数名(参数表)/*函数首部*/*函数体*/函数实现过程 return 表达式;,返回运算结果的函数定义,把函数运算的结果回送给主函数,?分号,函数返回值的类型,double fact(int n)int i;double result=1;for(i=1;i=n;i+)result=result*i;return result;,void 函数名(参数

14、表)/*函数首部*/*函数体*/函数实现过程 return;/*可省略*/,不返回结果的函数定义,不返回结果,#include void output1();/*函数声明*/void main()output1();void output1()int i;for(i=0;i 5;i+)/*输出 5 行星号*/printf(*n);,例2-15 输出五行*,#include void output2(int row);/*函数声明*/void main()output2(5);,输出n行*,通过参数指定输出的行数,使函数的功能更灵活,参数是函数运行需要具备的已知条件,void output2(i

15、nt row)/*参数 row 给出行数*/int i;for(i=0;i row;i+)/*输出 row 行星号*/printf(*n);,double fact(int n)void output1()void output2(int row)参数表类型1 参数1,类型2 参数2,类型n 参数nint x,int y,float z,参数表,?int x,y,float z,#include double expon(double x,int n);void main()int a;double t,y;y=expon(3.5,4);printf(3.54=%f n,y);printf(i

16、nput t,a:n);scanf(%lf%d,5.3 函数的调用,double expon(double x,int n)int i;double power=1.0;for(i=1;i=n;i+)power=power*x;return power;,计算机在执行程序时,从主函数main开始执行,如果遇到某个函数调用,主函数被暂停执行,转而执行相应的函数,该函数执行完后,将返回主函数,然后再从原先暂停的位置继续执行。函数遇return或最后的大括号,返回主函数,函数的调用过程,函数定义时的参数被称为形式参数(形参)double expon(double x,int n)函数调用时的参数被称

17、为实际参数(实参)expon(3.5,4)expon(t,a)实参形参在参数传递过程中,实参把值复制给形参实参和形参一一对应,个数相同,类型一致。形参:变量实参:常量、变量或表达式,函数的参数,单向传递,#include double expon(double x,int n);void main()int a;double y;a=4;y=expon(3.5,a);printf(a=%d,y=%f n,a,y);,单向传递示例,double expon(double x,int n)double power;for(power=1.0;n 0;n-)power=power*x;return

18、power;,1调用语句printf(“%f”,result);output2(5);通常用于void类型函数的调用2表达式调用sum=expon(t,a)+expon(3.5,4);3作函数参数printf(%f n,expon(t,a);相当于:y=expon(t,a);printf(%f n,y);,函数调用的3种形式,例17 重做例4输入x,求分段函数 f(x)的值,保留2位小数。要求定义和调用函数 fun(x)实现该分段函数。ex x1f(x)=x2-1 x1,4.4 使用函数编写程序,/*计算二分段函数*/#include#include float fun(float x);vo

19、id main()float x,y;printf(input x:n);scanf(%f,例17源程序,float fun(float x)float y;if(x=1)y=exp(x);else y=x*x-1;return y;,输出一张华氏摄氏温度转换表其中华氏温度的取值区间是 0F,300F,温度间隔20F。要求定义和调用函数ftoc(fahr),将华氏温度C转换为摄氏温度F计算公式:C=(5/9)(F-32)。,例18 输出华氏摄氏温度转换,#include void main()int lower,upper;double celsius,fahr;lower=0;upper=3

20、00;printf(fahr celsiusn);for(fahr=lower;fahr=upper;fahr=fahr+20)celsius=(5.0/9.0)*(fahr-32.0);printf(%3.0f%6.1fn,fahr,celsius);,例18 源程序,float ftoc(double fahr)return(5.0/9.0)*(fahr-32.0);,celsius=ftoc(fahr),要求定义和调用函数total(n1,n2)计算n1+.+n2,例19 输入n1和n2,求n1+.+n2,#include int total(int n1,int n2);void main()int n1,n2;printf(input n1,n2:n);scanf(%d%d,int total(int n1,int n2)int i,sum=0;for(i=n1;i=n2;i+)sum=sum+i;return sum;,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号