第4章第5章ppt课件.ppt
《第4章第5章ppt课件.ppt》由会员分享,可在线阅读,更多相关《第4章第5章ppt课件.ppt(104页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、第4章第5章ppt课件 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望例:计算s=1+2+3+50#include main()int i=0,s=0;loop:if(i51)s=s+i;i=i+1;goto loop;couts=sendl;11/16/202224.1.2 while格式格式 while ;例例:计算计算 s=1+2+3+5011/16/20223#include main()int i=0,s=0;while (i50)i=i+1;s=s+i
2、;couts=sendl;11/16/202244.1.3 do-while格式格式 do ;while 例例:计算计算 s=1+2+3+5011/16/20225#include main()static int i,s;do s=s+i;i=i+1;while(i51);couts=sendl;11/16/20226 4.1.4 for()格式格式 for(;)说明:说明:1.决定了循环的初值决定了循环的初值,决定循环的条件决定循环的条件,决定循环的增决定循环的增量。量。2.在循环中只执行一次。在循环中只执行一次。,在循环中每次都要执行一次。在循环中每次都要执行一次。11/16/20227
3、例:求例:求S=1+2+3+100 程序程序1:#include main()int i,s=0;for(i=1;i101;i+)s+=i;cout“sum=”sendl;11/16/20228程序程序2:#include main()int i=1,s;for(s=0;i101;i+)s+=i;coutsum=sendl;11/16/20229程序程序3:#include main()int i=1,s=0;for(;i101;)s+=i+;coutsum=sendl;11/16/202210程序程序4:#include main()int i=1,s=0;for(;i101;s+=i+);
4、coutsum=sendl;11/16/202211程序程序5:#include main()int i=100,s=0;for(;i;i-)s+=i;coutsum=sendl;11/16/202212例:编程计算下列各项例:编程计算下列各项S=1+2+3+100S=1+22+32+1002S=1+3+5+99S=1+1/2+1/3+1/100S=1/1+1/22+1/32+1/1002n!=1*2*3*nS=k!=1+2!+3!+n!S=1-2+3+(-1)nnS=1-1/2+1/3+(-1)n/nS=1-22+32-+(-1)n 1002e=1+1/1!+1/2!+1/3!+1/n!直到
5、最后一项小于直到最后一项小于0.0000111/16/202213ex=1+x/1!+x2/2!+x3/3!+xn/n!直到最直到最后一项小于后一项小于0.001s=1-1/2!+1/3!+(-)(n+1)/n!直到最后一直到最后一项小于项小于0.001s=1+x+x/2!+x/3!+x/n!直到最后一项直到最后一项小于小于0.00001s=1-x+x/2!-x/3!+(-)(n+1)x/n!直到最直到最后一项小于后一项小于0.001/4=1-1/3+1/5-1/7+求求,直到最后一项直到最后一项小于小于0.00111/16/2022142.循环可以从小向大循环可以从小向大,也可以从大到小。也
6、可以从大到小。例例:计算计算s=1+2+3+100#include main()int i,s=0;for(i=100;i0;i-)s=s+i;cous=sendl;11/16/2022153循环变量的值起三个作用,一是记数,二是可循环变量的值起三个作用,一是记数,二是可以参加循环体计算,三是用做数组的下标。以参加循环体计算,三是用做数组的下标。例例:计算计算10个数的和个数的和#include main()int i,s=0;static int a10=1,3,4,5,4,3,3,3,4,2;for(i=1;i10;i+)s=s+ai;couts=sendl;11/16/2022164.三
7、个表达式可以有,也可以全无,但三个表达式可以有,也可以全无,但“;”不不能少。如果表达式能少。如果表达式2无,程序将进入无限循环。无,程序将进入无限循环。5.可以用可以用break命令中断循环命令中断循环.例例:计算计算s=1+3+5+n直到最后一项为直到最后一项为99止止.#include main()int i,s=0;for(i=1;i=i+2)if(i=101)break;s=s+i;coutsendl;11/16/2022176.可以用可以用continue命令中断当前这一次循环命令中断当前这一次循环,继续下一次继续下一次循环循环.例例:计算计算s=1+3+5+99#include
8、main()int i,s=0;for(i=1;i100;i+)if(i%2=0)continue;s=s+i;couts=sendl;11/16/2022184.2 多层循环多层循环例:开设例:开设3门课程门课程,计算每个学生平均成绩计算每个学生平均成绩#include main()int i,j,s=0;int a53=87,78,79,87,98,67,56,79,98;for(i=0;i3;i+)s=0;for(j=0;j3;j+)s=s+aij;coutaij ;couts/3endl;11/16/2022194.3 循环中断循环中断 break 4.4 exit()函数函数例例:从
9、键盘上输入字母从键盘上输入字母,然后输出比它的然后输出比它的ASCII码大码大1 的字的字母母#include#include stdio.h main()char ch=a;coutinput letter s=;11/16/202220while(ch!=#)ch=getchar();if(ch=z|ch=Z)putchar(ch-25);else putchar(ch+1);11/16/202221 题题1:输出九九乘法表:输出九九乘法表 1 2 3 4 5 6 7 8 91 1 2 3 4 5 6 7 8 92 2 4 6 8 10 12 14 16 189 9 18 27 36 45
10、 54 63 72 8111/16/202222#include#include iomanip.hmain()int k,j;cout ;for(k=1;k10;k+)coutksetw(5);/width(5)coutn;11/16/202223 for(k=1;k10;k+)coutsetw(5)k;for(j=1;j10;j+)coutsetw(5)k*j;coutendl;/cout.width(5);coutk*j;11/16/202224#include#include iomanip.hmain()int k,j;cout ;for(k=1;k10;k+)cout.width(
11、5);coutk;coutn;for(k=1;k10;k+)coutsetw(5)k;for(j=1;j10;j+)cout.width(5);coutk*j;coutendl;11/16/202225题题2:判断:判断m是否是素数。是否是素数。#include main()int k,m,h=1;cinm;for(k=2;km;k+)if(m%k=0)h=0;if(h=1)coutm“is a prime number”endl;11/16/202226 题题3;求出;求出100以内的所有素数以内的所有素数#include main()int k,m;for(m=3;m100;m=m+1)f
12、or(k=2;km;k+)if(m%k=0)break;if(k=m)coutmis a prime numberendl;11/16/202227题题4:求:求m,n 的最大公约数的最大公约数#include main()int m,n,m1,n1,r;cinmn;m1=m;n1=n;r=m%n;while(r!=0)m=n;n=r;r=m%n;coutm=m1endl;coutn1=n1endl;coutr=nendl;11/16/202228题5:求Fibonaccii(斐波那契)数列中前20项中每一项(递推法)0,1,1,2,4,7,13,#include main()long k,a
13、=0,b=1,c=1,d;for(k=1;k18;k+)d=a+b+c;coutdt;a=b;b=c;c=d;11/16/202229题题6:2000年人口年人口13亿,年增长亿,年增长0.5%和和2.1%,多少年后达到或超过,多少年后达到或超过20亿亿(87,21)?#include main()int n=0;float f=13,e=0.005;while(f20)f=f*(1+e);n=n+1;coutnendl;11/16/202230题题7:产生:产生10个学生的成绩个学生的成绩,呈正态分布呈正态分布#include#include#include math.h#include s
14、tdlib.h#include iomanip.h main()int k;float x;srand(time(NULL);for(k=1;k11;k+)x=rand()/32767.0*90;x=sin(x*3.14/180)*71+30;cout(int)xsetw(5);if(k%10=0)coutendl;11/16/202231题题13:梯形法求积分:梯形法求积分:sin(x)dx题题14:用牛顿迭代法求方程用牛顿迭代法求方程x5+2x3-x2+x+1=0在在0附近的根。附近的根。题题15:找出:找出1000以内的水仙花数。三位数的立方和等于自身以内的水仙花数。三位数的立方和等于自
15、身(13+53+33=153)题题16:根据以下算术式,求:根据以下算术式,求A、B、C、D A B C D -C D C-A B C题题17:输出图形:输出图形 A A B C A B C D E A B C D E F G11/16/202232 第第5 5章章 函数及其应用函数及其应用5.1 5.1 函数种类函数种类5.1.1 命令函数例如:getchar(),putchar()等。5.1.2标准库函数例如:fabs(),pow(),rand(),sin(x),sqrt(),fexp()5.1.35.1.3自定义函数自定义函数 11/16/2022335.2 自定义函数的概念及使用方法自
16、定义函数的概念及使用方法例1:求两个数中的最大数#include int imax(int m,int n)return(mn?m:n);void main()int a=6,b=9;coutimax(a,b);11/16/202234例2:求x的n次方#include iostream.hvoid main()float mpow(float,int);coutpow=mpow(3.,3)endl;float mpow(float a,int n)int i;float k=1;for(i=1;i=n;i+)k=k*a;return(k);11/16/2022355.3 5.3 自定义函数的
17、三种形式自定义函数的三种形式5.3.1 无参函数,例如main(),getchar()等。主函数与子函数之间不传输数据。例:输出字符四方形 *void print()int i;for(i=1;i5;i+)coutr;res(a,b,r);coutr=rsetw(10)a=asetw(10)b=bendl;11/16/202242float res(float&a,float&b,float r)a=3.14159*r*r;b=2*3.14159*r;return 0;例:编写函数(过程、子程序)程序1.求n的阶乘 f(n)2.求三个数的最大数(可以求多个数的最大数)3.求两个正整数的最大公约
18、数(可以求多个数的最大公约数)f(m,n)4.求n+(n+1)+(n+2)+(n+k)5.用子函数完成x2,x3,xn11/16/2022435.5 C+5.5 C+库函数库函数 被直接调用的函数称为库(内部)函数。函数名 函数原型 要用到的头文件abs()int abs(int n)stdlib.hfabs()double abs(double x)math.hcos()double cos(double x)math.hexp()double exp(double x)math.hlog()double log(double x)math.hpow()double pow(double x
19、,double y)math.hsqrt()double sqrt(double x)math.hsin()double sin(double x)math.htan()double tan(double x)math.hkbhit()int kbhit()conio.hexit()void exit(int n)stdlib.hrand()double rand(double x)stdlib.h11/16/2022445.6 作用域和存储类作用域和存储类5.6.1 作用域1.块作用域 块内说明的变量只能在本块有效。2.文件作用域 文件作用域就是全局作用域。11/16/202245例:读程序
20、,观察全局变量和局部变量的关系#include int i;/全局变量,文件作用域void main()i=5;/文件作用域的i赋初值 /子块1 int i;/局部变量,块作用域 i=7;couti=iendl;/输出7 couti=iendl;/输出5 11/16/2022463.函数原型作用域 函数的作用域只限定在函数原型的函数中。4.函数作用域 在函数内均有效,不受块作用域的限制,只有标号属于函数作用域(在goto语句中使用)。5.6.2 存储类 1.局部变量及其概念l形参是局部变量。l在一个复合语句中定义的变量。l在一个函数中定义的变量。11/16/2022472.全局(外部)变量及其
21、概念l函数外部定义的变量。l用extern 说明的变量。3.动态(自动)变量l程序运行期间,分配内存单元,运行结束,内存单元就释放。l形参、局部变量都是动态变量。l动态变量用auto说明或省略。11/16/2022484.静态变量l调用函数结束,变量值保留,下次调用值仍存在。l静态变量用static 说明。l数组只有定义成静态时,才能初始化。l静态变量自动赋0值。l何时需要定义静态数组:保留函数的变量值和数组初始化。11/16/202249例:读程序,理解静态变量#include#include void main()int count(int);do count(0);while(!kbhi
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ppt 课件
限制150内