欢迎来到天天文库
浏览记录
ID:50368422
大小:40.52 KB
页数:5页
时间:2020-03-08
《C语言函数的定义与使用.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、讲义十三C语言函数的定义与使用一、函数的定义:1、函数的定义:返回类型函数名(参数列表){函数体;}如:1)带返回值的定义intsum1(intm){inti,sum=0;for(i=1;i<=m;i++)sum=sum+i;returnsum;}2)没有返回值voidsum2(intm){intI,sum=0;for(i=1;i<=m;i++)sum=sum+i;s=sum;}2、函数的引用:1)带返回值的引用main(){intn,s;s=sum(n);printf(“%d”,s);getch();}2)没有返回值的引
2、用Ints;main(){intn;sum2(n);printf(“%d”,s);getch();}完整的源程序:#include#includeints;intsum1(intm){inti,sum=0;for(i=1;i<=m;i++)sum=sum+i;returnsum;}voidsum2(intm){inti,sum=0;for(i=1;i<=m;i++)sum=sum+i;s=sum;}main(){intn,s;scanf("%d",&n);s=sum1(n);printf
3、("sum1(n)=%d",s);getch();sum2(n);printf("sum2(n)=%d",s);getch();}3)定义函数的目的:将程序按功能分块,方便程序的使用、管理、阅读、和调试。二、函数的应用实例1:把选择排序部分用函数实现。#include#include#includelonga[100],n;//a[100],n均为全局变量voidpaixu(){inti,j,min;longt;for(i=1;i<=n;i++){min=i;for(
4、j=i+1;j<=n;j++)if(a[j]#include5、>inta=3,b=4;voidswap1(inta,intb){//值传递,也成为单向传递intt;t=a;a=b;b=t;}voidswap2(int*a,int*b){//地址传递,也成为双向传递intt;t=*a;*a=*b;*b=t;}main(){swap1(a,b);printf("a=%d,b=%d",a,b);swap2(&a,&b);printf("a=%d,b=%d",a,b);getch();}三、文件的读写操作:文件读写操作的一般格式:FILE*fp1,fp2;fp1=fopen(“文件名6、”,”r”);fp2=fopen(“文件名”,”w”);fscanf(fp1,”…”,…);fprintf(fp2,”….”,….);fclose(fp1);fclose(fp2);注意:文件在程序结束时,必须关闭。实例3:从文件data.in中读入n个数并求和,将和输出到文件data.out中(两个文件均是文本文件)#include#includemain(){FILE*fp1,*fp2;fp1=fopen("data.in","r");fp2=fopen("data.out","w"7、);inta[20],i,n,s=0;;fscanf(fp1,"%d",&n);for(i=1;i<=n;i++){fscanf(fp1,"%d",&a[i]);s=s+a[i];}printf("%d",s);getch();fprintf(fp2,"%d",s);fclose(fp1);fclose(fp2);}四、练习:1、编程打印杨辉三角形(第0层至第n(n<=20)层的所有元素值,n从屏幕输入)杨辉三角形111121133114641……………………参考源程序:#include#incl8、udemain(){longa[30][30];inti,j,n;scanf("%d",&n);for(i=0;i<=n;i++){a[i][0]=1;a[i][i]=1;}for(i=2;i<=n;i++){for(j=1;j
5、>inta=3,b=4;voidswap1(inta,intb){//值传递,也成为单向传递intt;t=a;a=b;b=t;}voidswap2(int*a,int*b){//地址传递,也成为双向传递intt;t=*a;*a=*b;*b=t;}main(){swap1(a,b);printf("a=%d,b=%d",a,b);swap2(&a,&b);printf("a=%d,b=%d",a,b);getch();}三、文件的读写操作:文件读写操作的一般格式:FILE*fp1,fp2;fp1=fopen(“文件名
6、”,”r”);fp2=fopen(“文件名”,”w”);fscanf(fp1,”…”,…);fprintf(fp2,”….”,….);fclose(fp1);fclose(fp2);注意:文件在程序结束时,必须关闭。实例3:从文件data.in中读入n个数并求和,将和输出到文件data.out中(两个文件均是文本文件)#include#includemain(){FILE*fp1,*fp2;fp1=fopen("data.in","r");fp2=fopen("data.out","w"
7、);inta[20],i,n,s=0;;fscanf(fp1,"%d",&n);for(i=1;i<=n;i++){fscanf(fp1,"%d",&a[i]);s=s+a[i];}printf("%d",s);getch();fprintf(fp2,"%d",s);fclose(fp1);fclose(fp2);}四、练习:1、编程打印杨辉三角形(第0层至第n(n<=20)层的所有元素值,n从屏幕输入)杨辉三角形111121133114641……………………参考源程序:#include#incl
8、udemain(){longa[30][30];inti,j,n;scanf("%d",&n);for(i=0;i<=n;i++){a[i][0]=1;a[i][i]=1;}for(i=2;i<=n;i++){for(j=1;j
此文档下载收益归作者所有