C语言N08 编译预处理、位运算及文件 2学时+2学时.ppt

C语言N08 编译预处理、位运算及文件 2学时+2学时.ppt

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第八章 编译预处理、位运算与文件 本章课程共4学时 其中:授课2学时,上机2学时 8.1 编译预处理 三种预编译命令 宏定义 #define #undef 文件包含 #include 条件编译 #if #else #endif 8.2 位运算 “按位与”运算符 (逻辑与 AND) 运算规则: 00=0;01=0;10=0;11=1; “按位或”运算符 | (逻辑和 OR) 运算规则: 0|0=0; 0|1=1; 1|0=1; 1|1=1; “按位异或”运算符 ^ (异或 XOR) 运算规则: 0^0=0; 0^1=1; 1^0=1; 1^1=0; “按位取反”运算符 ~ (逻辑非 NOT) 运算规则: ~0=1; ~1=0; 左移运算符 (自学) 右移运算符 (自学) 位运算赋值运算符 =, |=, =, =, ^= 仿照前面所讲的“复合赋值运算符”理解 8.3 文件 文件概念 是存储在外部介质上数据的集合 是操作系统数据管理的单位 文件分类 按文件的逻辑结构 记录文件:由具有一定结构的记录组成(定长和不定长) 流式文件:由一个个字符(字节)数据顺序组成 按存储介质 普通文件:存储介质文件(磁盘、磁带等) 设备文件:非存储介质(键盘、显示器、打印机等) 按数据的组织形式 文本文件: 每个字节存放一个字符的ASCII码 二进制文件:数据按其在内存中的存储形式原样存放 C程序对文件的操作途径 C程序对文件的操作步骤 * * 例1:不带参数的宏 #define YES 1 #define NO 0 #define PI 3.1415926 #define OUT printf(“Hello,World”); 例2:宏的展开 if(x==YES) printf(“correct!\n”); else if (x==NO) printf(“error!\n”); 展开后: if(x==1) printf(“correct!\n”); else if (x==0) printf(“error!\n”); FP177 例3:宏的作用域 #define YES 1 main() { …….. } #undef YES #define YES 0 max() {……..} YES原作用域 YES新作用域 例5:宏不可以嵌套 #define MAX MAX+10 (?) 例6:宏需要适当的括号限制 #define WIDTH 80 #define LENGTH (WIDTH+40) var=LENGTH*2; 宏展开:var= (80+40) *2; 例4:宏的展开不涉及字符串内的部分 #define PI 3.14159 printf(“2*PI=%f\n”,PI*2); 宏展开:printf(“2*PI=%f\n”,3.14159*2); 例6:宏需要适当的括号限制 #define WIDTH 80 #define LENGTH (WIDTH+40) var=LENGTH*2; 宏展开:var= (80+40) *2; 例7:不带参宏定义的重要应用—简化输入输出 #define PR printf #define NL \n #define D %D #define D1 D NL #define D2 D D NL #define D3 D D D NL #define D4 D D D D NL #define S %S main() { int a,B,C,D; char string[]=CHINA; a=1;B=2;C=3;D=4; PR(D1, a); PR(D2, a, B);  PR(D3, a, B, C); PR(D4, a, B, C, D);  PR(S, string); } /*format.h*/ #define PR printf #define NL \n #define D %D #define D1 D NL

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档