如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
程序设计基础(C语言)程序设计基础(C语言)模块化结构模块化结构模块化结构模块化结构模块化结构模块化结构什么是函数?函数的种类说明本例中共包含了两个函数主函数main()用户定义函数max()主函数可以定义在程序的任意位置函数的定义是平行的彼此相互独立不能嵌套定义在主函数中调用库函数调用用户函数程序设计基础(C语言)库函数库函数库函数【例】库函数使用的例子随机函数的应用:#include<stdlib.h>#include<stdio.h>#include<time.h>main(){inti;srand(time(NULL));for(i=1;i<=20;i++){printf("%10d“,1+(rand()%10));if(i%5==0)printf("\n");}printf("\n");}程序设计基础(C语言)函数的定义函数的定义函数的定义函数的定义函数的定义函数的定义函数的定义函数的定义函数的定义函数的定义函数的定义函数的定义函数的定义函数的定义函数的定义问题1:voidfun1(a,b,c){printf(“%d%d%d”,a,b,c);}——??【例】指出如下程序段中的错误。intfun(void){printf(“insidefun\n”);intfun1(void){printf(“insidefun1\n”);}}intsum(intx,inty){intresult;result=x+y;}(c)intsum(intx){if(x==0)return0;elsex+sum(x-1);}函数的定义函数定义小结函数定义小结无论有无形参,函数名后的()不能省略形式参数表中说明的形参,在函数体中不再需要说明可以同一般的变量完全一样直接使用函数体内部的变量说明与形参说明的含义不同前者说明函数体的一个局部变量,后者说明一个用于函数间传送数据的形式变量最好在形参列表中列出每个参数的类型即使参数是默认的int不应省略对每个形参的类型说明例如:floatmax(floatx,floaty)不能写成floatmax(foatx,y),此时y为系统缺省的int类型应尽可能多的使用系统提供的库函数传递给函数的参数和函数定义中的相应的参数尽量不使用相同的名字选择有意义的参数名和函数名可以使程序具有良好的可读性可以避免过多地使用注释需要大量参数的函数可能包含较多的功能(任务)应该考虑将该函数分成完成单个任务的较小的函数函数原型、函数头部和函数调用应该具有一致的参数个数、参数类型、参数顺序和返回值类型常见错误如果指定了非整型int类型的返回值类型,则省略函数定义中的返回值类型会导致语法错误忘记从应该返回一个值的函数返回该值会导致无法预料的错误ANSIC标准规定被省略的结果是不确定的、随机的从返回类型为void的函数返回一个值会导致语法错误定义函数时,在其参数列表的)后以“;”结束是一种语法错误形参的类型说明一定放在函数体{}内会导致语法错误在函数体内部对形式参数再次定义是一种语法错误程序设计基础(C语言)函数调用函数调用函数调用函数调用函数调用函数调用函数声明函数声明函数声明函数声明源程序:main(){inta,b,r;scanf("%d%d",&a,&b);r=gcd(a,b);printf("gcd(a,b)is%d\n",r);}intgcd(x,y)intx,y;{inta,b,t;if(x<y){t=x;x=y;y=t;}a=x;b=y;while(b!=0){t=a%b;a=b;b=t;}return(a);}函数声明源程序:floatmax-value(x,y,z)floatx,y,z;{floatmax;max=x>y?x:y;max=max>z?max:z;return(max);}main(){floata,b,c,max;scanf(“%f%f%f”,&a,&b,&c);max=max_value(a,b,c);printf(“%f”,max);}871。c函数声明样式:floatmax_value();voidcpy();intcount();main(){…}voidcpy(s1,s2)chars1[30],s2[20];{…}intcount(charstr,intn){…}函数声明函数声明函数声明函数声明函数声明函数执行过程〖例〗]inti=10;main(){intj=1;j=fun();printf(“%d”,j);j=fun();printf(“%d”,j);}func(