欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PPT文档下载  

    三章函数.ppt

    • 资源ID:2625958       资源大小:261.51KB        全文页数:77页
    • 资源格式: PPT        下载积分:8
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要8
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    三章函数.ppt

    第三章 函数 C+语言程序设计 1 前一页 休息 本章主要内容 l函数的声明和调用 l函数间的参数传递 l内联函数 l带缺省形参值的函数 l函数重载 l函数模板 lC+系统函数 2 前一页 休息 函数的声明 l函数是面向对象程序设计中的基本 抽象单元,是对功能的抽象 l函数声明的语法形式 类型标识符 函数名(形式参数表) 语句序列 函数的声明与使用 若无参数,写void 是被初始化的内部 变量,寿命和可见 性仅限于函数内部 若无返回值,写void 3 前一页 休息 函数的声明 l形式参数表 name1, name2, ., namen l函数的返回值 由 return 语句给出,例如: return 0 无返回值的函数(void类型) ,不必写return语句。 函数的声明与使用 4 前一页 休息 函数的调用 l调用前先说明函数原型: 在调用函数的说明部分,或程 序文件开头所有函数之前,按如下形 式说明: 类型标识符 被调用函数名 (含类型 说明的形参表); l调用形式 函数名(实参列表) l嵌套调用 函数不允许嵌套声明,但可以 嵌套调用。 l递归调用 函数直接或间接调用自身。 函数的声明与使用 5 前一页 休息 例3-1 编写一个求x的n次方的函数 #include double power (double x, int n); void main(void) cout double power (double x, int n); void main(void) int i; int value = 0; char ch; cout = 0; i-) cin ch; if (ch = '1') value += int(power(2,i); cout void main( ) double a,b; double arctan(double x) ; a=16.0*arctan(1/5.0) ; b=4.0*arctan(1/239.0) ; /注意:因为整数相除结果取整, /如果参数写1/5,1/239,结果就都是 0 cout1e-15) f=e/i; r=(i%4=1)? r+f : r-f ; e=e*sqr; i+=2; return r ; 运行结果: PI=3.14159 13 运行结果: PI=3.14159 14 前一页 休息 例3-4 l寻找并输出11999之间的数m ,它满足m、m2和m3均为回文数。 回文:各位数字左右对称的整 数。 例如:11满足上述条件 112=121,113=1331。 l分析: 10取余的方法,从最低位开始 ,依次取出该数的各位数字。按反序 重新构成新的数,比较与原数是否相 等,若相等,则原数为回文。 函数的声明与使用 15 #include void main( ) bool symm(long n); long m; for(m=11; m #include void main( ) double k,r,s; double tsin(double x); coutr; couts; if (r*r=p); return g; 运行结果: r=5 s=8 1.37781 21 前一页 休息 例3-6 投骰子的随机游戏 游戏规则是:每个骰子有六面,点数分别 为1、2、3、4、5、6。游戏者在程序开始时输入 一个无符号整数,作为产生随机数的种子。 每轮投两次骰子,第一轮如果和数为7或11 则为胜,游戏结束;和数为2、3或12则为负,游 戏结束;和数为其它值则将此值作为自己的点数 ,继续第二轮、第三轮.直到某轮的和数等于点 数则取胜,若在此前出现和数为7则为负。 由rolldice函数负责模拟投骰子、计算和数 并输出和数。 函数的声明与使用 22 lrand 函数原型:int rand(void); 所需头文件: 功能和返回值:求出并返回一个 伪随机数 lsrand 函数原型:void srand(unsigned int seed); 参数:seed产生随机数的种子。 所需头文件: 功能:为使rand( )产生一序列 伪随机整数而设置起始点。使用1作为 seed参数,可以重新初化rand( )。 23 #include #include int rolldice(void); void main( ) int gamestatus,sum,mypoint; unsigned seed; coutseed; /输入随机数种子 srand(seed); /将种子传递给rand( ) sum=rolldice( ); /第一轮投骰子、计算和 数 24 switch(sum) case 7: /如果和数为7或11则为胜,状态为1 case 11: gamestatus=1; break; case 2: /和数为2、3或12则为负,状态为1 case 3: case 12: gamestatus=2; break; default: /其它情况,游戏尚无结果,状态为0,记下点数,为下 一轮做准备 gamestatus=0; mypoint=sum ; cout void main(void) int a,b; int fun1(int x,int y); cinab; cout long fac(int n) long f; if (nn; y=fac(n); cout void main( ) int n,k; int comm(int n, int k); cinnk; coutn ) return 0; else if( n=k|k=0 ) return 1; else return comm(n-1,k)+comm(n-1,k-1) ; 运行结果: 18 5 8568 38 前一页 休息 例3-10 汉诺塔问题 有三根针A、B、C。A针上有N个盘 子,大的在下,小的在上,要求把这N个 盘子从A针移到C针,在移动过程中可以 借助B针,每次只允许移动一个盘,且在 移动过程中在三根针上都保持大盘在下, 小盘在上。 函数的声明与使用 ABC 39 分析: 将n 个盘子从A针移到C针可以分解为下面三 个步骤: 将A 上n-1个盘子移到 B针上(借助C针); 把A针上剩下的一个盘子移到C针上; 将n-1个盘子从B针移到C针上(借助A针) ; 事实上,上面三个步骤包含两种操作: 将多个盘子从一个针移到另一个针上,这 是一个递归的过程。 hanoi函数实现。 将1个盘子从一个针上移到另一针上。 用move函数实现。 40 #include void move(char getone,char putone) cout“m; coutC AB CB AC BA BC AC 43 前一页 休息 函数的参数传递机制 传递参数值 l在函数被调用时才分配形参的 存储单元。 l实参可以是常量、变量或表达 式。 l实参类型必须与形参相符。 l传递时是传递参数值,即单向 传递。 函数的声明与使用 44 前一页 休息 函数的参数传递机制 参数值传递举例 XN 被调函数: 主调函数: 3 2.5A D = power(A,3) 2.53 double power(double X, int N) 函数的声明与使用 45 前一页 休息 例3-11 输入两 整数交换后输出 #include void Swap(int a, int b); int main( ) int x(5), y(10); cout void Swap(int int main( ) int x(5), y(10); cout #include void fiddle(int in1, int int main( ) int count = 7, index = 12; cout inline double CalArea(double radius) return 3.14*radius*radius; int main( ) double r(3.0); double area; area=CalArea(r); cout #include int get_volume(int length, int width = 2, int height = 3); int main( ) int x = 10, y = 12, z = 15; cout struct complex double real; double imaginary; ; 64 void main(void) int m, n; double x, y; complex c1, c2, c3; int add(int m, int n); double add(double x, double y); complex add(complex c1, complex c2); coutmn; coutxy; coutc1.realc1.imaginary; coutc2.realc2.imaginary; c3=add(c1,c2); cout 函数声明 函 数 模 板 69 前一页 休息 例3-17 求绝对值函数的模板 #include template T abs(T x) return x #include const double pi(3.14159265); void main( ) double a,b; cina; b=a*pi/180; cout(“活动子集”栏)Visual C+ Documentation - Visual C+ Documentation -Using Visual C+ - Visual C+ Programmer's Guide - Run-Time Library Reference -Run Time Routines by Category - Run Time Routines by Category 使用C+系统函数 76 前一页 休息 作 业 l复习第三章,预习第四章 l3-2, 3-8, 3-11, 3-13, 3-15 l学习使用联机帮助系统查找系统 函数 l实验三 77

    注意事项

    本文(三章函数.ppt)为本站会员(本田雅阁)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开