- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
函数(续)
函数(续) 声明、局部、全局 变量必须先声明,后使用(在声明之后使用) C语言程序的函数的并列结构,使得变量的声明不是在函数的内部就是在函数的外部。 具体讲,变量可以在程序文件的四个地方: 在一个函数的函数体内部; 在一个函数内的复合语句中; 在函数的参数部分出现; 在所有函数的外部; 前三种情况称为局部变量,后一种称为全局变量 局部变量 局部变量是相对的。 for(int I=0; I10;I++) { } 其中 I 也属于局部变量。只在循环语句中起作用,此时所属的函数中的其它变量,又成为相对全局。 任何局部变量只作用于声明它的局部。当超出其范围时,变量没有任何意义。 在不同的局部可以有相同名字的变量,但表示不同变量,互不干扰。 C 语言的存储区及其意义 外部变量 外部变量说明: extern 数据类型 变量表; 若外部变量与局部变量同名,则外部变量被屏蔽 主要用于多文件表示源程序的情况 作用域同全局变 变量的定义性声明与引用性声明 凡是带有 extern 的声明均称为引用性声明,不带有extern 的声明为定义性声明; 引用性声明只表示,使用定义性声明所定义的变量,不是在单独申请变量。 引用性声明通常引用全局定义性声明; 定义一次,可以引用多次 内部函数 只能由同一个文件内的函数使用的函数称为内部函数。内部函数前可以加上静态存储类型,以防止其它文件的函数使用,这样,也可以避免不同文件的相同函数名出现混乱: static 类型标识符 函数名(形参) 外部函数 可以为外部文件使用(同一个程序); 在使用的文件中,用 extern 说明函数 在定义函数本身时,不必加上 extern 任何定义的函数只要没有加static存储类型符,都隐含为 extern 类型。 例子见p183 预编译简介 预处理命令是ANSI C 规定的,用于改进程序设计环境、提高程序设计效率,不属于C 本身的一部分。 由于预处理命令不是 C语言的一部分,因此,编译器将不对其处理。但在编译之前,预处理程序将处理这些命令。 C 语言有三类预处理: 宏定义 文件包含 条件编译 条件编译(一般了解) 指定编译的条件,对满足条件的进行编译。 三种格式: #Ifdef ~ [#else ~] #endif #ifndef ~ [#else ~] #endif #if ~ [#else ~] endif 例子见 p197-199. 作业与上机 P 186 T8.14 P200 T9.5, T9.8 上机,(用函数实现): (要检查) 输入 n 个学生的2门课成绩和学号,按从高到低输出每个学生的学号,名次和总成绩(并列情况的名次相同)。 带参宏 函数 处理过程 不分配内存 简单的字符置换 分配内存 先求实参值,再代入形参 处理时间 编译时 程序运行时 参数类型 无类型问题 定义实参,形参类型 程序长度 变长 不变 运行速度 不占额外运行时间 调用和返回另占时间 带参的宏与函数区别 文件包含 功能:一个源文件可将另一个源文件的内容全部包含进来 一般形式: #include “文件名” 或 #include 文件名 直接按标准目录搜索 “” 先在当前目录搜索,再搜索标准目录 可指定路径 文件包含的处理过程:预编译时,用被包含文件的内容取代该预处理命令,再对“包含”后的文件作一个源文件编译 file1.c #include “file2.c” file1.c A file2.c B B A 结果文件 被包含文件内容 源文件(*.c) 头文件(*.h) 宏定义 数据结构定义 函数说明等 file1.c A file3.c file2.c #include “file2.c” file1.c A file3.c C #include “file3.c” file2.c B 文件包含举例 /* powers.h */ #define sqr(x) ((x)*(x)) #define cube(x) ((x)*(x)*(x)) #define quad(x) ((x)*(x)*(x)*(x)) /*ch8_10.c*/ #include stdio.h #include d:\fengyi\bkc\powers.h #define MAX_POWER 10 void main() { int n; printf(number\t exp2\t exp3\t exp4\n); printf(----\t----\t-----\t------\n); for(n=1;n=MAX_POWER;n++) printf(%2d\t %3d\t
您可能关注的文档
最近下载
- 初中综合实践活动教学设计 种植花生.docx VIP
- 医疗废物分类管理.pptx VIP
- 塔吊信号工试题及答案.docx VIP
- 2025《某大学10KV变电所供配电系统电气设计报告》19000字.docx VIP
- DZT 0295-2016 土地质量地球化学评价规范.pdf VIP
- 运输过程中出现损坏的处理措施.doc VIP
- 《铁血丹心》完美演奏版简谱钢琴谱 简谱双手数字完整版原版.pdf VIP
- 2025年高中数学_数列通项公式的求法教学设计学情分析教材分析课后反思.pdf VIP
- 海南省公安厅辅警真题.pdf
- 新人教版高中数学必修第一册第四章指数函数与对数函数全套PPT课件教案讲义.pptx
文档评论(0)