网站大量收购闲置独家精品文档,联系QQ:2885784924

c语言程序设门计ppt第三章函数.ppt

  1. 1、本文档共66页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c语言程序设门计ppt第三章函数

第三章 函数 本章主要内容 函数的定义、声明和调用 函数间的参数传递 内联函数 带默认形参值的函数 函数重载 C++系统函数 函数的定义 函数是面向对象程序设计中,对功能的抽象 函数定义的语法形式 类型标识符 函数名(形式参数表) { 语句序列 } 函数的调用 调用前先声明函数原型: 在调用函数中,或程序文件中所有函数之外,按如下形式说明: 类型标识符 被调用函数名(含类型说明的形参表); 调用形式 函数名(实参列表) 嵌套调用 函数可以嵌套调用,但不允许嵌套定义。 递归调用 函数直接或间接调用自身。 例3-1编写一个求x的n次方的函数 #include iostream.h double power(double x, int n); int main() { cout5 to the power 2 is power(5,2)endl; } double power(double x, int n) { double val=1.0; while (n--) val=val*x; return(val); } 例3-1编写一个求x的n次方的函数 运行结果: 5 to the power 2 is 25 例3-2 数制转换 题目: 输入一个8位二进制数,将其转换为十进制数输出。 例如: 011010012 = 0(27)+ 1(26)+ 1(25)+0(24)+1(23)+0(22)+0(21)+1(20) =10510 所以,如果输则应输出105 #include iostream.h double power (double x, int n); //声明函数原型power int main() { int i; int value = 0; char ch; cout Enter an 8 bit binary number ; for (i = 7; i = 0; i--) { cin ch; if (ch == 1) value += int(power(2,i)); //调用函数power } cout Decimal value is valueendl; } double power (double x, int n) //声明函数power { double val = 1.0; while (n--) val *= x; return(val); } 例3-3编写程序求π的值 其中arctan用如下形式的级数计算: 直到级数某项绝对值不大于10-15为止;π和x均为double型。 #includeiostream.h int 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 coutPI=a-bendl; } double arctan(double x) { int i; double r,e,f,sqr; sqr=x*x; r=0; e=x; i=1; while(e/i1e-15) { f=e/i; r=(i%4==1)? r+f : r-f; e=e*sqr; i+=2; } return r; } 例3-4 寻找并输出11~999之间的数m,它满足m、m2和m3均为回文数。 回文:各位数字左右对称的整数。 例如:11满足上述条件 112=121,113=1331。 分析: 10取余的方法,从最低位开始,依次取出该数的各位数字。按反序重新构成新的数,比较与原数是否相等,若相等,则原数为回文。 -----参见例2-6 #include iostream.h int main() { bool symm(long n); long m; for(m=11; m1000; m++) if (symm(m)symm(m*m)symm(m*m*m)) coutm=m m*m=m*m m*m*m=m*m*mendl; } bool symm(long n) { long i, m; i=n ; m=0 ; while(i) //等价于while(i!=0) { m=m*10+i%10; //对求出的每一位累加 i=i/10 ; } return

文档评论(0)

150****4233 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档