C语言电子教案第6章函数课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《C语言电子教案第6章函数课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 电子 教案 函数 课件
- 资源描述:
-
1、第6章 函数 教学目标:1.领会函数在C语言程序中的作用;2.会运用函数调用的原则和参数传递方式;3.会运用简单的递归算法;4.能够分析C语言程序中变量的作用域和生存期。本章结构 概述 函数的定义 函数的参数和返回值 函数的调用 数组作为函数参数 函数的嵌套调用 函数的递归调用 外部变量与内部变量 静态变量与自动变量 变量的存储类别 多文件程序的编译与连接6.1概述C语言程序是一种独特的模块结构,每个模块都是一个函数函数有且只能有一个名为mainmain的主函数 mainmain可以调用其他函数,但其他函数不能可以调用其他函数,但其他函数不能调用主函数调用主函数自定义函数的作用函数分类:从用户
2、角度主函数:名为main的函数标准函数(库函数):由系统提供用户自定义函数 从函数形式无参函数有参函数类型标识符 函数名(形参列表)/*函数头*/说明部分 /*函数体*/语句部分例 int max(int x,int y)int z;z=xy?x:y;return(z);例 无参函数 printstar()printf(“*n”);6.2 函数定义的一般形式 6.3函数参数和返回值6.3.1形式参数与实际参数max(int x,int y)int z;Z=xy?x:y;return(z);main()int a,b;a=2;b=3;Printf(“%d”,max(a,b);实际参数形式参数 返
3、回语句 形式:return(return(表达式表达式);或 return return 表达式表达式;或 return;return;功能:使程序控制从被调用函数返回到调用函数中,同时把返值带给调用函数 说明:函数中可有多个return语句 若无return语句,遇 时,自动返回调用函数6.3.2函数的返回值float area(float float area(float a,float b)a,float b)float s;float s;s=a s=a*b;b;return(s);return(s);6.4.1 函数调用的一般形式6.4 函数的调用函数名(实参表)函数语句:函数语句:
4、例 printstarprintstar();();printf printf(“Hello,World!n”);(“Hello,World!n”);函数表达式:函数表达式:例 m=max(a,b)m=max(a,b)*2;2;函数参数:函数参数:例 printfprintf(“%d”,max(a,b);(“%d”,max(a,b);m=max(a,max(b,c);m=max(a,max(b,c);函数的调用方式对被调用函数要求:必须是已存在已存在的函数库函数:#include#include.h用户自定义函数:函数类型说明函数类型说明函数说明一般形式:函数类型函数类型 函数名函数名(形参类
5、型形参类型 形参名形参名,.);.);或 函数类型函数类型 函数名函数名();();作用:告诉编译系统函数类型、参数个数及类型,以便检验函数定义函数定义与函数说明函数说明不同函数说明位置:程序的数据说明部分(函数内或外)程序的数据说明部分(函数内或外)下列情况下,可不作函数说明 若函数返值是若函数返值是charchar或或intint型型,系统自动按intint型处理函数说明实参必须有确定的值形参必须指定类型形参与实参类型一致,个数相同类型一致,个数相同若形参与实参类型不一致,自动按形参 类型转换函数调用转换函数调用转换形参在函数被调用前不占内存;函数调用函数调用 时为形参分配内存;调用结束,
6、内存时为形参分配内存;调用结束,内存 释放释放函数参数说明(1 1)值传递)值传递:函数调用时,为形参分配存储单元为形参分配存储单元,并并将实参的值传送到形参中;调用将实参的值传送到形参中;调用结束时结束时,形参单,形参单元释放,实参单元仍保留并维持原值元释放,实参单元仍保留并维持原值特点:形参和实参占用不同不同的内存单元单向单向传递参数传递方式(2)地址传递)地址传递:函数调用时,将数据的存储地址存储地址作为参数传递给形参特点:形参与实参占用同样同样的存储单元实现了数据的“双向双向”传递实参和形参必须是地址地址利用自定义函数计算:1!+2!+5!fact(n)/*阶乘函数*/int i,t=
7、1;for(i=1;i=n;i+)t=t*i;return(t);/*返回阶乘值*/main()int i,sum=0;for(i=1;i=5;i+)sum=sum+fact(i);/*调用阶乘函数,之后进行累加*/printf(sum=%dn,sum);music(hz,t)int i;sound(hz);/*演奏音阶*/for(i=0;i=t;i+)/*以延时形成节拍*/delay(2000000000);nosound();模拟电子琴键盘#include#include#include#includemain()char i=1,j;int hz,t;while(i=getch()!=x
8、1b)/*Esc键退出演奏*/switch(i)casea:hz=262;break;case s:hz=294;break;case d:hz=330;break;case f:hz=349 ;break;case j:hz=392;break;case k:hz=440;break;case l:hz=494;break;case;:hz=523;break;case m:hz=523;break;case,:hz=523;break;case.:hz=523;break;default:break;if(kbhit()&getch()=)t=20;else t=10;music(hz,t
展开阅读全文