实例阅读实例程序了解C语言程序的执行过程课件.pptx
《实例阅读实例程序了解C语言程序的执行过程课件.pptx》由会员分享,可在线阅读,更多相关《实例阅读实例程序了解C语言程序的执行过程课件.pptx(40页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、#include#include#define PI 3.14159float sup_area(float r);float volume(float r);main()float a=-5,b,c,d;b=fabs(a);c=sup_area(b);d=volume(b);printf(c=%f,d=%fn,c,d);预处理命令 函数原型说明 主函数 第1页/共40页float sup_area(float r)float s;s=4*PI*r*r;return s;float volume(float r)float v;v=4.0/3.0*PI*r*r*r;return v;sup_a
2、rea函数的定义(计算球的表面积)volume函数的定义(计算球的体积)运行结果:c=314.158997,d=523.598328第2页/共40页 fabs函数 其它函数a=-5;a=-5;b=fabs(a);b=fabs(a);c=sup_area(b);c=sup_area(b);d=volume(b);d=volume(b);主函数文件math.hs=4*PI*r*r;s=4*PI*r*r;return s;return s;sup_area函数v=4.0/3.0*PI*r*r*r;v=4.0/3.0*PI*r*r*r;return v;return v;volume函数第3页/共40
3、页形参与实参形式参数:定义函数时函数名后面括号中的变量名实际参数:调用函数时函数名后面括号中的表达式c=max(a,b);(main 函数)(max 函数)max(int x,int y)int z;z=xy?x:y;return(z);例 比较两个数并输出大者main()int a,b,c;scanf(%d,%d,&a,&b);c=max(a,b);printf(Max is%d,c);max(int x,int y)int z;z=xy?x:y;return(z);形参实参5.2函数参数及其传递方式第4页/共40页说明:实参必须有确定的值形参必须指定类型形参与实参类型一致,个数相同若形参与
4、实参类型不一致,自动按形参类型转换函数调用转换形参在函数被调用前不占内存;函数调用时为形参分配内存;调用结束,内存释放形参与实参形式参数:定义函数时函数名后面括号中的变量名实际参数:调用函数时函数名后面括号中的表达式5.2、函数参数及其传递方式第5页/共40页值传递方式方式:函数调用时,为形参分配单元,并将实参的值复制到形参中;调用结束,形参单元被释放,实参单元仍保留并维持原值特点:形参与实参占用不同的内存单元单向传递5.2、函数参数及其传递方式第6页/共40页711x:y:调用前:调用结束:711x:y:/*ch7_2.c*/#include main()int x=7,y=11;print
5、f(x=%d,ty=%dn,x,y);printf(swapped:n);swap(x,y);printf(x=%d,ty=%dn,x,y);swap(int a,int b)int temp;temp=a;a=b;b=temp;调用:711a:b:711x:y:swap:711x:y:117a:b:temp例 交换两个数第7页/共40页课堂练习:调用自定义函数计算1n的和编编写写程程序序,输输入入n n的的值值,并并调调用用自自己己编编写写的的函函数数计计算算1 1至至n n的的和。和。主模块计算1至n的和第8页/共40页开始定义n和a输入n的值调用自编函数计算1至n之和输出结果结束主函数的
6、流程图主函数框架:main()int n=0,a=0;printf(Input n:);scanf(%d,&n);a=1至n的和 printf(%dn,a);第9页/共40页自编函数的流程图是否in给i赋1s=s+ii增1入口定义i和s返回s自编函数框架:int sum_n(int n)定义变量 计算1至n的和 将结果告知主函数 是否in给i赋1s=s+ii增1入口定义i和s返回s第10页/共40页#include int sum_n(int n);main()int n=0,a=0;printf(Input n:);scanf(%d,&n);a=sum_n(n);printf(The sum
7、(1-%d)is:%dn,n,a);函数的原型说明 实参第11页/共40页int sum_n(int n)int i=0,s=0;for(i=1;i=n;i+)s=s+i;return s;函数名第12页/共40页int sum_n(int n)int i=0,s=0;for(i=1;i=n;i+)s=s+i;return s;形参第13页/共40页int sum_n(int n)int i=0,s=0;for(i=1;i=n;i+)s=s+i;return s;通知计算结果第14页/共40页int sum_n(int n)int i=0,s=0;for(i=1;i=n;i+)s=s+i;re
8、turn s;计算结果的类型第15页/共40页作业:调用自定义函数进行四则运算编编写写程程序序,输输入入2 2个个数数以以及及加加、减减、乘乘、除除中中的的某某运运算算符符号号,并并调调用自己编写的函数计算相应的结果。用自己编写的函数计算相应的结果。第16页/共40页main()int a=0,b=0;char sym=0;float c=0.0;scanf(%d%c%d,&a,&sym,&b);c=cal(a,sym,b);printf(%d%c%d=%fn,a,sym,b,c);float cal(int a,char sym,int b)#include float cal(int a,
9、char sym,int b);空函数 编译无误时编写cal函数主调函数被调函数自顶向下,逐步细化 第17页/共40页float cal(int a,char sym,int b)float c=0.0;switch(sym)case+:c=a+b;return c;case-:c=a-b;return c;case*:c=a*b;return c;case/:if(b!=0)c=(float)a/b;return c;else printf(Devided by 0.n);getch();exit(0);第18页/共40页调用函数进行四则运算的过程0ba0sym0c主调函数2538*第19页
10、/共40页调用函数进行四则运算的过程0ba0sym2538*basym950c0c主调函数被调函数2538*950第20页/共40页嵌套调用C规定:函数定义不可嵌套,但可以嵌套调用函数main()调用函数a结束a函数b函数调用函数b5.3、函数的嵌套与递归调用第21页/共40页#include int dif(int x,int y,int z);int max(int x,int y,int z);int min(int x,int y,int z);void main()int a,b,c,d;scanf(%d%d%d,&a,&b,&c);d=dif(a,b,c);printf(Max-M
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实例 阅读 程序 了解 语言 执行 过程 课件
限制150内