- 1、本文档共69页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
c语言程序设计第4章.
第四章 模块化程序设计 4.1 函 数 一、函数概述 一、函数概述 二、 函数的定义与声明 二、 函数的定义与声明 函数中变量的作用域:是它所在的函数(从定义该变量的行开始到函数末尾)。 输入三个整数,计算它们的和并输出运算结果。 二、 函数的定义与声明 二、 函数的定义与声明 三、 函数的调用 1. 函数调用的一般形式为: 函数名(实际参数1,实际参数2……) 或 函数名() 三、 函数的调用 3. 函数调用的具体方式 三、 函数的调用 四、函数参数 四、函数参数 四、函数参数 五、函数的返回值 2. 函数的返回值语句 return (函数返回值); 或 return 函数返回值; 功能:函数体语句执行结束后,使函数保存计算结果并带回到主调函数程序原来的位置继续执行。 五、函数的返回值 五、函数的返回值 五、函数的返回值 六、函数的嵌套调用和函数的递归调用 六、函数的嵌套调用和函数的递归调用 六、函数的嵌套调用和函数的递归调用 六、函数的嵌套调用和函数的递归调用 main() { int n; long f; scanf(“%d”,n); f= rfact(n); printf(\n n!=%ld,f); } 练 习 int age(int n) { int c; if (n==1) c=10; else c=age(n-1)+2; return c; } main() { clrscr(); printf(%d,age(5)); } 4.2 变量的存储属性 4.2 变量的存储属性 一、变量的作用域与生存期 一、变量的作用域与生存期 变量的作用域举例 变量的作用域举例 一、变量的作用域与生存期 2. 全局变量 在函数之外定义的变量是全局变量(外部变量)。 3、变量的生存期 指程序在执行期间,从给变量分配内存,至所分配内存被系统收回的那段时间。 二、C语言中变量的存储类型 1、变量的存储类别 静态存储方式:程序运行期间分配固定存储空间的方式。 动态存储方式:程序运行期间根据需要进行动态的分配存储空间的方式。 二、C语言中变量的存储类型 C语言规定: 凡是出现在静态数据区的变量,生存期都是从程序开始执行到程序结束(永久);而出现在静态区之外的变量,生存期是动态的。 在定义一个变量时,一般形式为: 存储类别 数据类型 变量名表 二、C语言中变量的存储类型 2. 全局变量的存储方式 (1)外部全局变量(外部变量) 在多个源程序文件的情况下,如果在一个文件中要引用在其它文件中定义的全局变量,则应该在需要引用此变量的文件中,用extern做声明。 静态全局变量说明: 外部变量和静态全局变量都属于静态存储变量; 外部变量可以被多个文件引用,而静态外部变量仅在定义它的文件内有效,在程序的其它文件中不可使用。 例如:file1.c file2.c static int a ; extern int a; static int a只能用于file1.c ,虽然file2.c中将同名变量 int a说明为extern,但仍无法使用file1.c 中的 a变量。 2. 外部函数 如果一个函数允许被其它文件调用,称为 外部函数。 定义格式: [extern] 类型标识符 函数名(形参表) 函数体 例如:extern int fun(int a, int b) { ······ } 或 int fun(int a, int b) { ······ } 通常不加 static 标识符的函数都是外部函数。 4.3 编译预处理 一、宏定义与宏代换 1、宏定义 #define ? 宏名 ? 宏体 分为不带参的宏定义和带参的宏定义两种格式。 通常把#define命令放在一个文件的开头,使其在本文件全部有效。 二、文件包含 文件包含的作用是将指定的文件嵌入(包含)到当前源文件中该指令处 。 三、条件编译 4.4 模块的编译与链接 #define PI 3.1415926 #define S(r) PI*r*r #define S(r) PI*r*r main( ) { float a, area; a = 3.6; area
您可能关注的文档
最近下载
- 八项规定回头看自查报告.pdf VIP
- 2012北京 第一册市政道路、桥梁工程预算定额.pdf VIP
- 华为LTC流程IPD流程ITR流程三大核心流程变革一篇文章就全明白啦V2.0!.pdf VIP
- 普洱哈尼族彝族自治县2025年数学五年级第二学期期末学业质量监测试题含答案.doc VIP
- D-ZD2010发电厂汽水管道支吊架设计手册制造图册-中国电力规划.pdf VIP
- 产科急救应急预案.docx VIP
- 关于社区卫生服务中心五年发展规划十五五发展规划2025.docx VIP
- NBT 25085-2018 核电厂常规岛焊接技术规程.pdf VIP
- 烟草代办合同范本6篇.docx VIP
- 危险废物污染防治责任制度.docx VIP
文档评论(0)