- 1、本文档共77页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
8、C语言程序设计_函数
例8.18 输出1到5的阶乘值 #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 fac(int n) {static int f=1; f=f*n; return(f); } 青岛农业大学理信学院 register变量 变量的值是存放在内存中的。 当程序中用到哪一个变量的值时,由控制器发出指令将内存中该变量的值送到运算器中。经过运算器进行运算后,如果需要存数,再从运算器将数据送到内存存放。 如果有一些变量使用频繁,则为存取变量的值要花费不少时间。 为提高执行效率,C语言允许将局部变量的值放在CPU中的寄存器中,需要用时直接从寄存器取出参加运算,不必再到内存中去存取。 由于对寄存器的存取速度远高于对内存的存取速度,因此这样做可以提高执行效率。这种变量叫做寄存器变量,用关键字register作声明。 青岛农业大学理信学院 青岛农业大学理信学院 例8.19使用寄存器变量 #include stdio.h void main ( ) {long fac(long); long i,n; scanf(%ld,n); for(i=1;i=n;i++) printf(%ld!=%ld\n,i,fac(i)); } long fac(long n) {register long i,f=1; /*定义寄存器变量*/ for (i=1;i=n;i++) f=f*i; return (f); } 青岛农业大学理信学院 extern变量 外部变量是在函数的外部定义的全局变量,它的作用域是从变量的定义处开始,到本程序文件的末尾。在此作用域内,全局变量可以为程序中各个函数所引用。 编译时将外部变量分配在静态存储区。用extern来声明外部变量,以扩展外部变量的作用城。 1. 在一个文件内声明外部变量 例8.20 用extern声明外部变量,扩展它在程序文件中的作用域 #include stdio.h void main() { int max(int,int); /*外部变量声明*/ extern A,B; printf(%d\n,max(A,B)); } int A=13,B=-8; /*定义外部变量*/ int max(int x,int y) /*定义max函数 */ { int z; z=xy?x:y; return(z); } 2. 在多文件的程序中声明外部变量 #include stdio.h int A; /*定义外部变量*/ void main() {int power(int); /*函数声明*/ int b=3,c,d,m; printf(″enter the number a and its power m:\n″); scanf(″%d,%d″,&A,&m); c=A*b; printf(″%d*%d=%d\n″,A,b,c); d=power(m); printf(″%d**%d=%d\n″,A,m,d); } 例8.21 用extern将外部变量的作用域扩展到其他文件。本程序的作用是给定b的值,输入a和m,求a×b和am的值。文件file1.c中的内容为: 文件file2.c中的内容为: extern A; /*声明A为一个已定义的外部变量*/ int powre(int n); {int i,y=1; for(i=1;i<=n;i++) y*=A; return(y); } 3.用static声明外部变量 在程序设计中,某些外部变量只限于被本文件引用,而不能被其他文件引用。这时可以在定义外部变量时加一个staitic声明。 例如: file1.c file2.c static int A; extern int A; void main ( ) void fun (int n) { {… …
您可能关注的文档
- 7章工件材料切削加工性.ppt
- 7牙髓和根尖周病的治疗.ppt
- 7第8章税收概论.ppt
- 7第7章相变对流传热.ppt
- 7第7章蔬菜腌制.ppt
- 7第7章神经系统的检查.ppt
- 7计算机组成部件_声显卡.ppt
- 7稠合芳烃和非苯芳烃.ppt
- 7讲:主题标引_第5章.ppt
- 7第7章基础工程.ppt
- 2024年吉林省延边朝鲜族自治州延吉市朝阳街道招聘社区工作者真题及答案详解1套.docx
- 2024年吉林省辽源市东丰县沙河镇招聘社区工作者真题附答案详解.docx
- 2024年吉林省松原市宁江区华侨农场招聘社区工作者真题及答案详解一套.docx
- 2024年吉林省白城市洮南市聚宝乡招聘社区工作者真题带答案详解.docx
- 2024年吉林省四平市公主岭市秦家屯镇招聘社区工作者真题及参考答案详解一套.docx
- 2024年吉林省四平市伊通满族自治县西苇镇招聘社区工作者真题含答案详解.docx
- 2024年吉林省四平市铁西区地直街道招聘社区工作者真题及参考答案详解一套.docx
- 2024年吉林省松原市长岭县集体乡招聘社区工作者真题及完整答案详解1套.docx
- 2024年吉林省白城市洮北区明仁街道招聘社区工作者真题及参考答案详解.docx
- 2024年吉林省四平市梨树县十家堡镇招聘社区工作者真题及完整答案详解1套.docx
文档评论(0)