4输出华氏-摄氏温度转换表.PPT

上传人:天*** 文档编号:483251 上传时间:2018-10-13 格式:PPT 页数:40 大小:190.50KB
下载 相关 举报
4输出华氏-摄氏温度转换表.PPT_第1页
第1页 / 共40页
4输出华氏-摄氏温度转换表.PPT_第2页
第2页 / 共40页
4输出华氏-摄氏温度转换表.PPT_第3页
第3页 / 共40页
4输出华氏-摄氏温度转换表.PPT_第4页
第4页 / 共40页
4输出华氏-摄氏温度转换表.PPT_第5页
第5页 / 共40页
点击查看更多>>
资源描述

1、2.4 输出华氏摄氏温度转换表,2.4.1 程序解析2.4.2 for语句2.4.3 指定次数的循环程序设计,2.4.1 程序解析,例2-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,2.4.1 程序解析-温度转换表,#include void main( ) int lower, upper; double celsius, fahr; lower =

2、 30; upper = 40; printf(fahr 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,例2

3、-8中for语句的流程,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+2输出?,for(表达式1;表达式2;表达式3) 循环体语句实现C语句的重复执行,2.4.2 for语句-循环语句,3个表达式、循环

4、体语句!书写顺序和执行顺序不同!表达式1只执行一次,循环(控制)变量:for语句中,通过改变或判断某个变量的值来控制循环的执行for (fahr = lower; fahr = upper; 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

5、%6.1fn, fahr, celsius); ,表达式1:给循环变量赋初值,指定循环的起点。fahr = lower表达式2:给出循环的条件,决定循环的继续或结束。fahr = upper表达式3:设置循环的步长,改变循环变量的值,从而可改变表达式2的真假性。fahr+语句:被反复执行的语句,一条语句。,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 ;

6、 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 - 32.0); printf(%3.0f %6.1fn, fahr, celsius);,!不要在for语句中随意加分号,抽取具有共性的算式:sum = sum + i sum初值为0,该算式重

7、复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;,例2-9 求 1+2+100,/* 计算1 + 2 + 3 + + 100 */#include void main( ) int i, sum; sum = 0; /* 置累加和sum的初值为0 */ for ( i = 1; i = 100; i+ ) /* 循环重复100次 */ sum = sum + i; /* 反复累加 */ print

8、f( “sum = %dn”, sum); /* 输出累加和 */,例2-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+) su

9、m=sum+1.0/i;,int i;double sum;,printf( “sum = %fn”, sum);,应该包含四个部分(例2-9):初始化:指定循环起点给循环变量赋初值,如i = 1;进入循环之前,设置相关变量的初值,如sum = 0。条件控制:只要i 100,循环结束。,2.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+

10、3+n,for(i=1; i=n; i+) sum=sum+i;,printf(input n: n); scanf(%d, ,#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 *

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

12、in( ) int i, n; double item, sum; printf(input n: ); scanf (%d, ,例2-11 源程序,n! = 1*2*nfor (i = 1; i = n ; i+) product = product * item (第i项)item=i,例2-12 求n!,product = ?,#include void main( ) int i, n; double product; printf(input n: n); scanf (%d, ,例2-12 源程序,输入实数x和正整数n,计算xn = x * x * * xfor (i = 1; i

13、 = n ; i+) power = power * item (第i项)item=?,例2-13 求 xn,#include void main( ) int i, n; double x, power ; printf(input x, n: n); scanf (%lf%d, ,例2-13 源程序,2.5 计算12! / (5!7!),2.5.1 程序解析2.5.2 函数的定义2.5.3 函数的调用2.5.4 使用函数编写程序,#include double fact (int n); /* 函数声明 */void main( ) printf (%fn, fact(12) / (fac

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

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

16、;,void 函数名 (参数表) /* 函数首部 */ /* 函数体 */ 函数实现过程 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行*

17、,通过参数指定输出的行数,使函数的功能更灵活,参数是函数运行需要具备的已知条件,void output2 (int 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

18、 x, int n) ;void main( ) int a; double t, y; y = expon(3.5, 4); printf(3.54 = %f n, y); printf(input t, a: n); scanf (%lf%d, ,2.5.3 函数的调用,double expon(double x , int n) int i ; double power = 1.0; for ( i = 1 ; i 0; n- ) power = power * x; return power;,1调用语句printf (“%f”, result); output2(5);通常用于voi

19、d类型函数的调用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种形式,例2-17 重做例2-4输入x,求分段函数 f(x) 的值,保留2位小数。要求定义和调用函数 fun(x) 实现该分段函数。 ex x1f(x) = x2-1 x1,2.4.4 使用函数编写程序,/* 计算二分段函数 */#include #include float fun (float x); void main( ) float x

20、, y; printf(input x: n); scanf(%f, ,例2-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)。,例2-18 输出华氏摄氏温度转换,#include void main( ) int lower, upper; double celsius, fah

21、r; lower = 0; upper = 300; 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); ,例2-18 源程序,float ftoc(double fahr) return (5.0 / 9.0) * (fahr - 32.0);,celsius =ftoc(fahr),要求定义和调用函数total(n1, n2)计算n1+.+n2,例2-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 ;,

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

当前位置:首页 > 重点行业资料库 > 1

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。