C语言函数入门讲义.docx

上传人:牧羊曲112 文档编号:3155198 上传时间:2023-03-11 格式:DOCX 页数:5 大小:38.22KB
返回 下载 相关 举报
C语言函数入门讲义.docx_第1页
第1页 / 共5页
C语言函数入门讲义.docx_第2页
第2页 / 共5页
C语言函数入门讲义.docx_第3页
第3页 / 共5页
C语言函数入门讲义.docx_第4页
第4页 / 共5页
C语言函数入门讲义.docx_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《C语言函数入门讲义.docx》由会员分享,可在线阅读,更多相关《C语言函数入门讲义.docx(5页珍藏版)》请在三一办公上搜索。

1、C语言函数入门讲义4.1 函数入门 函数的作用。 函数体现了C语言面向过程的模块化思想,具体作用是: 1、使用函数使程序结构清晰; 2、函数可复用,也可以反复调用; 例1:两个程序的对比 1) #include void main printf(*nn); printf( Hello world!nn); printf(*nn); 2) #include void f printf(*nn); void g printf( Hello world!nn); void main f; g; f; 函数必须先定义或声明,才能调用。 函数定义格式: 返回值类型 函数名(形参表) /函数头 /函数体

2、声明部分 语句 形参表可以是0个、1个或多个参数。 注意形参表的格式: 数据类型 形参变量, 函数不返回值时,返回值类型是void。 形参的本质是局部变量,形参只有在函数内部有效。当函数调用时,才为其申请内存空间,函数调用时便释放内存空间,main函数也不例外,所谓释放即返还给操作系统。 一个程序有且只有一个main函数。 4.2 函数调用 调用格式如下 函数名(实参表) 以上格式,是不带分号的,意味着,函数调用本质是表达式,既然函数调用是表达式,那么其使用方法同表达式。 此时函数有没有返回值已无关紧要,若有返回值,则函数调用表达式便可放在赋值表达式的右边。 例2: #include int

3、add(int a,int b) int c; c=a+b; return c; void main int a,b,c; printf(input two numbers:n); scanf(%d%d,&a,&b); c=add(a,b); printf(%d+%d=%dn,a,b,c); 形参是变量,但实参可以是类型匹配的任意表达式。 实参与形参的个数、类型都要匹配。 形参与实参同名与否无任何关系。 例3: #include int Add(int a,int b) int c; c=a+b; return c; int Jia(int bb) int c; c=100+bb; retur

4、n c; void main int a,b,c1,c2; printf(input two numbers:n); scanf(%d%d,&a,&b); c1=Add(a,100.1); printf(%d+100=%dn,a,c1); c2=Jia(b); printf(100+%d=%dn,b,c2); 函数调用时,编译系统做了些什么事? 1、执行流程,从主调函数的该函数调用语句转移到被调函数,即转去执行被调函数。 2、参数传递,即实参按顺序传递给形参。而且是按值传递,即实参的值赋值给形参。 3、形参得到实参的值后,便开始执行被调函数的函数体。 4、被调函数执行完后,便返回到主调函数原来

5、的地方,继续执行主调函数剩下的部分。若有返回值,返回即可。 函数如何结束呢? 1、若函数无返回值,便不必有return语句,此时,函数要执行到函数体最后一个语句,便可自然返回。 2、若函数无返回值,也可以使用return语句结束执行,此时可以根据需要结合if语句来达到提前返回的目的。 3、若函数有返回值,则必须使用return语句返回一个值并随即结束函数。 小结: 函数体无return语句,便是自然返回;反之,一旦执行到return语句便立刻返回,此时可结合if等语句,设置多个return语句以到达按指定要求返回的目的。 例4: #include void Work char c; print

6、f(Start to work:.n); printf(Are you tired?n); scanf(%c,&c); if(Y=c | y=c) printf(You go home and take a rest.n); return; printf(OK,proceed with your work.n); printf(End of job!n); void main Work; 按值传递意味着是单向传递,即形参在被调函数中发生改变不会影响实参的值。 被调函数的声明和函数原型 如果被调函数的定义在主调函数的后面,便要事先将被调函数声明。 声明的格式如下: 函数原型; 函数原型是函数头的

7、基础上省略具体的形参变量,而只有形参类型,也可以不省略,当不省略时,函数原型就是函数头。 从格式中看到,声明中以分号结尾,意味着声明是一个语句。 #include void main int n; printf(input numbern); scanf(%d,&n); s(n); printf(n=%dn,n); int s(int n) int i; for(i=n-1;i=1;i-) n=n+i; printf(n=%dn,n); 关于执行流程的转移,可演示设置断点的调试过程。 函数的实参是表达式,而函数调用就是表达式,那么函数调用表达式亦可做另一个函数调用的实参,此时的情况,与数学中的复合函数是相似的。当然,函数调用表达式做表达式,要求函数调用必须有返回值。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号