- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
main( ) f1( ) f2( ) f3( ) f11() f12() f21() f22() f23() f31() f32() f211() f311() [实例7_1 ]一个简单的函数调用的例子。 main( ) { print_message( );/*调用print_message函数*/ } void print_message( )/*print_message函数*/ { printf(“how do you do!\n”); } 运行结果如下: print_message()是用户自定义的函数名,用来输出一行信息。 函数可分为两种: A)从用户角度来看: (1)库函数。这是由系统提供的,用户不必自己定义这些函数,可以直接使用它们。每个系统提供的库函数的数量和功能不同。 (2)用户自己定义的函数,以解决用户的专门需要。 函数定义的一般形式: 7.2函数的调用 一、一般形式: 1.函数调用的一般形式为: 函数名(实际参数1,实际参数2,……) 2.说明: ① 可以不带参数,但括弧不能省略; ② 如果实参表列包含多个实参,则各参数间用逗号隔开; ③ 实参与形参的个数应相等,类型应一致; ④ 实参与形参按顺序一一对应传递数据; 二、函数调用的方式: 1.函数语句:由函数调用加上分号构成,在主调函数中可作为一个独立的语句。 如:stars(20); print_message( ); 2.函数表达式:函数调用作为一个运算对象出现在表达式中,此时要求函数带回一个确定的值以参加表达式的运算。 如:c = max(a, b); 3.函数参数:函数调用作为另一个函数的实参,其值作为一个实际参数传给被调函数的形参进行处理,此时也要求函数带回一个确定值。 如:m = max(a, max(b, c) ); printf(%d, max(a, b) ); 实例7_2 一个带参函数调用的例子。 void print_message(int n ) /*定义print_message函数*/ { int i; for(i = 1;i = n;i++) printf(How do you do!\n); } main( ) { int m; printf(This is a message for you.\n); printf(How many times do you want to see?); scanf(%d,m); print_message( m ); /*调用print_message函数*/ getch(); } 实例分析: (1)本实例有两个函数,一个是main(),另一个是print_message(),在main函数中调用了print_message函数,因此,main函数称为主调函数,print_message函数称为被调函数。 (2)本例中被调函数print_message是放在主调函数main之前,故不需要加上声明语句。在实例7_1中,被调函数是位于主调函数之后,因此在调用之前要加上了函数的声明语句(被调函数的返回类型是int时除外),否则编译通不过。 动手实践: 将本实例中的main函数和print_message函数位置对调,看看编译能否通过,出现什么错误提示信息? 7.3 函数调用中的参数 3)在主调函数main()中输出和。当然,本实例若改为只定义一个main函数,在main函数中直接求a、b的和,输出,结果是一样的。这里是给出一个函数调用的基本使用格式。当程序的功能比较复杂或需重复用到相同的代码时,函数调用就变得非常必要。 7.3.2数组作为函数调用中的参数 函数参数的传递方式有两种:分别是值传递和引用传递。 程序如下: 实例7_5 数组元素做实参。 void change(int x) /*形参x用来接收实参a[0]的值*/ { x = x + 100; /*将x的值加上100*/ } main() { int a[10]={1,2,3,4,5,6,7,8,9,10},i; clrscr(); printf(\nArray a before function call is
文档评论(0)