第3章(3.2__程序模块-函数).ppt

  1. 1、本文档共80页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章(3.2__程序模块-函数)

● 例如:输出1到3的阶乘值。 #include stdio.h void main( ) { int fac( int n); int i; for (i=1;i=3;i++) printf(“%d!=%d\n”, i ,fac( i )); } int fac( int n ) { static int f=1; f=f*n; return(f); } 运行结果: 1!=1 2!=2 3!=6 桔蝴乐溉宰效为腺霞怠够犊耻贱健谷硒坚瘟鹃谬戈乓顽棚捌韭功瞒与汗出第3章(3.2__程序模块-函数)第3章(3.2__程序模块-函数) ★ 寄存器变量(register ) ● 一般情况下,变量的值存放在内存中。当程序用到 某一变量的值时,将内存中该变量的值送到运算器 中。 运算结束后,如果需要保存数,再从运算器将 数据送到内存存放。 粟坤蚤吱垫恩烧臀搞腻副惟泉蔡剔酪蔬当宏哮援擂饥缄解垃纠窍揖岭讼疚第3章(3.2__程序模块-函数)第3章(3.2__程序模块-函数) ● 这种存放在CPU寄存器中的变量叫做寄存器变量,用 关键字register来声明。 ● 如果有一些变量使用频繁,则为存取变量的值要花费 不少时间。为提高执行效率,C语言允许将局部变量 的值放在CPU中的寄存器中,需要用时直接从寄存器 取出参加运算,不必再到内存中去存取。 ● 只有局部自动变量和形参可以作为寄存器变量,其它 (如全局变量)不行。 脚火溪咽章殴材险灾裂纂比斯癸抡牡越廉刽秩子垄腰拽蠢俞阎孕襟兑印茁第3章(3.2__程序模块-函数)第3章(3.2__程序模块-函数) ● 例如: #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); } 运行结果: 3回车 1!=1 2!=2 3!=6 丫借辙舰恰纳兢倾寒态暑苛盔辛褪毗迁堆啥低绑愁蔽到皇哄获挞铡峻妖话第3章(3.2__程序模块-函数)第3章(3.2__程序模块-函数) 4.全局变量的存储方式 ★ 全局变量定义在函数外部,可以为本文件中其他函数 所共用。它的作用域是从定义该变量的位置开始到本 程序文件结束。 ★ 全局变量存储在静态存储区。 ★ 全局变量的存储方式有: ● 外部全局变量(extern) ● 静态全局变量(static) 乱鸦咬长胺搓驼货涎布奉隋警芹耶桑萨疽神恋径苔网荒掏咐札踪血糟盟恶第3章(3.2__程序模块-函数)第3章(3.2__程序模块-函数) ★ 静态全局变量(static) ● 静态全局变量在定义它的文件中有效,而不能被其他 文件引用。能保证各文件的全局变量互不影响。 例如: file1.c: file2.c: static int a; static int a; void main ( ) void fun (int n) { { … … } } 戍睁弟逛可山蕴屏龋梯返瑚闲搅座细谤甄衷逻富矮暗晕撬其郁绞盛窜货推第3章(3.2__程序模块-函数)第3章(3.2__程序模块-函数) ★ 外部变量(extern) ● 用extern来声明外部变量,以扩展外部变量的作用域。 例如: #include stdio.h void main( ) { int max(int,int); extern a,b; /*外部变量声明*/ printf(%d\n,max(a,b)); } int a=13,b=-8;

文档评论(0)

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

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

1亿VIP精品文档

相关文档