- 1、本文档共38页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c教程第4章
C++语言程序设计 第4章 流程控制、函数和文件 §4.1 流程控制语句 §4.2 函数和文件 §4.2.1 作用域 §4.2.1 作用域 §4.2.1 作用域 §4.2.1 作用域 §4.2.2 存储分类符 §4.2.2 存储分类符 §4.2.2 存储分类符 §4.2.2 存储分类符 §4.2.2 存储分类符 §4.2.3 函数的参数传递 在C中,函数的参数传递有以下两种情况: §4.2.3 函数的参数传递 §4.2.3 函数的参数传递 地址传递:传递变量的地址(指针) §4.2.3 函数的参数传递 引用传递: §4.2.3 函数的参数传递 §4.2.4 函数参数 函数默认参数 在多次调用一个函数将实参传递给形参时,其中可能有一个或几个参数,它们传递进来的实参值多次相同; 在定义或声明函数时,给形参一个默认值,如果在调用时没有给该形参传递实参值,则使用默认值作为该形参的值;如果调用时给该形参传递了实参值,则使用实参的值作为该形参的值。 例:void f1(int a, int b=-1); 调用时,可采用 f1(1, 2); 或f1(2); //形参b为缺省值-1. §4.2.4 函数参数 一旦为某给定参数定义了缺省值,必须为后继参数也定义缺省值(直到最后所有参数)。 例:void f2(int a, int b=-1, int c); // False! void f2(int a, int c, int b=-1); 在调用一个函数时,如果缺省了某个参数,则直到最右端的参数都要省去。 例:声明:void f3(int a, int b=-1, int c=1); 调用形式:f3(1,12); // False! §4.2.4 函数参数 在函数声明时,有无参数名都可以;而在函数定义时,若不指明参数名字,则可定义不使用的参数。 例:void f4(int *a, int * b, int *) { //不使用第三个参数 } §4.2.4 函数参数 §4.2.4 函数参数 C++中的主函数有两种形式: int main( ) { /*…*/ } int main(int argc, char * argv[ ]) {/*…*/ } §4.3 内联、重载和引用 复习: C提供的预处理功能有三种: 文件包含: #include包含文件名 宏定义: #define 字符串1 字符串2(带参宏) 条件编译:#if 条件 源程序部分1 #else 源程序部分2 #endif §4.3.1 宏和内联 C++提供的宏定义功能: #define YES 1 ? const int YES=1; 用内联函数替代带参宏: 例:用带参宏定义实现求平方值。 §4.3.1 宏和内联 内联函数与宏的比较: 宏定义是在编译前由预处理程序对其预处理,它只作简单的字符置换而不作语法检查,往往会出现意想不到的错误。 调用内联函数时由编译器处理,编译器在所有调用该内联函数的地方将其实际的函数代码装上。 内联函数调用时,编译器要检查传递过来的参数类型;若传入的是表达式,其只求值一次。 §4.3.1 宏和内联 §4.3.1 宏和内联 §4.3.2 重载函数 §4.3.2 重载函数 §4.3.2 重载函数 §4.3.2 重载函数 §4.3.2 重载函数 §4.3.3 函数、引用和常量 函数与引用联合使用主要有两种方式: 函数的参数是引用 当使用引用作为函数的形参时,引用不是一个单独的变量,不需要在内存中分配存储单元,实参向形参传递的是变量的名字。使用引用作为函数的形参可以部分代替指针,降低了程序的复杂度,提高了程序的执行效率,同时也提高了程序的可读性。 函数的返回值是引用 以引用作为函数的返回值是为了使函数可以作为左值而被赋值。函数的返回值为引用类型表示该函数的返回值是一个内存变量的别名。可以将函数调用作为一个变量来使用,可以为其赋值。 §4.3.3 函数、引用和常量 §4.3.3 函数、引用和常量 §4.3.3 函数、引用和常量 问题:求2个数的和。(分别考虑整数、浮点数的情况) int add_i(int a,int b) { coutCall integer add function. endl; return a+b; } float add_f
文档评论(0)