《第2章用c语言编写程序课件.ppt》由会员分享,可在线阅读,更多相关《第2章用c语言编写程序课件.ppt(64页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、2.1 在屏幕上显示在屏幕上显示 Hello World!2.2 求华氏温度求华氏温度 100F 对应的摄氏温度对应的摄氏温度2.3 计算分段函数计算分段函数2.4 输出华氏输出华氏摄氏温度转换表摄氏温度转换表2.5 生成乘方表与阶乘表生成乘方表与阶乘表 本章要点本章要点n怎样编写程序,在屏幕上显示一些信息?怎样编写程序,在屏幕上显示一些信息?n怎样编写程序,实现简单的数据处理,例如怎样编写程序,实现简单的数据处理,例如将华氏温度转换为摄氏温度?将华氏温度转换为摄氏温度?n怎样使用怎样使用 if 语句计算分段函数?语句计算分段函数?n怎样用怎样用 for 语句求语句求 1+2+100?n如何定
2、义和调用函数生成一张乘方表?如何定义和调用函数生成一张乘方表?2.1 在屏幕上显示在屏幕上显示Hello World!例例例例2-1 2-1 在屏幕上显示一个短句在屏幕上显示一个短句在屏幕上显示一个短句在屏幕上显示一个短句:Hello World!:Hello World!/*/*显示显示显示显示“Hello World!”*/Hello World!”*/#include include main()main()printf(“Helloprintf(“Hello World!n”);World!n”);1.1.1.1.任何程序都有主函数任何程序都有主函数任何程序都有主函数任何程序都有主函数
3、2.2.2.2.程序由若干语句组成程序由若干语句组成程序由若干语句组成程序由若干语句组成3.3.3.3.语句由;结束语句由;结束语句由;结束语句由;结束输出函数输出函数输出函数输出函数 换行符换行符换行符换行符语句结束语句结束语句结束语句结束主函数主函数主函数主函数注释文本注释文本注释文本注释文本编译预处理命令编译预处理命令编译预处理命令编译预处理命令Hello World!Hello World!2.1 在屏幕上显示一些信息在屏幕上显示一些信息例例例例2-2 2-2 在屏幕上显示在屏幕上显示在屏幕上显示在屏幕上显示:Programming is fun!Programming is fun!
4、And Programming in C is even more fun!And Programming in C is even more fun!#include include main()main()printf(Programmingprintf(Programming is fun!n);is fun!n);printf(Andprintf(And Programming in C is even more fun!n);Programming in C is even more fun!n);2.2 求华氏温度求华氏温度 100F 对应的摄氏温对应的摄氏温度度 摄氏温度摄氏温度
5、 C=(5/9)(F-32)2.2.1 程序解析程序解析2.2.2 常量、变量和数据类型常量、变量和数据类型2.2.3 算术运算和赋值运算算术运算和赋值运算2.2.4 格式化输出函数格式化输出函数printf#include include main()main()intint celsiuscelsius,fahrfahr;fahrfahr=100;=100;celsiuscelsius=5*(=5*(fahrfahr-32)/9;-32)/9;printf(fahrprintf(fahr=%d%d,celsiuscelsius=%d dnn,fahrfahr,celsiuscelsius)
6、;);2.2.1 程序解析程序解析例例例例2-3 2-3 求华氏温度求华氏温度求华氏温度求华氏温度 100 100F F 对应的摄氏温度。对应的摄氏温度。对应的摄氏温度。对应的摄氏温度。摄氏温度摄氏温度摄氏温度摄氏温度 C=(5/9)(F-32)C=(5/9)(F-32)fahr=100,celsius=37变量使用变量使用变量使用变量使用变量定义变量定义变量定义变量定义输出结果输出结果输出结果输出结果2.2.2 常量、变量和数据类型常量、变量和数据类型 intint celsiuscelsius,fahrfahr;celsiuscelsius=5*(=5*(fahrfahr-32)/9;-3
7、2)/9;n n数据数据数据数据常量:在程序运行过程中,其值不能被改变常量:在程序运行过程中,其值不能被改变常量:在程序运行过程中,其值不能被改变常量:在程序运行过程中,其值不能被改变 变量:在程序运行过程中,其值可以被改变变量:在程序运行过程中,其值可以被改变变量:在程序运行过程中,其值可以被改变变量:在程序运行过程中,其值可以被改变 n n数据类型数据类型数据类型数据类型常量:常量:常量:常量:5 5 和和和和 9 9是整型常量(整数)是整型常量(整数)是整型常量(整数)是整型常量(整数)变量:在定义时指定变量:在定义时指定变量:在定义时指定变量:在定义时指定变量的定义变量的定义变量定义的
8、一般形式:变量定义的一般形式:变量定义的一般形式:变量定义的一般形式:类型名类型名类型名类型名 变量名表;变量名表;变量名表;变量名表;例如:例如:例如:例如:intint celsiuscelsius,fahrfahr;定义整型变量定义整型变量定义整型变量定义整型变量floatfloat x;x;定义单精度浮点型变量定义单精度浮点型变量定义单精度浮点型变量定义单精度浮点型变量doubledouble area,length;area,length;定义双精度浮点型变量定义双精度浮点型变量定义双精度浮点型变量定义双精度浮点型变量doubledouble型数据比型数据比型数据比型数据比float
9、float精度高,取值范围大精度高,取值范围大精度高,取值范围大精度高,取值范围大 变量名:小写字母;见名知义变量名:小写字母;见名知义变量名:小写字母;见名知义变量名:小写字母;见名知义变量名代表内存中的一个存储单元,用来存放该变变量名代表内存中的一个存储单元,用来存放该变变量名代表内存中的一个存储单元,用来存放该变变量名代表内存中的一个存储单元,用来存放该变量的值量的值量的值量的值该存储单元的大小由变量的数据类型决定该存储单元的大小由变量的数据类型决定该存储单元的大小由变量的数据类型决定该存储单元的大小由变量的数据类型决定C C语言中的变量代表保存数据的存储单元语言中的变量代表保存数据的存
10、储单元语言中的变量代表保存数据的存储单元语言中的变量代表保存数据的存储单元数学中的变量代表未知数数学中的变量代表未知数数学中的变量代表未知数数学中的变量代表未知数 x=x+1 x=x+1intint celsiuscelsius,fahrfahr;floatfloat x;x;doubledouble area,length;area,length;定义变量时一定义变量时一定义变量时一定义变量时一定要指定定要指定定要指定定要指定变量变量变量变量名名名名和和和和数据类型数据类型数据类型数据类型#include include main()main()intint celsiuscelsius,f
11、ahrfahr;fahrfahr=100;=100;celsiuscelsius=5*(=5*(fahrfahr-32)/9;-32)/9;printf(fahrprintf(fahr=%d,=%d,celsiuscelsius=%=%dndn,fahrfahr,celsiuscelsius););uu一个变量名只能定义一次一个变量名只能定义一次一个变量名只能定义一次一个变量名只能定义一次uu变量一般都定义在程序的头上,变量一般都定义在程序的头上,变量一般都定义在程序的头上,变量一般都定义在程序的头上,不能定义在程序的中间或后面不能定义在程序的中间或后面不能定义在程序的中间或后面不能定义在程序
12、的中间或后面应该应该应该应该先赋值先赋值先赋值先赋值,后引用后引用后引用后引用变量的使用变量的使用变量必须先变量必须先变量必须先变量必须先定义定义定义定义,后,后,后,后使用使用使用使用。2.2.3 算术运算和赋值运算算术运算和赋值运算fahrfahr=100;=100;celsiuscelsius=5*(=5*(fahrfahr-32)/9;-32)/9;1 1、算术运算、算术运算、算术运算、算术运算双目算术运算符:双目算术运算符:双目算术运算符:双目算术运算符:+-*/%+-*/%算术表达式:用算术表达式:用算术表达式:用算术表达式:用算术运算符算术运算符算术运算符算术运算符将将将将运算对
13、象运算对象运算对象运算对象连接起来连接起来连接起来连接起来的符合的符合的符合的符合C C语言语法规则的式子语言语法规则的式子语言语法规则的式子语言语法规则的式子 数学式:数学式:数学式:数学式:(5/9)(5/9)(F-32)F-32)C C表达式:表达式:表达式:表达式:5 5*(fahrfahr-32)/9 -32)/9 或者:或者:或者:或者:数学式:数学式:数学式:数学式:s(s-a)(s-b)(s-cs(s-a)(s-b)(s-c)C C表达式:表达式:表达式:表达式:s*(s-a)*(s*(s-a)*(s-bs-b)*()*(s-cs-c)注意注意uu/整数除整数,得整数整数除整数
14、,得整数整数除整数,得整数整数除整数,得整数如:如:如:如:1/2 1/2 0 0,9/4 9/4 2 2 5*(5*(fahrfahr-32)/9 -32)/9 和和和和 5 5/9/9*(*(fahrfahr-32)-32)等价吗等价吗等价吗等价吗?uu%针对整型数据针对整型数据针对整型数据针对整型数据如:如:如:如:5 56 65 5,9 94 41 1,1001004 40 0uu 双目运算符两侧操作数的类型要相同双目运算符两侧操作数的类型要相同双目运算符两侧操作数的类型要相同双目运算符两侧操作数的类型要相同2 2、赋值运算、赋值运算、赋值运算、赋值运算pp赋值运算符赋值运算符赋值运算
15、符赋值运算符 =pp赋值表达式:用赋值表达式:用赋值表达式:用赋值表达式:用 =将一个将一个将一个将一个变量变量变量变量和一个和一个和一个和一个表达式表达式表达式表达式连接连接连接连接起来的式子起来的式子起来的式子起来的式子 变量变量变量变量 表达式表达式表达式表达式例如:例如:例如:例如:fahrfahr=100;=100;celsiuscelsius=5*(=5*(fahrfahr-32)/9;-32)/9;pp计算赋值运算符右侧计算赋值运算符右侧计算赋值运算符右侧计算赋值运算符右侧表达式表达式表达式表达式的值的值的值的值pp将赋值运算符右侧将赋值运算符右侧将赋值运算符右侧将赋值运算符右侧
16、表达式表达式表达式表达式的值赋给左侧的的值赋给左侧的的值赋给左侧的的值赋给左侧的变量变量变量变量的左边必须是一个变量的左边必须是一个变量的左边必须是一个变量的左边必须是一个变量2.2.4 格式化输出函数格式化输出函数printf数据输出:格式化输出函数数据输出:格式化输出函数数据输出:格式化输出函数数据输出:格式化输出函数 printfprintf#include include printf(Helloprintf(Hello World!n);World!n);printf(fahrprintf(fahr=%d,=%d,celsiuscelsius=%=%dndn,fahrfahr,cel
17、siuscelsius););printfprintf(格式控制字符串格式控制字符串格式控制字符串格式控制字符串,输出参数输出参数输出参数输出参数1,1,输出参数输出参数输出参数输出参数n n););用双引号括起来,用双引号括起来,用双引号括起来,用双引号括起来,表示输出的格式表示输出的格式表示输出的格式表示输出的格式要输出的数据要输出的数据要输出的数据要输出的数据printf格式控制字符串格式控制字符串printfprintf(HelloHello World!n World!n););printfprintf(Hin(Hin,fahrfahr););printfprintf(fahrfah
18、r=%d,=%d,celsiuscelsius=%=%dndn,fahrfahr,celsiuscelsius););格式控制字符串:格式控制字符串:格式控制字符串:格式控制字符串:pp普通字符:普通字符:普通字符:普通字符:原样输出原样输出原样输出原样输出pp格式控制说明格式控制说明格式控制说明格式控制说明:按指定的格式输出数据按指定的格式输出数据按指定的格式输出数据按指定的格式输出数据,%与数据类型有关与数据类型有关与数据类型有关与数据类型有关intint型型型型 :%d dfloat doublefloat double型:型:型:型:%f fprintf(fahrprintf(fahr
19、=%d%d,celsiuscelsius=%d dnn,fahrfahr,celsiuscelsius););输出输出:fahr=100,celsius=372.3 计算分段函数计算分段函数 2.3.1 程序解析程序解析2.3.2 关系运算关系运算2.3.3 if-else语句语句2.3.4 格式化输入函数格式化输入函数scanf2.3.5 常用数学库函数常用数学库函数2.3.1 程序解析程序解析例例例例2-4 2-4 分段计算水费分段计算水费分段计算水费分段计算水费要解决的问题:要解决的问题:要解决的问题:要解决的问题:输入输入输入输入计算分段函数计算分段函数计算分段函数计算分段函数输出,并
20、保留输出,并保留输出,并保留输出,并保留2 2位小数位小数位小数位小数#include include main()main()double x,y;double x,y;printf(Enterprintf(Enter x(x=0):n);x(x=0):n);/*/*输入提示输入提示输入提示输入提示*/*/scanfscanf(%lf(%lf,&x);,&x);/*/*调用调用调用调用scanfscanf函数输入数据函数输入数据函数输入数据函数输入数据*/*/if if(x(x=15)=0):Enter x(x=0):9.59.5f(9.500000)=12.67f(9.500000)=12
21、.67Enter x(x=0):Enter x(x=0):1515f(15.000000)=20.00f(15.000000)=20.00数据必须输入吗?数据必须输入吗?数据必须输入吗?数据必须输入吗?Enter x(x=0):Enter x(x=0):21.321.3f(21.300000)=42.75f(21.300000)=42.752.3.2 关系运算关系运算x=15 x=15 比较比较比较比较 x x 和和和和 1 15 5 的大小的大小的大小的大小 比较的结果:真比较的结果:真比较的结果:真比较的结果:真 假假假假 当当当当 x x 取值取值取值取值9.59.5时,时,时,时,x=
22、15x=15的结果是:?的结果是:?的结果是:?的结果是:?当当当当 x x 取值取值取值取值21.321.3时,时,时,时,x=15x=15的结果是:?的结果是:?的结果是:?的结果是:?关系运算关系运算关系运算关系运算 比较运算,比较两个操作数比较运算,比较两个操作数比较运算,比较两个操作数比较运算,比较两个操作数pp关系运算符关系运算符关系运算符关系运算符x x y x y x=y x y x=y x y x!=!=y ypp关系表达式:用关系表达式:用关系表达式:用关系表达式:用关系运算符关系运算符关系运算符关系运算符将将将将2 2个个个个表达式表达式表达式表达式连接起来的式子。连接起
23、来的式子。连接起来的式子。连接起来的式子。如:如:如:如:x=1x=1区分区分=和和=运用关系表达式运用关系表达式表示比较的数学式表示比较的数学式表示比较的数学式表示比较的数学式 C C关系表达式关系表达式关系表达式关系表达式x10 x10 x10 x10 x10 x10 x=10 x=10 x=10 x=10 x=10 x!=x!=1010 x=10 x=10用关系表达式描述条件用关系表达式描述条件用关系表达式描述条件用关系表达式描述条件pp判断判断判断判断 x x 是否为负数是否为负数是否为负数是否为负数 x 0 x 0pp判断判断判断判断 x x 是否不为零是否不为零是否不为零是否不为零
24、 x!=0 x!=02.3.3 if-else语句语句if if(表达式表达式表达式表达式)语句语句语句语句1 1elseelse 语句语句语句语句2 2if(x=15)y=4*x/3;else y=2.5*x-10.5;语句语句语句语句1 1表达式表达式表达式表达式语句语句语句语句2 2真真真真假假假假例例2-4-1:计算二分段函数:计算二分段函数 if(表达式表达式)语句语句1else 语句语句2if(x!=0)y=1/x;else y=0;源程序源程序源程序源程序#include include main()main()double x,y;double x,y;printf(Enter
25、printf(Enter x:nx:n););scanf(%lfscanf(%lf,&x);,&x);if(xif(x!=0)!=0)y=1/x;y=1/x;else else y=0;y=0;printf(f(%.2f)=%.1fn,x,y);printf(f(%.2f)=%.1fn,x,y);#include /*例例2-4*/main()double x,y;printf(Enter x(x=0):n);scanf(%lf,&x);if(x=15)y=4*x/3;else y=2.5*x-10.5;printf(f(%f)=%.2fn,x,y);return 0;运行结果运行结果运行结果
26、运行结果#include include intint main(voidmain(void)double x,y;double x,y;printf(Enterprintf(Enter x:nx:n););scanf(%lfscanf(%lf,&x);,&x);if(xif(x!=0)!=0)y=1/x;y=1/x;else else y=0;y=0;printf(f(%.2f)=%.1fn,x,y);printf(f(%.2f)=%.1fn,x,y);input x:2.5f(2.50)=0.4input x:0f(0.00)=0.02.3.4 格式化输入函数格式化输入函数scanf数据输
27、入:格式化输入函数数据输入:格式化输入函数数据输入:格式化输入函数数据输入:格式化输入函数 scanfscanf#include include scanf(%lfscanf(%lf,&x);,&x);scanfscanf(格式控制字符串格式控制字符串格式控制字符串格式控制字符串,输入参数输入参数输入参数输入参数1,1,输入参数输入参数输入参数输入参数n n););用双引号括起来,表示输入的格式用双引号括起来,表示输入的格式变量地址变量地址scanf格式控制字符串格式控制字符串格式控制字符串:格式控制字符串:格式控制字符串:格式控制字符串:pp格式控制说明格式控制说明格式控制说明格式控制说明:
28、按指定的格式输入数据按指定的格式输入数据按指定的格式输入数据按指定的格式输入数据,%与数据类型有关与数据类型有关与数据类型有关与数据类型有关intint型型型型 :%d dfloatfloat型:型:型:型:%f fdoubledouble型:型:型:型:%lf lfpp普通字符:普通字符:普通字符:普通字符:原样输入原样输入原样输入原样输入输入输入输入输入:9.59.5scanf(xscanf(x=%lf lf,&x);,&x);输入输入输入输入:x=x=9.59.5尽量不要出现普通字符尽量不要出现普通字符例如:例如:例如:例如:scanf(scanf(%lf%lf,&x);,&x);改进例
29、改进例2-3的程序的程序例例例例2-32-3-1-1 求华氏温度求华氏温度求华氏温度求华氏温度 100 100F F 对应的摄氏温度。对应的摄氏温度。对应的摄氏温度。对应的摄氏温度。摄氏温度摄氏温度摄氏温度摄氏温度 C=(5/9)(F-32)C=(5/9)(F-32)#include include intint main(voidmain(void)intint celsiuscelsius,fahrfahr;fahrfahr=100;=100;celsiuscelsius=5*(=5*(fahrfahr-32)/9;-32)/9;printf(fahrprintf(fahr=%d,=%d,
30、celsiuscelsius=%=%dndn,fahrfahr,celsiuscelsius););scanf(%d,&fahr);printf(“Enter fahr:n);Enter fahr:100fahr=100,celsius=372.3.5 常用数学库函数常用数学库函数库函数库函数库函数库函数ppC C语言处理系统提供事先编好的函数,供用户在编程时调语言处理系统提供事先编好的函数,供用户在编程时调语言处理系统提供事先编好的函数,供用户在编程时调语言处理系统提供事先编好的函数,供用户在编程时调用。用。用。用。scanfscanf(),(),printfprintf(),exp()()
31、,exp()pp在相应的系统文件(头文件)中定义一些必需的信息。在相应的系统文件(头文件)中定义一些必需的信息。在相应的系统文件(头文件)中定义一些必需的信息。在相应的系统文件(头文件)中定义一些必需的信息。#includeinclude命令命令命令命令 用户调用库函数时,将相应的头文件包含到源程序中。用户调用库函数时,将相应的头文件包含到源程序中。用户调用库函数时,将相应的头文件包含到源程序中。用户调用库函数时,将相应的头文件包含到源程序中。例如:例如:例如:例如:调用调用调用调用scanfscanf,printfprintf,需要需要需要需要#include include 调用调用调用调
32、用sqrtsqrt,需要需要需要需要#include include 常用数学库函数常用数学库函数pp平方根函数平方根函数平方根函数平方根函数 sqrt(xsqrt(x)pp绝对值函数绝对值函数绝对值函数绝对值函数 fabs(xfabs(x)fabs(-3.56)fabs(-3.56)的值为的值为的值为的值为3.563.56pp幂函数幂函数幂函数幂函数 pow(xpow(x,n),n):x xn n pow(1.1,2)pow(1.1,2)的值为的值为的值为的值为1.211.21(即(即(即(即1.11.12 2)pp指数函数指数函数指数函数指数函数 exp(x)exp(x):e ex x e
33、xp(2.3)exp(2.3)的值为的值为的值为的值为e e2.32.3pp以以以以e e为底的对数函数为底的对数函数为底的对数函数为底的对数函数 log(x)log(x):lnln x xlog(123.45)log(123.45)的值为的值为的值为的值为4.8158364.815836pp以以以以1010为底的对数函数为底的对数函数为底的对数函数为底的对数函数 log10(x)log10(x):loglog1010 x xlog10(123.45)log10(123.45)的值为的值为的值为的值为2.0914912.091491。例例2-5 计算存款的本息计算存款的本息 输入存款金额输入存
34、款金额输入存款金额输入存款金额 moneymoney、存期存期存期存期 year year 和年利率和年利率和年利率和年利率 raterate,根据公式计算存款到期时的本息合计根据公式计算存款到期时的本息合计根据公式计算存款到期时的本息合计根据公式计算存款到期时的本息合计sumsum(税税税税前),输出时保留前),输出时保留前),输出时保留前),输出时保留2 2位小数。位小数。位小数。位小数。sum=money(1+sum=money(1+rate)rate)yearyearsum=money*pow(1+rate),year)#include include#include#include
35、main()main()intint money,year;money,year;double rate,sum;double rate,sum;printf(“Enterprintf(“Enter money:);money:);scanf(%dscanf(%d,&money);,&money);printf(“Enterprintf(“Enter year:);year:);scanf(%dscanf(%d,&year);,&year);printf(“Enterprintf(“Enter rate:);rate:);scanf(%scanf(%lf lf,&rate);,&rate);s
36、um=money*sum=money*pow(1+rate)pow(1+rate),year);year);printf(sumprintf(sum=%.2f,sum);=%.2f,sum);Enter money:1000Enter year:3Enter rate:0.025sum=1076.89scanf(%d%d%lf,&money,&year,&rate);调用调用scanf函数输入多个数据函数输入多个数据scanf(scanf(%d%d%d%d%lf%lf,&money&money,&year,&year,&rate&rate););输入:输入:输入:输入:10001000 3 3
37、 0.0250.025ppscanfscanf需要多个输入参数和多个格式控制说明输入参数需要多个输入参数和多个格式控制说明输入参数需要多个输入参数和多个格式控制说明输入参数需要多个输入参数和多个格式控制说明输入参数的类型、个数和位置要与格式控制说明一一对应的类型、个数和位置要与格式控制说明一一对应的类型、个数和位置要与格式控制说明一一对应的类型、个数和位置要与格式控制说明一一对应?scanf(scanf(%d%d%lf%lf%d%d,&money&money,&year,&year,&rate&rate););pp程序运行时,输入的多个数据之间必须有间隔。程序运行时,输入的多个数据之间必须有间
38、隔。程序运行时,输入的多个数据之间必须有间隔。程序运行时,输入的多个数据之间必须有间隔。scanf(scanf(%d%d%lf%lf%d%d ,&money&money,&rate&rate,&year);,&year);如何输入?如何输入?如何输入?如何输入?输入参数、格式控制说明、输入数据输入参数、格式控制说明、输入数据输入参数、格式控制说明、输入数据输入参数、格式控制说明、输入数据2.4 输出华氏摄氏温度转换表输出华氏摄氏温度转换表2.4.1 程序解析程序解析2.4.2 for语句语句2.4.3 指定次数的循环程序设计指定次数的循环程序设计2.4.1 程序解析程序解析例例例例2-62-6
39、输输输输入入入入2 2个个个个整整整整数数数数lowerlower和和和和 upperupper,输输输输出出出出一一一一张张张张华华华华氏氏氏氏摄摄摄摄氏氏氏氏温温温温度度度度转转转转换换换换表表表表,华华华华氏氏氏氏温温温温度度度度的的的的取取取取值值值值范范范范围围围围是是是是lower,lower,upperupper,每每每每次增加次增加次增加次增加1F1F。fahrfahrcelsiuscelsius3030-1.1-1.13131-0.6-0.632320.00.03333 0.6 0.634341.11.135351.71.7#include#include main()mai
40、n()intint fahrfahr,lower,upper;,lower,upper;double double celsiuscelsius;printf(Enterprintf(Enter lower:);lower:);scanf(%dscanf(%d,&lower);,&lower);printf(Enterprintf(Enter upper:);upper:);scanf(%dscanf(%d,&upper);,&upper);printf(fahrprintf(fahr celsiusncelsiusn););/*/*温度重复转换:华氏温度从温度重复转换:华氏温度从温度重复转换
41、:华氏温度从温度重复转换:华氏温度从lowerlower开始,到开始,到开始,到开始,到upperupper结束,每次增加结束,每次增加结束,每次增加结束,每次增加1F*/1F*/for(for(fahrfahr=lower;=lower;fahrfahr=upper;=upper;fahrfahr+)+)celsiuscelsius=(5.0/9.0)*(=(5.0/9.0)*(fahrfahr-32);-32);printf(%dprintf(%d%6.1fn,%6.1fn,fahrfahr,celsiuscelsius););fahr=fahr+1Enter lower:30Enter
42、upper:35fahr celsius 30 -1.1 31 -0.6 32 0.0 33 0.6 34 1.1 35 1.7例例2-6中中for语句的流程语句的流程for(for(fahrfahr=lower;=lower;fahrfahr=upper;=upper;fahrfahr+)+)celsiuscelsius=(5.0/9.0)*(=(5.0/9.0)*(fahrfahr-32);-32);printf(%dprintf(%d%6.1fn,%6.1fn,fahrfahr,celsiuscelsius););Enter lower:Enter lower:3030Enter upp
43、er:Enter upper:3535fahrfahr celsiuscelsius 30 -1.1 30 -1.1 31 -0.6 31 -0.6 32 0.0 32 0.0 33 0.6 33 0.6 34 1.1 34 1.1 35 1.7 35 1.7fahr=fahr+2输出?输出?forfor(表达式表达式表达式表达式1 1;表达式表达式表达式表达式2 2;表达式表达式表达式表达式3 3)循环体语句循环体语句循环体语句循环体语句实现实现实现实现C C语句的重复执行语句的重复执行语句的重复执行语句的重复执行2.4.2 for语句循环语句语句循环语句3 3个表达式、循环体语句个表达式、
44、循环体语句个表达式、循环体语句个表达式、循环体语句!书写顺序和执行顺序不同书写顺序和执行顺序不同书写顺序和执行顺序不同书写顺序和执行顺序不同!表达式表达式表达式表达式1 1只执行一次只执行一次只执行一次只执行一次循循循循环环环环(控控控控制制制制)变变变变量量量量:forfor语语语语句句句句中中中中,通通通通过过过过改改改改变变变变或或或或判判判判断断断断某某某某个个个个变量的值来控制循环的执行变量的值来控制循环的执行变量的值来控制循环的执行变量的值来控制循环的执行for(for(fahrfahr =lower=lower;fahrfahr =upper=upper;fahrfahr +)+
45、)celsiuscelsius=(5.0/9.0)*(=(5.0/9.0)*(fahrfahr-32.0);-32.0);printf(%dprintf(%d%6.1fn,%6.1fn,fahrfahr,celsiuscelsius););for语句中的循环变量语句中的循环变量赋初值赋初值赋初值赋初值判断其值判断其值判断其值判断其值改变其值改变其值改变其值改变其值for(for(fahrfahr =lower;=lower;fahrfahr =upper;=upper;fahrfahr +)+)celsiuscelsius=(5.0/9.0)*(=(5.0/9.0)*(fahrfahr-32.
46、0);-32.0);printf(%dprintf(%d%6.1fn,%6.1fn,fahrfahr,celsiuscelsius););表达式表达式表达式表达式1 1:给循环变量赋初值,给循环变量赋初值,给循环变量赋初值,给循环变量赋初值,指定循环的起点。指定循环的起点。指定循环的起点。指定循环的起点。fahrfahr=lower=lower表达式表达式表达式表达式2 2:给出循环的条件,决定循环的继续或结束。给出循环的条件,决定循环的继续或结束。给出循环的条件,决定循环的继续或结束。给出循环的条件,决定循环的继续或结束。fahrfahr=upper=upper表表表表达达达达式式式式3 3
47、:设设设设置置置置循循循循环环环环的的的的步步步步长长长长,改改改改变变变变循循循循环环环环变变变变量量量量的的的的值值值值,从从从从而而而而可可可可改改改改变变变变表达式表达式表达式表达式2 2的真假性。的真假性。的真假性。的真假性。fahrfahr+语句:语句:语句:语句:被反复执行的语句,一条语句。被反复执行的语句,一条语句。被反复执行的语句,一条语句。被反复执行的语句,一条语句。for语句的说明语句的说明for(for(fahrfahr=lower;=lower;fahrfahr=upper;=upper;fahrfahr+)+)celsiuscelsius=(5.0/9.0)*(=(
48、5.0/9.0)*(fahrfahr-32.0);-32.0);printf(%dprintf(%d%6.1fn,%6.1fn,fahrfahr,celsiuscelsius););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,cel
49、sius);!不要在!不要在!不要在!不要在forfor语句中语句中语句中语句中随意加分随意加分随意加分随意加分号号号号例例例例2-6-1 2-6-1 求求求求 1+2+1001+2+100抽取具有抽取具有抽取具有抽取具有共性共性共性共性的算式:的算式:的算式:的算式:sum=sum+i sum sum初值为初值为初值为初值为0 0,该算式重复,该算式重复,该算式重复,该算式重复100100次,次,次,次,i i从从从从1 1变到变到变到变到100100设设设设i i为循环变量,则:为循环变量,则:为循环变量,则:为循环变量,则:指定循环起点的表达式指定循环起点的表达式指定循环起点的表达式指定
50、循环起点的表达式1 1:i=1i=1给出循环条件的表达式给出循环条件的表达式给出循环条件的表达式给出循环条件的表达式2 2:i=100i=100设置循环步长的表达式设置循环步长的表达式设置循环步长的表达式设置循环步长的表达式3 3:i+i+循环体语句:循环体语句:循环体语句:循环体语句:sum=sum+i;sum=sum+i;for(i=1;i=100;i+)for(i=1;i=100;i+)sum=sum+i;sum=sum+i;2.4.3 指定次数的循环程序设计指定次数的循环程序设计/*/*计算计算计算计算1+2+3+100 */1+2+3+100 */#include#include m