002函数及重定向及字符串.doc

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

函数机制 一、函数性质 函数是实现某一功能的小程序,它可以用于求值,可以是一个过程;函数可以有参数,也可以没有参数,可以有返回值,也可以没有返回值;函数的参数可以是数值,也可以是指针。 许多时候,我们使用一个函数,只需要了解它的功能,及输入和输出,并不关注函数内部实现机制,这叫函数的黑盒性。 二、函数的声明(多文件函数声明)、定义、调用 三、函数的参数传递 1.按值传递 2.按地址传递 例:指针做函数参数 #include iostream.h void swap2(int *px, int *py) { int temp = *px; *px = *py; *py = temp; }? main(void) { int x = 5, y = 6; swap2(x, y); cout x = x endl; cout y = y endl; } 3.引用传递 (1)什么是引用 引用,就是别名,它完全等价于被引用的对象。引用类型用标识符表示。 (2)定义 类型 引用名=变量; 在声明引用时,必须同时进行初始化 void类型、数组、指针、引用等不能建立引用 (3)引用主要有三种用途 -变量或对象的别名; -引用作函数的参数; -函数的引用类型返回值。 (4)举例 int studentname; int sn=studentname; float studentscore=99; float ss=studentscore; ss=59; 例:引用作变量、对象别名 #include iostream.h void main(void) { int i = 5; int j = i; cout“i=”iendl; cout“j=”jendl; j = 6; cout“i=”iendl; cout“j=”jendl; int k = j; cout“i=”iendl; cout“j=”jendl; cout“k=”kendl; k=7; cout“i=”iendl; cout“j=”jendl; cout“k=”kendl; }? 引用作函数参数(对比) 编程,实现两个变量值的交换。 #include “iostream.h” void swap(int x,int y) { int t; t=x;x=y;y=t;} main() { int a,b; cout”请输入两个数:\n”; cinab; cout”你输入的两个数是:”a” ”bendl; swap(a,b); cout”交换后的两个数是:”a” ”bendl; } 函数返回值为引用类型 优点: -函数返回的是所返回的变量或对象本身,而不需要建立临时的对象。这样减少了程序运行的开销; - 如果一个函数返回的是一个引用类型,那么该函数可以被当作左值使用 #include iostream.h int a[]={1,3,5,7,9}; int index(int); void main(void) { coutindex(2)“\t”a[2]endl; index(2)=25; coutindex(2)“\t”a[2]endl; } int index(int i) { return a[i]; } 四、递归调用 1.递归调用:就是子函数自己调用自己。 2.例: 求1+2+3+……+10的和。 求1*2*3*……*10的积。 五、函数重载 1.带缺省参数值的函数 C++允许实参个数与形参个数不同,方法是在说明函数原型时,为一个或多个形参指定缺省值。 如:int add(int a=5,int b=6,int c=7); int add(int a,int b=6,int c=7); int add(int,int,int c=7); 说明: 所有取缺省值的参数都必须在无缺省值的参数的右边。int add(int a=5,int,int c=7);错 调用函数时,从左到右将实参与形参结合,某个参数省略,则其后的参数都要省略。add( , , 10);错 例: #include “iostream.h” int add(int a=4,int b=7,int c=9); main() { coutadd()endl; } int add(int a,int b,int c) { return a+b+c; } 例: #include iostream.h? void Fun(int x, int y = 0) //参数y为缺省参数 { cout x =

文档评论(0)

qwd513620855 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档