康辉C语言视频教程5

康辉C语言视频教程5

ID:43162322

大小:145.00 KB

页数:21页

时间:2019-10-01

康辉C语言视频教程5_第1页
康辉C语言视频教程5_第2页
康辉C语言视频教程5_第3页
康辉C语言视频教程5_第4页
康辉C语言视频教程5_第5页
资源描述:

《康辉C语言视频教程5》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第五章函数5.1函数和C程序结构函数是构成C程序的基本单位;一个C程序中所含函数的个数没有限制,但必须有main()函数;整个C程序从main()开始执行,各函数之间的关系是平行的,无主次之分,可返回值,也可不返回。C函数可分为库函数和自编函数。调用C标准库函数时用#include,例如:#include“math.h”5.2函数的构成及定义函数的构成如下:类型函数名(形参表)形参说明{内部说明和定义函数执行部分}同一函数的定义在同一程序中只能出现一次。函数头部函数体5.3函数的参数及返回值5.3.1形式参数和实际参数形参:定义函数时,函数名后面圆括号

2、中的参数;实参:调用函数时,函数名后面圆括号中的参数,可以是变量、常量、表达式;实参的个数和类型应与形参的个数和类型按定义时的顺序完全一致;实参和形参分别占据不同的存储单元;形实结合采用值传递,即实参的值单向传给形参,实参的值并不改变。例如:main(){inta,b;a=2;b=5;swap(x,y);printf(“a=%d,b=%d”,a,b);}swap(x,y)intx,y;{intt;t=x;x=y;y=t;printf(“x=%d,y=%d”,x,y);}运行结果:x=5,y=2a=2,b=5a2b5xyt252525.3.2函数

3、的返回值函数的返回值是通过函数中的return语句得到;其语法为:return(表达式)或return表达式先求解表达式,然后返回该表达式的值;一个函数中可有多个return语句,当执行到该函数的任一条return语句时,都从该函数返回;如果不需要从函数返回值,则函数中可以没有return语句,或return语句后不带有任何表达式。main(){inti;for(i=1;i<=5;++i)printf(“%d!is%d”,i,factorial(i));}factorial(n)intn;{intvalue;for(value=1;n>1;--n)

4、value*=n;return(value);}运行结果:1!is12!is23!is64!is245!is1205.3.2函数的返回值例:main(){intscore=85;chargrade;grade=stog(score);printf(“score%disgrade%c”,score,grade);}stog(s)ints;{if(s>94)return(‘A’);elseif(s>84)return(‘B’);elseif(s>69)return(‘C’);elseif(s>59)return(‘D’);elsereturn(‘F’)

5、;}5.3.2函数的返回值5.4函数的调用函数调用的一般形式:函数名(实参列表);过程调用:不引用被调用函数的返回值;函数调用:引用被调用函数的返回值;例如:putchar(‘a’);getchar();ch=getchar();putchar(getchar());与返回值无关main(){inta,b;a=fa();b=fb();printf(“a=%db=%d”,a,b);}fa(){intval;val=100;return(val);}fb(){intval;val=100;}运行结果:a=100b=7505.4函数的调用函数的类型是

6、指函数返回值的类型;对返回值不是int或char的函数,必须在定义时给出类型说明。例如:main(){inti=2;while(i<256)printf(“%d”,i=square(i));}square(x)intx;{return(x*x);}5.5函数的类型及说明运行结果:416256main(){floati=1.5;while(i<256.0)printf(“%f”,i=square(i));}square(x)/*Squaretheintegerx*/intx;{return(x*x);}运行结果:-28672

7、.0000001024.0000005.5函数的类型及说明5.5函数的类型及说明在main中对函数类型进行说明:类型被调用函数名();将函数的定义放在main前面;一个函数只能被“定义”一次,可“说明”多次,“定义”与“说明”不同;每个函数可当成外部变量,即全局的。只能以“过程调用”的函数,一般应定义为“void”类型,C编译不再为其返回值分配存储单元。main(){floati=1.5;while(i<256.0)printf(“%f”,i=square(i));}/*Squareafloatordoublex*/doublesquare(x)d

8、oublex;/*line9*/{return(x*x);}运行结果testc:9:squar

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。