第8章(谭浩强C语言第三版)曾怡主讲视频整理.ppt

第8章(谭浩强C语言第三版)曾怡主讲视频整理.ppt

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

第八章 8.1 概述 例8.18 输出1到5的阶乘值 #include 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); } 8.9.4 register变量 变量的值是存放在内存中的。当程序中用到哪一个变量的值时,由控制器发出指令将内存中该变量的值送到运算器中。 经过运算器进行运算,如果需要存数,再从运算器将数据送到内存存放。 如果有一些变量使用频繁,则为存取变量的值要花费不少时间。为提高执行效率,C语言允许将局部变量的值放在CPU中的寄存器中,需要用时直接从寄存器取出参加运算,不必再到内存中去存取。由于对寄存器的存取速度远高于对内存的存取速度,因此这样做可以提高执行效率。这种变量叫做寄存器变量,用关键字register作声明。 例8.19使用寄存器变量 #include 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 ; 8.9.5 用extern声明外部变量 外部变量是在函数的外部定义的全局变量,它的作用域是从变量的定义处开始,到本程序文件的末尾。在此作用域内,全局变量可以为程序中各个函数所引用。编译时将外部变量分配在静态存储区。用extern来声明外部变量,以扩展外部变量的作用城。 1. 在一个文件内声明外部变量 例8.20 用extern声明外部变量,扩展它在程序文件中的作用域 #include 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 x y?x:y; return z ; 2. 在多文件的程序中声明外部变量 #include 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中的内容为: printf a[i] b[i] %d times\na[i] b[i] %d times\na[i] b[i] %d times\n,n,m,k ; if n k printf array a is larger than array b\n ; else if n k printf array a is smaller than array b\n ; else printf array a is equal to array b\n ; } large(int x,int y) int flag; if(x>y)flag=1;  else if(x<y)flag=-1;   else flag=0; return(flag); } 运行情况如下: enter array a: 1 3 5 7 9 8 6 4 2 0↙ enter array b∶ 5 3 8 9 –1 –3 5 6 0 4↙ a[i]>b[i] 4 times a[i]=b[i] 1 times a[i]<b[i] 5 times array a is smaller thann array b 8.7.2 数组名作函数参数 用数组名作函数参数时,此时形参应当用数组名或用指针变量 。 例8.11 有一个一维数组score,内放10个学生成绩,求平均成绩。 #include void main() { float average

文档评论(0)

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

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

1亿VIP精品文档

相关文档