




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、授课时候安排授课时候安排学问回想、导入新学问回想、导入新课课, ,及本次课讲授及本次课讲授重点、难点讲述重点、难点讲述1010分钟分钟本次课内容讲解本次课内容讲解8585分种分种小结作业小结作业5 5分钟分钟授课讲明授课讲明 参考书籍参考书籍:C语言程序设计案例教程语言程序设计案例教程 人民邮电人民邮电出版社出版社 讲授方式讲授方式:多媒体讲授多媒体讲授 授课人授课人 :李锋李锋授课班级授课时候授课周节次授课内容D05电气12021.12.18第15周周一3-4节8.1-8.2D05电气22021.12.18第15周周一1-2节重点、难点重点、难点自定义函数的定义形式;实参和形自定义函数的定义
2、形式;实参和形参的使用参的使用main()int x,y,z;scanf(%d%d,&x,&y);z=x+y;printf(sum=%d,z);getch();一样做法main()int x,y,z;scanf(%d%d,&x,&y);z=sum(x,y);printf(sum=%d,z);getch();int sum(int n,int m) int w;w=n+m;return w;主函数子函数startend注:上面“信息类型”可省,需在下一行表明类型.观看程序例似:float sub(int x,int y,int z)再似:float sub(voi
3、d)或:float sub()分号要不得;,都写完全,再调程序. a=num2; printf(MAX= %d,a); 12121212形参是指针变量形参是指针变量时不再开发新的时不再开发新的信息单元信息单元,对形对形指标据单元指标据单元 的的操纵便是对实指操纵便是对实指标据单元的操纵标据单元的操纵,这种传递方式为这种传递方式为传址传址.12a调用前a0a112a调用a0a112xy21xy交流12a返回#include void swap2(int x,int y) int z; z=x; x=y; y=z;main() int a2=1,2; swap2(a0,a1); printf(a0
4、=%dna1=%dn,a0,a1);值传递12a调用前12ax调用21ax交流21a返回#include void swap2(int x) int z; z=x0; x0=x1; x1=z;main() int a2=1,2; swap2(a); printf(a0=%dna1=%dn,a0,a1);地址传递 #include void main() float score10 , av; int i; printf(Input 10 scores:n); for( i=0; i10; i+ ) scanf(%f, &scorei); av=average(score); print
5、f(Average is:%.2f, av); float average(float stu10) int i; float av,total=0; for( i=0; i10; i+ ) total += stui; av = total10; return av; 实参用数组名形参用数组定义, float stu .2109score562312.88stu 数组名指针作函数指标 数组名作函数指标,是地址传递 数组名作函数指标,实介入形参的对应关系实参形参数组名指针变量数组名指针变量数组名数组名指针变量指针变量例 将数组a中的n个整数按相反次序存放 ij 3 7 9 11 0 6 7 5
6、 4 20 1 2 3 4 5 6 7 8 9ijijijji11760594723实介入形参均用数组void inv(int x, int n) int t,i,j,m=(n-1)2; for(i=0;i=m;i+) j=n-1-i; t=xi; xi=xj; xj=t; main() int i,a10=3,7,9,11,0,6,7,5,4,2; inv(a,10); printf(The array has been reverted:n); for(i=0;i10;i+) printf(%d,ai); printf(n);m=4例 将数组a中的n个整数按相反次序存放 void inv(
7、int *x, int n) int t,*p,*i,*j,m=(n-1)2; i=x; j=x+n-1; p=x+m; for(;i=p;i+,j-) t=*i; *i=*j; *j=t; main() int i,a10=3,7,9,11,0,6,7,5,4,2; inv(a,10); printf(The array has been reverted:n); for(i=0;i10;i+) printf(%d,ai); printf(n);实参用数组,形参用指针变量37911067542a0a1a2a3a4a5a6a7a8a9xp=x+ma数组60711594723ijijijjiji
8、例 将数组a中的n个整数按相反次序存放 void inv(int *x, int n) int t,*i,*j,*p,m=(n-1)2; i=x; j=x+n-1; p=x+m; for(;i=p;i+,j-) t=*i; *i=*j; *j=t; main() int i,a10,*p=a; for(i=0;i10;i+,p+) scanf(%d,p); p=a; inv(p,10); printf(The array has been reverted:n); for(p=a;pa+10;p+) printf(%d,*p);实介入形参均用指针变量例 将数组a中的n个整数按相反次序存放 vo
9、id inv(int x, int n) int t,i,j,m=(n-1)2; for(i=0;i=m;i+) j=n-1-i; t=xi; xi=xj; xj=t; main() int i,a10,*p=a; for(i=0;i10;i+,p+) scanf(%d,p); p=a; inv(p,10); printf(The array has been reverted:n); for(p=arr;parr+10;p+) printf(%d ,*p);实参用指针变量,形参用数组9.1 变量的作用域及存储特性 例 void f1( ) int t=2; a *= t; b = t; ma
10、in() int a, b; printf(“ Enter a,b:”); scanf(“%d,%d”, &a, &b); f1( ); * 调用函数f1( ) * printf (“a=%d,b=%d”, a, b); 编译程序会提示犯错: Undefined symbol a 和 Undefined symbol b .为啥?全局变量全局变量(外部变量外部变量)局部变量局部变量(内部变量内部变量)定义位置定义位置 函数体外函数体外函数体内函数体内作用域作用域从定义处到文件结束从定义处到文件结束从定义处到本函数结束从定义处到本函数结束举例举例全部在函数体外定义的全部在函数体外
11、定义的变量变量(1) 全部在函数体内定义的变量(2)形式指标注重注重与局部变量同名的操作与局部变量同名的操作差别函数中同名局部变差别函数中同名局部变量互不干扰量互不干扰9.2 变量的作用域1.变量按作用域:分为全局变量和局部变量2.区不:例程序#include int a,b; *a,b为全局变量*void f1( ) int t1,t2; t1 = a * 2; t2 = b * 3; b = 100; printf (“t1=%d,t2=%dn”, t1, t2); main() a=2; b=4; f1( ); printf (“a=%d,b=%d”, a, b); 程序输出结论为程序输
12、出结论为: t1=4,t2=12 a=2,b=100 将程序改为:#include int a=2,b=4; *a,b为全局变量*void f1( ) int t1,t2; t1 = a * 2; t2 = b * 3; b = 100; printf (“t1=%d,t2=%dn”, t1, t2); main() int b=4; f1( ); printf (“a=%d,b=%d”, a, b); 程序输出结论为程序输出结论为: t1=4,t2=12 a=2, b=4 结论结论:全局变量与局部全局变量与局部变量同名时变量同名时,局部变量的局部变量的作用域屏蔽全局变量作用域屏蔽全局变量9.
13、3 变量的存储特性1.变量按存在时候分:静态变量,动态变量静态存储变量:生活期为程序履行的整个环节,在该环节中占有固定的存储空间,也称永世存储.动态存储变量:只生活在某一段时候内.例似:函数的形参、函数体或分程序中定义的变量,只有当程序进入该函数或分程序时才安排存储空间,函数分程序履行完后,变量的存储空间又被释放.2. 变量属性:信息类型,存储特性完整的变量定义: 存储特性 信息类型 变量名;1) auto型有形式指标、函数内变量、分程序变量.进入程序自动安排内存,不恒久占用内存.2) static 型 局部静态变量 全局静态变量恒久占用内存自动型自动型 auto静态型静态型 static寄存
14、器型寄存器型 register外部型外部型 extern例f(int a)int b=0; static int c=3; b+;c+; printf(“%5d%5d%5d”,a,b,c); return(a+b+c);main() int a=2,k; for(k=0;k3;k+) printf(“%5dn”,f(a);(看L4_11)3) register型 将使用次数高的变量定义为register型,能够提高运行速度.寄存器变量只限于整型、字符型、指针型的局部变量寄存器变量只限于整型、字符型、指针型的局部变量.寄存器变量是动态变量寄存器变量是动态变量,仅许可讲明两个寄存器变量仅许可讲明两个寄存器变量.例似例似: register int d; register char c; 信息内存 运算器 运算器 结论 操纵器 信息寄存器寄存器4) extern型 引用: extern 类型 变量名;似果某个模块文件中要用到另一个模块文件中的全局变量,要用extern讲明. 例似: 程序模块file1.c中定义了全局变量 int s ; 另一程序file2.c的函数fun1()需要使用那个变量s.在file2.c的fun1()对s履行外部变量讲明: fun1() extern int s ; *表明变
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030年中国铁路物流行业十三五规划与投资战略研究报告
- 2025-2030年中国车灯模具行业市场前景规模及发展趋势分析报告
- 2025-2030年中国莲藕粉行业运行态势及发展趋势分析报告
- 2025-2030年中国花露水市场风险评估规划分析报告
- 2025-2030年中国胡麻油市场竞争状况及发展趋势分析报告
- 2025-2030年中国聚碳酸酯板(阳光板)行业发展趋势规划研究报告
- 2025-2030年中国缝制机械市场运行现状及发展趋势分析报告
- 2025-2030年中国纸制品市场运行现状及发展前景预测报告
- 2025-2030年中国电玩行业运行状况及发展前景分析报告
- 2025-2030年中国电容笔行业发展状况及营销战略研究报告
- 2025年01月2025广东深圳市何香凝美术馆公开招聘应届高校毕业生2人笔试历年典型考题(历年真题考点)解题思路附带答案详解
- 园林聘用劳动合同
- 300亩文冠果树栽培基地建设项目可行性研究报告
- 2025年菏泽职业学院高职单招职业技能测试近5年常考版参考题库含答案解析
- 2025年江西生物科技职业学院高职单招职业适应性测试近5年常考版参考题库含答案解析
- 2025年度企业安全生产与环保管理服务协议范本3篇
- 六年级下册音乐全册教案湖南文艺出版社湘教版
- Tracepro-实例学习教程
- 进货单出货单(Excel表格模板)
- 守株待兔中英文PPT课件
- 质监站对监理工作监督的要点
评论
0/150
提交评论