(5.6.7)--翻转课补充课件-第11讲-函数(三)--变量的存储类别、函数的递.ppt
《(5.6.7)--翻转课补充课件-第11讲-函数(三)--变量的存储类别、函数的递.ppt》由会员分享,可在线阅读,更多相关《(5.6.7)--翻转课补充课件-第11讲-函数(三)--变量的存储类别、函数的递.ppt(43页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C语言程序设计语言程序设计 The C Programming Language 第第11讲讲 函数(三)函数(三)变量的存储类别、函数的递归调用、变量的存储类别、函数的递归调用、多文件组成的程序运行方法、预处理命令多文件组成的程序运行方法、预处理命令-2-函数(三)函数(三)总结学生在上次实验课中遇到的问题总结学生在上次实验课中遇到的问题复习函数的返回值、被调函数的原型说明和嵌复习函数的返回值、被调函数的原型说明和嵌套调用套调用(P197201)讲解函数的递归调用讲解函数的递归调用(P211213)讲解第讲解第7章第章第5节变量的存储类别节变量的存储类别(P205208)讲解多文件组成的程序
2、运行方法讲解多文件组成的程序运行方法(219220)讲解预处理命令讲解预处理命令(220223)-3-解决学生遇到的问题解决学生遇到的问题%-10d,int c=0;c+;不知道是什么意思?不知道是什么意思?for(k=(m=1)?2:m,k=n;k+)看不懂,看不懂,P69还不知道在什么情况下加还不知道在什么情况下加printf函数检查逻函数检查逻辑错误辑错误实验实验10第二题第二题一道题如何分别用自定义函数或循环嵌套一道题如何分别用自定义函数或循环嵌套来解决来解决实验实验10第二题的思考第二题的思考2-s1for循环语句什么时候才结束;循环语句什么时候才结束;ifelse的配的配对问题;素
3、数、完数、水仙花数的判断及对问题;素数、完数、水仙花数的判断及如何用自定义函数实现如何用自定义函数实现实验实验10第三题第三题-4-#include double f(int n)int i;double s=n;for(i=1;in;i+)s*=n+i;return s;int main()double s=1;int i,n;do printf(Input n:);scanf(%d,&n);while(n=0);for(i=2;i=n;i+)s+=1/f(i);printf(s=%fn,s);return 0;#include int main()double s=1,s2;int i,j
4、,k,n;do printf(Input n:);scanf(%d,&n);while(n=0);for(i=2;i=n;i+)s2=i;for(k=1;ki;k+)s2*=i+k;s+=1/s2;printf(s=%fn,s);return 0;-5-int prime(int m)int k,flag=1;if(m=1)flag=0;for(k=2;k=m/2;k+)if(m%k=0)flag=0;break;return flag;int prime(int m)int k,st;st=sqrt(double)m);for(k=2;kst&m!=1)return 1;else retur
5、n 0;int prime(int m)int k,st;if(m=1)return 0;st=(int)sqrt(double)m);for(k=2;k=st;k+)if(m%k=0)return 0;return 1;素数就是只能被素数就是只能被1和和自身整除的正整数,自身整除的正整数,最小的素数是最小的素数是2。要。要求定义并调用函数求定义并调用函数prime(m)判断判断m是否是否为素数,当为素数,当m为素数为素数时返回时返回1,否则返回,否则返回0-6-int perfect(int m)int k,sum=0,flag=0;for(k=1;k=m/2;k+)if(m%k=0)sum
6、+=k;if(m=sum)flag=1;return flag;int perfect(int m)int k,sum=1;for(k=2;k=m/2;k+)if(m%k=0)sum+=k;if(m=sum&m!=1)return 1;else return 0;完数就是因子和完数就是因子和与它本身相等的与它本身相等的数,数,1不是完数。不是完数。要求定义并调用要求定义并调用函数函数perfect(m)判判断断m是否为完数,是否为完数,当当m为完数时返回为完数时返回1,否则返回,否则返回0-7-int judge(int m)int n1,n2,n3,flag;if(m999)printf(e
7、rror!);else n1=m%10;n2=(m/10)%10;n3=m/100;if(m=n1*n1*n1+n2*n2*n2+n3*n3*n3)flag=1;else flag=0;return flag;int judge(int m)int res,s=0,temp=m;if(m999)printf(error!);else while(temp)res=temp%10;s=s+res*res*res;temp/=10;if(s=m)return 1;else return 0;水仙花数是指一水仙花数是指一个个3位自然数,其位自然数,其各位数字的立方各位数字的立方和等于该数本身。和等于
8、该数本身。要求定义并调用要求定义并调用函数函数judge(m)判判断断m是否为水仙花是否为水仙花数,当数,当m为水仙花为水仙花数时返回数时返回1,否则,否则返回返回0-8-函数的返回值、被调函数的原型说明函数的返回值、被调函数的原型说明【例例7.9】通过调用函数求两个数的和。通过调用函数求两个数的和。方法方法1:用:用return语句完成语句完成 P197-9-int a=1,b=2,c=0;c=;printf(%d+%d=%d ,a,b,c);main()intint z=0;z=x+y;return z;myadd1(a,b)myadd1(int x,int y)可写成可写成 return
9、 x+y;int x,y?-10-int a=1,b=2,c=0;c=;printf(%d+%d=%d ,a,b,c);main()intint z=0;z=x+y;return z;myadd1(a,b)myadd1(int x,int y)-11-intint z=0;z=x+y;return z;myadd1(int x,int y)int a=1,b=2,c=0;c=;printf(%d+%d=%d ,a,b,c);main()myadd1(a,b)int myadd1(int x,int y);函数原型说明函数原型说明-12-return 表达式;表达式;或或return (表达式表
10、达式);return语句的一般形式语句的一般形式-13-continue、break、return、exit的作用:的作用:continue语句语句 结束结束本次本次循环循环break语句语句 退出退出switch语句体或结束语句体或结束本层本层循环循环return语句语句 退出被调用函数退出被调用函数exit函数函数 结束整个程序执行结束整个程序执行-14-7.3 7.3 函数的嵌套调用函数的嵌套调用被调函数又调用另一函数被调函数又调用另一函数嵌套调用嵌套调用 P200-15-【例例7.11】编写函数编写函数mysum,用以求,用以求 其中其中f(i)=i+5-16-return i+5;s
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 5.6 翻转 补充 课件 11 函数 变量 存储 类别
限制150内