c语言 第8节.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第8章 函 数 8.1 函数概述 (1)一个源程序文件由一个或多个函数组成 (2)C程序的执行从main函数开始,调用其他函数后流程回到main函数,在main函数中结束整个程序的运行。即main函数是整个C程序的入口和出口。 (3)所有函数在定义时是互相独立的,即不允许嵌套定义函数,但在调用时,可以互相调用。 8.1 函数概述 (4)C函数分为库函数和用户定义的函数两种。 库函数是由编译系统提供的已设计好的函数,用户只需调用就可以了。调用某个库函数时,需在程序的头部用#include命令将含有该函数原型的头文件包含进程序中。 8.1 函数概述 (5)从函数的形式看,函数分为无参函数和有参函数。 ①无参函数:在调用函数时,主调函数不传数据给被调用函数。 ②有参函数:在调用函数时,主调函数可以将数据传送给被调用函数使用。 8.2 函数定义的一般形式 1、无参函数的定义形式 类型标识符 函数名() { 声明部分 语句 } 类型标识符用来指定函数值的类型,无参函数一般不需要带回函数值,因此可以不写类型标识符。 8.2 函数定义的一般形式 2、有参函数定义的一般形式 类型标识符 函数名(形式参数表列) { 声明部分 语句 } 8.2 函数定义的一般形式 如: int max(int x,int y) {int z; z=x>y?x:y; return(z); } 说明:如果在定义函数时不指定函数类型,则系统会自动将函数类型指定为int型。 8.2 函数定义的一般形式 对形参的声明的传统方式 将对形参的声明放在函数定义的第2行,在括号外单独指定。 如: int max(x,y) int x,y; {int z; z=x>y?x:y; return(z); } 8.2 函数定义的一般形式 现代方式:将对形参的声明放在函数定义的第1行,在括号内指定。 如: int max(int x,int y) {int z; z=x>y?x:y; return(z); 8.3 函数参数和函数的值 8.3.1 形式参数和实际参数 形式参数指在定义函数时函数名后面括号内的变量名。 实际参数指在调用函数时函数名后面括号中的参数。 8.3.1 形式参数和实际参数 例8.1 调用函数时的数据传递 max(int x,int y) {int z; z=xy?x:y; return(z); } 8.3.1 形式参数和实际参数 说明: (1)在没有调用函数时,系统并不分配存储空间给形参.只有在函数被调用时,才给形参分配存储空间,调用结束后,存储空间又被释放。 (2)实参可以是常量、变量或表达式,但要求它们有确定的值,在调用时系统会将实参的值赋给形参。 8.3.1 形式参数和实际参数 (3)实参与形参的数据类型应相同或赋值兼容 (4)C语言规定实参变量对形参变量的数据传递是值传递,即单向传递,只能由实参传递给形参,而不能由形参传递给实参。 所以在调用函数后,形参的值如果发生变化了,并不会改变实参的值。 8.3.1 形式参数和实际参数 fun(int x,int y) {x=x*x; y=y*y; printf(“x=%d,y=%d\n”,x,y); } 8.3.2 函数的返回值 (1)函数的返回值是通过函数中的return语句获得的。return后面的值可以是一个变量,也可以是表达式。 如: 说明:也可写成 return xy?x:y; 8.3.2 函数的返回值 (2)函数返回值的类型以定义时说明的函数类型为准,即函数类型决定返回值的类型。 8.3.2 函数的返回值 例8.3 函数返回值以函数类型为准 max(float x,float y) {float z; z=xy?x:y; return z; } 8.3.2 函数的返回值 (3)如果被调函数中没有return语句,则带回的是一个不确定的值。 例8.4 8.3.2 函数的返回值 (4)可以用void定义“无类型”(或称“空类型” ),以明确表示不带回值。 此时,不允许在主调函数中使用被调函数的结果,否则会报错。 例8.5 8.3.2 函数的返回值 如: void printstar() {...} void print_message() {...} 则以下用法是错误的: a=printstar(); b=print_message(); 说明:为使程序少出错,凡不要求带回函数值的函数,一般应定义为void类型。 8.4 函数的调用 8.4.1 函数调用的一般形式 函数名(实参表列) 如:printstar( ) ma

文档评论(0)

kehan123 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档