电大C语言程序设计第6章函数.ppt

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

第6章 函数 (一) 教学内容 1. 函数的定义格式和各个语法成分的作用; 2. 函数的调用格式以及调用过程; 3. 值参数和指针参数的不同作用; 4. 变量的作用域分类; 5. 递归函数的概念和调用过程。 第6章 函数 (二) 教学要求 了解:函数的定义、声明、调用与返回的有关概念; 理解:函数的定义和调用过程,值参数和指针参数的使用,变量的各种不同作用域; 应用:会分析一个函数定义的功能,根据问题编写出对应的函数。 第6章 函数 6.1 函数定义 函数:将大的程序分成功能相对独立的小模块,每一个模块称之为函数。 函数分为用户定义的函数和标准库函数两种。 一个c++程序由一个main()函数和若干用户定义的函数组成。 第6章 函数 6.1 函数定义 1. 函数定义格式 [有效范围] 类型名 函数名 (参数表) 函数体 有效范围由保留字extern或static指定。若为extern则为全局函数或外部函数,它在所有程序文件中有效;若为static则为局部函数或静态函数,它在所属的程序文件中有效。默认为extern。 类型名为系统或用户定义的数据类型。 函数名为用户定义的合法标识符。 参数表有称为形式参数表,由逗号隔开的若干个参数组成。 函数体是一条复合语句,完成函数的功能。 第6章 函数 6.1 函数定义 2. 函数定义格式举例 (1) void f1(){...} (2) static void f2(int x){...} (3) int f3(int x,int * p){...} (4) char * f4(char a[]){...} (5) void f5(float c[][N],int m){...} 第6章 函数 6.1 函数定义 3. 有关函数定义的几点说明 (1) 函数原型语句 函数原型又称函数声明,由函数返回类型、函数名和参数表组成。即: 返回类型 函数名(参数表); //以;号结尾 函数原型中的参数表可以只包含参数的类型。 第6章 函数 6.1 函数定义 3. 有关函数定义的几点说明 1) 函数原型语句 函数必须先有原型(或定义)后调用。 函数定义包含函数原型。 若函数定义于函数原型之前,则不必给出函数原型。 若函数定义于函数原型之后,则必须给出函数原型。 一般,我们不将函数原型、函数调用和函数定义放在同一程序文件,而是分别保存。函数原型归入头文件,函数定义归入程序文件,函数调用归入主程序文件。从而形成项目的多文件结构。 第6章 函数 6.1 函数定义 3. 有关函数定义的几点说明 (2) 常量形参 void f6(const int x){} void f7(const char* p,char key){} 常量形参(例如p)的作用是在函数体中只能访问该参数的值,而不能修改它的值。 (3) 数组参数 函数的形参为数组参数时,形式上是数组,本质上是指针,是与该数组名等价的数组指针。 例:int array[]等价与int * array float c[][N]等价与float (*c)[N] 第6章 函数 6.1 函数定义 3. 有关函数定义的几点说明 (4) 函数类型 对于类型为非void的函数,函数体中必须至少带有一条return语句,每条return语句必须带有一个表达式;对于类型为void的函数,函数体可以不带有return语句,或者带有不带表达式的return语句。 第6章 函数 6.2 函数调用 6.2.1 调用格式 调用格式:函数名(实参表) 例如: (1)g1(25); (2)g2(x); (3)g3(a,2*b+3); (4)g4(sin(x),@); (5)g5(d,*p,x/y-1); 第6章 函数 6.2 函数调用 6.2.1 调用格式 void类型的函数调用作为语句来调用;非 void类型的函数调用作为表达式来调用,也可以作为语句来调用。 例如: (1)ff1(); (2)y=ff2(x,a); (3)printf(%d\n,ff3(c,10)); (4)ff4(ff5(x1,d1)+1); (5)if (ff6(ct,x)) printf(true\n); 第6章 函数 6.2 函数调用 6.2.2 调用过程 1.参数传递过程 形参表中的参数包括普通类型的参数、指针类型的参数和数组类型的参数。数组类型的参数归类为指针类型的参数。 参数传递过程:形参接受实参的值。称为“按值传递”。 第6章 函数 6.2 函数调用 6.2.2 调用过程 函数原型如下: (1)void h1(int x,int y); (2)int h2(char * p); (3)void h3(int a[],

文档评论(0)

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

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

1亿VIP精品文档

相关文档