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

计算机程序设计;提纲;6.1 引言;;;;#includestdio.h #includemath.h #define PI 3.14159 //用户自定义函数area,用以求圆面积 double area(double x) { double y=0; y=PI*x; return(y); } int main() { double r,a; printf(“Input:r=?\n”); scanf(“%lf”,r); r=pow(r,2.0); //调用math.h中声明的函数 a=area(r); //调用用户自定义函数 printf(“The area is %lf\n”, area); return(0); };;6.2 函数定义(definition);相关说明;;;特例:main()函数;6.2 函数原型声明(declaration);;// 计算圆面积的程序 #includestdio.h #includemath.h #define PI 3.14159 int main() { double area(double x); //用户自定义函数声明 double r,a; printf(“Input:r=?\n”); scanf(“%lf”,r); r=pow(r,2.0); a=area(r); //调用用户自定义函数 printf(“The area is %lf\n”, area); return(0); } //用户自定义函数area,用以求圆面积 double area(double x) { double y=0; y=PI*x; return(y); };;6.3 函数调用;;;函数的调用方式;;关注参数的求值顺序;函数调用中的数值参数传递;值拷贝传递机制;传值方式调用过程;传值方式调用示例;传址方式调用过程;传地址方式调用(改P176例6.5);函数的返回值;;嵌套调用;6.5 变量存储空间;回顾:存储;;;;6.5 变量存储空间;;局部变量和全局变量;;;动态存储和静态存储;;;6.4 函数的递归调用;6.6 内部函数和外部函数;内部、外部,全局、局部都是所谓的作用域说明 内部变量可以和外部变量重名,注意作用域的变化 #includestdio.h int a; void test1() { int a=2;printf(“test1_a=%d”,a); } void main() { printf(“global_a=%d,”,a); test1(); } //输出结果:global_a=0,test1_a=2 函数只有内部、外部之分,static表示内部而非静态 变量则有全局、局部之分,其中局部变量又有静态、动态之分;局部变量举例;全局变量举例;非静态外部变量举例 (1);非静态外部变量举例 (2);用static声明外部变量;;6.7 实例研究;回顾前面章节略过的内容;表达式;P123 5.2.4 一维数组作为函数参数;;P141 5.4.5 二维数组作为函数参数;;;2.用列地址作为二维数组起始地址的形式作实际参数:有用但不常用,较难理解(例C5-5.4.5.c) 指传递的参数是“地址计算单位为列”的地址 为控制数组不越界,往往需要同时传递二维数组的行数和列数 P156 矩阵处理应用,采用宏定义行列大小回避了此问题 深入理解,需要掌握指针的概念;;P145 5.5.2 排序算法应用;;;P151 5.5.3 查找算法应用;;本章重点

文档评论(0)

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

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

1亿VIP精品文档

相关文档