- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第7章 变量的存储类型(2015-2016第的一学期)
7.8.3 条件编译—#if、#ifdef、#ifndef 按不同的条件去编译不同的程序部分,产生不同的目标代码文件。 三种形式: #ifdef 标识符 程序段1 [#else 程序段2] #endif #ifndef 标识符 程序段1 [#else 程序段2] #endif #if 常量表达式 程序段1 [#else 程序段2] #endif 预处理程序遇到#ifdef命令时,判定标识符是否被定义过,如果是,则编译程序段1,否则编译程序段2。同样#else部分也可以省略. 如果标识符未被定义,则编译程序段1,否则编译程序段2,这种形式与前一种形式的作用刚好相反。 当指定的常数表达式为真时就编译程序段1,否则就编译程序段2。 条件编译举例 #define DEBUG #ifdef DEBUG printf(“x=%d, y=%d\n”,x,y); #endif 小结 预处理功能是C语言特有的功能,它是在对源程序正式编译前由预处理程序完成的。程序员在程序中用预处理命令来调用这些功能。 宏定义是用一个标识符来表示一个字符串,这个字符串可以是常量、变量或表达式。在宏调用中将用该字符串代换宏名。 宏定义可以带有参数,宏调用时是以实参代换形参。而不是“值传送”。为了避免宏代换时发生错误,宏定义中的字符串应加括号,字符串中出现的形式参数两边也应加括号。 文件包含是预处理的一个重要功能,它可用来把多个源文件连接成一个源文件进行编译,结果将生成一个目标文件。 条件编译允许只编译源程序中满足条件的程序段,使生成的目标程序较短,从而减少了内存的开销并提高了程序的效率。 使用预处理功能便于程序的修改、阅读、移植和调试,也便于实现模块化程序设计。 1.文件的打开 fopen() 文件的打开操作表示将给用户指定的文件在内存分配一个FILE结构区,并将该结构的指针返回给用户程序,以后用户程序就可用此FILE指针来实现对指定文件的存取操作了。 fopen(char *filename,char *type); 其中*filename是要打开文件的文件名指针,一般用双引号括起来的文件名表示,也可使用双反斜杠隔开的路径名。而*type参数表示了对打开文件的操作方式。当用fopen()成功的打开一个文件时,该函数将返回一个FILE指针,如果文件打开失败,将返回一个NULL指针。如想打开test文件,进行写: FILE?*fp;?? if((fp=fopen(test,w))==NULL)?{?? ????printf(File?cannot?be?opened/n);?? ????exit();?? }?? else?? ????printf(File?opened?for?writing/n);?? ……?? fclose(fp);??? if(fclose(fp)!=0)?{?? ????printf(File?cannot?be?closed/n);??? ????exit(1);??? }??? else?? ????printf(File?is?now?closed/n);??? 变量的属性 数据类型:变量所持有的数据的性质(操作属性) 存储属性: 存储类型:寄存器、静态存储区、动态存储区 生存期:变量在某一时刻存在——静态变量与动态变量 作用域:变量在某区域内有效——局部变量与全局变量 变量定义格式:[存储类型] 数据类型 变量表; 例: int sum; extern int a,b,c; register int i; static float x,y; 第7章 变量的存储类型 7.1.2 变量的作用域 变量的作用域:变量有效的范围。 C语言中所有的变量都有自己的作用域。 变量说明的方式不同,其作用域也不同。 C语言的变量,按作用域范围可分为两种:局部变量和全局变量。 7.1.3 变量的存储类型 程序区 静态存储区 动态存储区 全局变量、局部静态变量 形参变量 局部动态变量(auto register) 函数调用现场保护和返回地址等 内存用户区 寄存器是CPU的内存单元,与CPU离得近,,所以CPU在运算时都会用寄存器做中转站。 存储器是CPU外部的存储器,分为ROM和RAM。 内存中供用户使用的存储空间分为代码区与数据区两个部分。变量存储在数据区,数据区又可分为静态存储区与动态存储区。 静态存储是指在程序运行期间给变量分配固定存储空间的方式。如全局变量存放在静态存储区中,程序运行时分配空间,程序运行完释放。 动态存储是指在程序运行时根据实际
您可能关注的文档
最近下载
- SCADA(电力监控)系统介绍.pptx VIP
- 2025年机关事业单位工人汽车驾驶员高级、技师国家题库练习题(附答案).docx VIP
- 班级生活有规则教学设计.doc VIP
- CMF中国宏观经济分析与预测报告(2025年中期) 稳舵远航的中国宏观经济.docx
- QGDW 11399-2015 架空输电线路无人机巡检作业安全工作规程.docx VIP
- 中国药物性肝损伤诊治指南2023版解读.pptx VIP
- 施工测量专项施方案.doc VIP
- 2024年春季四川凉山州普格县一村一幼辅导员招聘74人笔试备考题库及答案解析.docx VIP
- 防爆电气安装规范及验收标准制定.docx VIP
- 市政集团笔试题库及答案.pdf
文档评论(0)