C语言程序的设计第4章节函数与编译预处理.pptVIP

C语言程序的设计第4章节函数与编译预处理.ppt

  1. 1、本文档共43页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言程序的设计第4章节函数与编译预处理

北京科技大学 计算机系 第4章 函数与编译预处理 第4章 函数与编译预处理 4.1 函数概述 【例】 #include stdio.h void print_line() /*函数定义*/ { printf(*********************************\n);} void print_text() /*函数定义*/ { printf( Welcome to Beijing \n);} void main() {print_line(); /*函数调用*/ print_text(); /*函数调用*/ print_line(); /*函数调用*/ } ⑷ 函数的种类 由C编译系统定义的一种函数,存放在系统函数库中,用户可以根据需要随时调用 常用函数 如:fabs、sqrt、sin、pow、rand (常用数学函数参见教材P100 表4-1和附录B ) 函数调用形式: 函数名([参数表]) 例如: sqrt(x) 例 #include math.h #include stdio.h void main( ) { float x=4.5; printf (%f, %f, %f\n ,sqrt(x),pow(x,2),fabs(-x)); } 4.2.1 函数的定义 #includestdio.h int cube(int y); /*函数原型声明*/ void main() { int x,last,nowcb; last=1; printf(1~5之间,相邻两数的立方差是:\n); for(x=2;x=5;x++) { nowcb=cube(x); /* 函数调用 */ printf(%d ,nowcb-last); last=nowcb; } printf(\n); } 4.2.3 函数参数传递与返回值 有关形参和实参的说明: 函数的返回值是通过return语句带回到主调函数的 功能:终止函数的运行,返回主调函数,若有返回值,将返回值带回主调函数。 【例】计算并输出圆的面积。 #include stdio.h s(int r) { return 3.14*r*r;} void main( ) { int r; scanf(%d,r); printf(%d\n,s(r)); } 【例4-8】编写函数实现两组变量的显示 #include stdio.h int ArrayOperating(int i,char ch) {int a1=1,a2=0,a3=3,a4=5; int b1=2,b2=0,b3=4,b4=3; switch(i) { case 1: switch(ch) {case a: return a1; case b: return b1; } case 2: …… case 3: …… case 4:…… } } 4.2.4 函数的嵌套调用 【例】函数的嵌套调用 对被调函数进行声明的一般形式 函数类型 函数名(参数类型1 参数名1,…); 或 函数类型 函数名(参数类型1,参数类型2,…); 【例4-12】计算并输出两个数的和、差、积、商。 4.3 局部变量和全局变量 void sub(int a,int b) { int c; a=a+b; b=b+a; c=b-a; printf(sub:\ta=%d b= %d c= %d\n,a,b,c); } 4.3.2 全局作用域和全局变量 int a = 5; void f(int x, int y) { int b,c; b=a+x; c=a-y; printf(%d\t%d\t%d\n,a,b,c); } 4.4 变量的生存期和存储类别 4.4.2 变量的存储类别 变量定义语句的一般形式 ⑴ 内存分配 调用函数或执行分程序时在动态存储区为其分配存储单元,函数或分程序执行结束,所占内存空间即刻释放。 ⑵ 变量的初值 定义变量时若没赋初值,变量的初值不确定;如果赋初值则每次函数被调用时执行一次赋值操作。 ⑶ 生存期 在函数或分程序执行期间。 ⑷ 作用域 自动变量所在的函数内或分程序内。 2.静态变量(static类别) 除形参外,局部变量和全局变量都可

文档评论(0)

jdy261842 + 关注
实名认证
文档贡献者

分享好文档!

1亿VIP精品文档

相关文档