函数存储类和预处理程序.pptx
上传人:骑着****猪猪 上传时间:2024-09-14 格式:PPTX 页数:26 大小:167KB 金币:20 举报 版权申诉
预览加载中,请您耐心等待几秒...

函数存储类和预处理程序.pptx

函数存储类和预处理程序.pptx

预览

免费试读已结束,剩余 16 页请下载文档后查看

20 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

会计学打印九九乘法表#include"stdio.h"main(){inti,j,k;for(i=1;i<=9;i++)printf("%4d",i);printf("\n");for(i=1;i<=36;i++)printf("-");printf("\n");for(i=1;i<=9;i++){for(j=1;j<=9;j++)printf("%4d",i*j);printf("\n");}}P86上机题#include"stdio.h"main(){intn,m,sum,i=0,j=0,k=0,h=0;doubleav;while(1){printf("请输入两门课成绩(如果结束输入两个0):");scanf("%d%d",&n,&m);{if(n==0&&m==0)break;elsei++;}sum=(m+n);av=sum/2.0;if(av>=85){printf("sum=%f,成绩为A\n",sum);j++;}elseif(av>=65){printf("sum=%f,成绩为B\n",sum);k++;}else{printf("sum=%f,成绩为C\n",sum);h++;}}printf("A的个数=%d\nB的个数=%d\nC的个数=%d\n总的学生个数=%d\n",j,k,h,i);}第6章函数、存储类和预处理程序函数使用说明*函数和C程序的关系*主函数,子函数及其关系*调用*程序执行过程main函数分类从用户角度标准函数(库函数):由系统提供用户自定义函数:解决用户的专门需要从函数形式无参函数有参函数#include<stdio.h>longpower(intx,intn){inti;longp;for(i=1,p=1;i<=n;i++)p*=x;returnp;}main(){intw=2;longr;r=power(w,2);printf(”Theresultis%ld”,r);}6.2函数的定义一般格式6.3函数参数及其传递方式6.3.1形参与实参形式参数:定义函数时函数名后面括号中的变量名实际参数:调用函数时函数名后面括号中的表达式说明:1.实参必须有确定的值.实参可以是常量、变量、表达式、函数等。无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值,以便把这些值传送给形参。因此,应预先用赋值、输入等办法,使实参获得确定的值。2.形参必须指定类型3.形参与实参类型一致,个数相同若形参与实参类型不一致,自动按形参类型转换———函数调用时转换4.形参在函数被调用前不占内存;函数调用时为形参分配内存;调用结束,内存释放5.参数传递方式--值传递方式说明5.参数传递方式值传递方式方式:函数调用时,为形参分配单元,并将实参的值复制到形参中;调用结束,形参单元被释放,实参单元仍保留并维持原值特点:形参与实参占用不同的内存单元单向传递6.3.2函数的返回值函数的返回值通过函数体中的return语句获得形式:return;或returnr;或return(r);return语句的功能:返回调用函数,并将“返回值表达式”的值带给调用函数。说明:若函数类型与return语句中表达式值的类型不一致,按前者为准,自动转换------函数调用转换若无return语句,遇}时,自动返回调用函数void型函数(如果明确表示不需返回值,可用void作函数的数据类型。)一个函数中可以有多条return语句。6.4函数的调用6.4.1调用形式函数名(实参表);main(){inti=2,p;p=f(i,++i);printf("%d",p);}intf(inta,intb){intc;if(a>b)c=1;elseif(a==b)c=0;elsec=-1;return(c);}6.4.2函数说明一般形式:函数类型函数名(形参类型[形参名],…..);作用:告诉编译系统函数类型、参数个数及类型,以便检验下列情况下,可不作函数说明若函数返值是char或int型,系统自动按int型处理被调用函数定义出现在主调函数之前文件一开头,在所有函数之前,对所用函数作了说明#include<stdio.h>main(){doublefun(intn);intn;scanf("%d",&n);printf("sum=%f",fun(n));}doublefun(intn){