- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
山东理工大学史上最全C语言PPTC程序设计(9函数)讲解
例 编写一个函数实现两字符串的链接,在主函数中调用 #includestdio.h void scat(char *p,char *q) { while(*p!=\0) p++; while(*q!=\0) {*p=*q; p++; q++; } *q=\0; } main() { char a[80],b[80]; printf(请输入两个字符串\n); gets(a); gets(b); scat(a,b); printf(合并后的字符串是:\n); puts(a); } H E L L O \0 w o r l d \0 函数的嵌套与递归调用 嵌套调用 C规定:函数定义不可嵌套,但可以嵌套调用函数 main( ) 调用函数a 结束 a函数 b函数 调用函数b ? ? ? ? ? ? ? ? ? 例 求三个数中最大数和最小数的差值 #include stdio.h int dif(int x,int y,int z); int max(int x,int y,int z); int min(int x,int y,int z); void main() { int a,b,c,d; scanf(%d%d%d,a,b,c); d=dif(a,b,c); printf(Max-Min=%d\n,d); } Ch7_202.c int dif(int x,int y,int z) { return max(x,y,z)-min(x,y,z); } int max(int x,int y,int z) { int r; r=xy?x:y; return(rz?r:z); } int min(int x,int y,int z) { int r; r=xy?x:y; return(rz?r:z); } main( ) 调用函数dif 输出 结束 dif函数 max函数 调用函数max 调用函数min min函数 递归调用 定义:函数直接或间接的调用自身叫函数的递归调用 f( ) 调f 调f2 调f1 f1( ) f2( ) int f(int x) { int y,z; …… z=f(y); ……. return(2*z); } int f1(int x) { int y,z; …… z=f2(y); ……. return(2*z); } int f2(int t) { int a,c; …… c=f1(a); ……. return(3+c); } 例 求n的阶乘 #include stdio.h int fac(int n) { int f; if(n0) printf(n0,data error!); else if(n==0||n==1) f=1; else f=fac(n-1)*n; return(f); } main() { int n, y; printf(Input a integer number:); scanf(%d,n); y=fac(n); printf(%d! =%15d,n,y); } 例 求Fibonaci(n) 9.5 变量的存储属性 概述 变量是对程序中数据的存储空间的抽象 内存 ……. main() { int a; a=10; printf(“%d”,a); } 编译或函数调用时为其分配内存单元 10 2000 2001 程序中使用变量名对内存操作 变量的属性 数据类型:变量所持有的数据的性质(操作属性) 存储属性 存储器类型:寄存器、静态存储区、动态存储区 生存期:变量在某一时刻存在-------静态变量与动态变量 作用域:变量在某区域内有效-------局部变量与全局变量 变量的存储类型 auto -----自动型 register-----寄存器型 static ------静态型 extern -----外部型 变量定义格式: [存储类型] 数据类型 变量表; 9.5 变量的存储属性 概述 变量是对程序中数据的存储空间的抽象 如: int sum; auto int a,b,c; register int i; static float
您可能关注的文档
- 山东大学在职研究生介绍讲解.doc
- 山与城儿童游乐园策划讲解.ppt
- 展台设计与施工讲解.ppt
- 山东崇明天然气阴极保护施工讲解.doc
- 山东建筑大学锅炉整理讲解.doc
- 山东大学离散数学题库及答案(计本)讲解.doc
- 山东某公司国际物流中心招商计划讲解.doc
- 山东建筑大学结构力学3静定梁讲解.ppt
- 山东潍坊果汁饮料标准文本讲解.doc
- 山东滕州2015人教版九年级物理评比优秀教案:第十六章电压电阻复习课讲解.doc
- 山东省2014六五普法卫生监督员判断题讲解.doc
- 山东省2013年6月普通高中学业水平测试化学讲解.docx
- 山东省东营市2012年中考化学试题(word版含答案)讲解.doc
- 山东省2016届枣庄二模语文试题讲解.docx
- 山东省2015年高中历史第15课辛亥革命课件12岳麓版必修1讲解.ppt
- 山东省临沂市2016届高三上学期期中教学质量检测试题(化学201511)讲解.doc
- 山东省临沂市2016届高三物理上学期10月阶段性教学质量检测试题讲解.doc
- 山东省临沂市2016届高三下学期教学质量检测(一模)政治试题(有答案)讲解.doc
- 山东省临沂市兰陵县第四中学2016届高三语文下学期第一次月考试题讲解.doc
- 山东省临沂市重点中学2015-2016学年高二下学期第二次学情调研考试地理试题讲解.doc
文档评论(0)