实例阅读实例程序了解C语言程序的执行过程.pptx
《实例阅读实例程序了解C语言程序的执行过程.pptx》由会员分享,可在线阅读,更多相关《实例阅读实例程序了解C语言程序的执行过程.pptx(40页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、实例阅读实例程序了解实例阅读实例程序了解C语言程序的执行语言程序的执行过程过程#include#include#include#include#define PI 3.14159#define PI 3.14159float sup_area(float r);float sup_area(float r);float volume(float r);float volume(float r);main()main()float a=-5,b,c,d;float a=-5,b,c,d;b=fabs(a);b=fabs(a);c=sup_area(b);c=sup_area(b);d=volum
2、e(b);d=volume(b);printf(c=%f,d=%fn,c,d);printf(c=%f,d=%fn,c,d);预处理命令预处理命令 函数原型说函数原型说明明 主主函函数数 第1页/共40页float sup_area(float r)float sup_area(float r)float s;float s;s=4*PI*r*r;s=4*PI*r*r;return s;return s;float volume(float r)float volume(float r)float v;float v;v=4.0/3.0*PI*r*r*r;v=4.0/3.0*PI*r*r*r;
3、return v;return v;sup_area函数的定函数的定义义(计算球计算球的表面积的表面积)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
4、.0*PI*r*r*r;v=4.0/3.0*PI*r*r*r;return v;return v;volume函数函数第3页/共40页l l形参与实参形参与实参 形式参数:定义函数时函数名后面括形式参数:定义函数时函数名后面括号中的变量名号中的变量名 实际参数:调用函数时函数名后面括实际参数:调用函数时函数名后面括号中的表达式号中的表达式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);pri
5、ntf(Max is%d,c);max(int x,int y)int z;z=xy?x:y;return(z);形参实参5.2函数参数及其传递方式第4页/共40页说明:实参必须有确定的值形参必须指定类型形参与实参类型一致,个数相同若形参与实参类型不一致,自动按形参类型转换函数调用转换形参在函数被调用前不占内存;函数调用时为形参分配内存;调用结束,内存释放形参与实参形式参数:定义函数时函数名后面括号中的变量名实际参数:调用函数时函数名后面括号中的表达式5.2、函数参数及其传递方式第5页/共40页 值传递值传递方式方式l l方式:函数调用时方式:函数调用时,为形参分配单元为形参分配单元,并将并将
6、实参的值实参的值复制复制到形参中;调用结束,形参到形参中;调用结束,形参单元被释放,实参单元仍保留并维持原值单元被释放,实参单元仍保留并维持原值l l特点:特点:形参与实参占用形参与实参占用不同不同的内存单元的内存单元 单向单向传递传递5.2、函数参数及其传递方式第6页/共40页711x:y:调用前:调用结束:711x:y:/*ch7_2.c*/#include main()int x=7,y=11;printf(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 t
7、emp;temp=a;a=b;b=temp;调用:711a:b:711x:y:swap:711x:y:117a:b:temp例例 交换两个数交换两个数第7页/共40页课课堂堂练练习习:调调用用自自定定义义函函数数计计算算1n1n的的和和编编写写程程序序,输输入入n的的值值,并并调调用用自自己己编编写写的的函函数计算数计算1至至n的和。的和。主模块主模块计算计算1至至n的和的和第8页/共40页开始开始定义定义n和和a输入输入n的值的值调用调用自编函数自编函数计算计算1至至n之和之和输出结果输出结果结束结束主函数的流程图主函数的流程图主函数框架:主函数框架:main()int n=0,a=0;pr
8、intf(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
9、,&n);a=sum_n(n);printf(The sum(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页i
10、nt sum_n(int n)int i=0,s=0;for(i=1;i=n;i+)s=s+i;return s;计算结果的类型计算结果的类型第15页/共40页作作业业:调调用用自自定定义义函函数数进进行行四四则则运运算算编编写写程程序序,输输入入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=%
11、fn,a,sym,b,c);float cal(int a,char sym,int b)#include float cal(int a,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;
12、return c;else printf(Devided by 0.n);getch();exit(0);第18页/共40页调用函数进行四则运算的过程调用函数进行四则运算的过程0ba0sym0c主主调调函函数数2538*第19页/共40页调用函数进行四则运算的过程调用函数进行四则运算的过程0ba0sym2538*basym950c0c主主调调函函数数被被调调函函数数2538*950第20页/共40页l l嵌套调用嵌套调用C C规定:规定:函数定义不可嵌套函数定义不可嵌套,但,但可以嵌可以嵌套调用套调用函数函数main()调用函数a结束a函数b函数调用函数b5.35.3、函数的嵌套与递归调用函数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实例 阅读 程序 了解 语言 执行 过程
限制150内