- 1、本文档共68页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章 函数 华中师范大学物理系 本章主要内容 函数的声明和调用 函数间的参数传递 内联函数 带缺省形参值的函数 函数重载 函数模板 C++系统函数 函数的声明 函数是面向对象程序设计中的基本抽象单元,是对功能的抽象 函数定义的语法形式 类型标识符 函数名(形式参数表) { 语句序列 } 函数的声明 形式参数表 type1 name1, type2 name2, ..., typen namen 函数的返回值 由 return 语句给出,例如:return 0 无返回值的函数(void类型),不必写return语句。 函数的调用 调用前先说明函数原型: 在调用函数的说明部分,或程序文件开头所有函数之前,按如下形式说明: 类型标识符 被调用函数名 (含类型说明的形参表); 调用形式 函数名(实参列表) 嵌套调用 函数不允许嵌套声明,但可以嵌套调用。 递归调用 函数直接或间接调用自身。 例3-1编写一个求x的n次方的函数 #include iostream.h double power (double x, int n); void main(void) { cout 5 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位二进制数,将其转换为十进制数输出。 例如:000011012 =0(27) +0(26) +0(25) +0(24) +1(23) + 1(22) + 0(21) + 1(20)= 1310 所以,若输则应输出13 #include iostream.h double power (double x, int n); void main(void) { 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)); } cout Decimal value is valueendl; } double power (double x, int n) { double val = 1.0; while (n--) val *= x; return(val); } 运行结果: Enter an 8 bit binary number Decimal value is 105 例3-3编写程序求π的值 其中arctan用如下形式的级数计算: 直到级数某项绝对值不大于10-15为止;π和x均为double型。 #includeiostream.h 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 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 ; } 运行结果: PI=3.14159 例3-4 寻找并输出11~999之间的数m,它满足m、m2和m3均为回文数。 回文:各位数字左右对称的整数。例如:11满足上述条件 112=121,113=1331。 分析: 10取余的方法,从最低位开始,依次取出该数的各位数字。按反序重新构成新的数,比较与原数是否相等,若相等,则原数为回文。 #include iostream.h void main() { bool symm(lo
文档评论(0)