网站大量收购独家精品文档,联系QQ:2885784924

函数-北京大学计算机科学技术研究所.ppt

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

计算概论 * 计算概论 * 计算概论 * * 程序运行过程 * 程序运行过程 * 程序运行过程 * void swap(int x, int y) { int tmp = 0; tmp = x; x = y; y = tmp; } void main( ) { int a=0, b=0; a = 20; b = 45; if(ab) swap(a, b); …… } 此时会有什么效果? * if(ab) swap(a,b); 参数 x y 变量tmp 代码段 swap tmp = x; x = y; y = tmp; 20 45 0 45 20 20 * 再看scanf()和printf()函数 scanf(char *control, ……) 每一个希望从键盘中输入的变量,都需要使用指针传递参数。 printf(char *control, ……) 当输出变量是字符串时,也需要使用指针传递参数。 * 函数的返回值 函数执行完以后可以向调用它的程序返回一个值,表明函数运行的状况。很多函数的功能就是对参数进行某种运算,之后通过函数返回值给出运算结果。 函数的返回值可以有不同的类型,返回值类型在函数定义时说明。 函数的返回值是通过 return 语句来实现的,一旦一个函数执行了return语句,则表明函数任务已经完成了,函数到此结束了。 在main()函数中执行了return语句,表明什么? * 函数的返回值 int min(int x, int y); //返回值类型为int,有两个整型参数,函数名为min double calculate( int a, double b); //返回值类型为double,有一个整型参数,一个双精度浮点型参数 //函数名为calculate char judge( ); //返回值类型为char,没有参数,函数名为judge void swap(int *x, int *y); //返回值类型为void,表示不返回任何值,有2个整型指针参数 //函数名为swap * int add(int x, int y) { int z; z = x + y; return z; } int minus(int x, int y) { return x-y; } 函数的返回值 void swap(int *x, int *y) { int tmp = 0; tmp = *x; *x = *y; *y = tmp; } * 问题:当需要从函数中返回多个数据时,该如何处理? 函数的返回值 使用指针形参! * 变量的作用域:全局变量和局部变量 在程序中,每一个变量都有一个可以起作用的范围,这个范围就是变量的作用域。 根据变量作用域的不同, 变量 可分为 全局变量和局部变量。 * 全局变量:在函数之外定义的变量 #include stdio.h int total; //全局变量 int tryit(int a) { if(a100 a200 a%2==0 ) return a; total++; return 0; } void main() { int n, j; total = 0; for( j=0; j1000; j++ ) { scanf(“%d”, n); printf(“%d\n”, tryit(n)); } printf(“%d\n”, total); } 全局变量的作用域: 从变量定义开始,到源程序结束。 * 局部变量:在代码段之内定义的变量 #include stdio.h int calculate(int a) { int n = a; if(a100 a=0) n = 2*a; if(a=200) n = a*a; return n; } void main() { int n, j, c; c = 300; for( j=0; j1000; j++ ) { int c; scanf(“%d”, n); c = calculate(n); printf(“%d\n”, c); } } 局部变量的作用域: 从变量定义开始,到当前代码段结束。 * 变量的作用域 参数pp的作用域: 整个函数 全局变量作用域: 从变量定义处开始,一直到整个源文件结束。 不同源文件之间:extern 局部变量作用域: 从变量定义处开始,到第离它最近的左大括号所匹配的右大

文档评论(0)

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

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

1亿VIP精品文档

相关文档