C语言 第7篇_函数.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
#include stdio.h void main() { char a[10]={bbcdef}; char b[10]={cbcdef}; int i=0,n=0,flag=0; while(1) { if(a[i]==\0b[i]==\0) break; if(a[i]==\0) {flag=1;break;} if(b[i]==\0) {flag=2;break;} if(a[i]b[i]||a[i]b[i]) {n=a[i]-b[i];break;} if(a[i]==b[i]) i++; } if(flag==1) while(b[i]) n--,i++; if(flag==2) while(a[i]) n++,i++; printf(%d\n,n); } #include stdio.h #include string.h void main() { char a[30]={cbcdefaaa}; char b[30]={cbcdefaazaaa}; int i=0,n=0,flag=0; while(a[i]!=\0b[i]!=\0) { if(a[i]b[i]||a[i]b[i]) {n=a[i]-b[i];break;} if(a[i]==b[i]) i++; } if((a[i]!=\0b[i]==\0)||(a[i]==\0b[i]!=\0)) n=strlen(a)-strlen(b); printf(%d\n,n); } 第七章 7.1 函数是什么 课堂练习 编写函数 int p (int a, int b); 返回ab 在主函数中输入两个数,以这两个数为实际参数调用函数p,输出函数返回值( ab ) 要求不能调用pow函数 如果改为void p (int a, int b); 函数p用于输出ab p函数和主函数分别该如何变化? 课堂练习: 编写判断素数的函数 int sushu( int a); 在主函数中,使用sushu()函数对用户输入的数据进行判断,如果是素数就输出YES,否则输出NO 提示:函数返回值使用1或0,分别代表是或不是素数 上机考试中的问题: 课堂练习:用递归实现 2n 关于递归的深入探讨 用递归思想解决问题的关键是: 1、递归算法的设计(相当于循环中的循环体语句块) 2、结束条件的设定(相当于循环结束条件) 3、递归参数的使用(相当于循环变量的修正,如:i++;) 静态局部变量——从生存期讲类似于全局变量,从作用域讲类似于局部变量 所以可以说,静态局部变量——全局变量仅由单个函数访问 static法则: ??? A、若全局变量仅在单个C文档中访问,则能够将这个变量修改为静态全局变量,以降低模块间的耦合度 ? ? B、若全局变量仅由单个函数访问,则能够将这个变量改为该函数的静态局部变量,以降低模块间的耦合度 建议不在必要时不要使用全局变量,原因如下: ① 全局变量在程序的全部执行过程中都占用存储单元,而不是仅在需要时才开辟单元。 ② 使用全局变量过多,会降低程序的清晰性。在各个函数执行时都可能改变外部变量的值,程序容易出错。因此,要限制使用全局变量。 ③它降低函数的通用性,因为函数在执行时要依赖于其所在的外部变量。如果将一个函数移到另一个文件中,还要将有关的外部变量及其值一起移过去。若该外部变量与其他变量同名时,就会出现问题,降低了程序的可靠性和通用性。 一般要求把C程序中的函数做成一个封闭体,除了可以通过“参数——返回值”的渠道与外界发生联系外,没有其他渠道。 7.5.2 变量的存储方式和生存期 存储方式指的是数据在内存中存储的方法 存储方式具体包含四种: * 自动的(auto) * 静态的(static) 寄存器(register) 外部的(extern) 1、auto变量 函数中定义的局部变量(包括形参),默认都是自动的。关键字为auto,可以省略 在调用该函数时系统会自动给它们分配存储空间,在函数调用结束时就自动释放这些存储空间 例如: auto int b,c=3; 2、 static---声明静态变量 在程序开始执行之前(编译时),静态变量已经产生,直到程序结束执行之时,静态变量才会消失,关键字static 当函数中的局部变量定义成静态的,该变量的值在函数调用结束后将不会消失,而保留原值 #include stdio.h void main() { int fac(int n); int i; for(i=1;i=5;i++) printf(%d——%d\n,i,fac(i)); } int fa

文档评论(0)

xiaofei2001128 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档