- 1、本文档共64页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第2章 单片机的C语言程序设计及仿真调试 本章节主要内容 2.1 C51程序设计中的常用功能及应注意的 问题 2.1.1 C51程序设计中的常用典型功能 2.1.2 C51程序编写中应注意的问题 2.1.1 C51程序设计中的常用典型功能—C语言功能 1、逻辑运算和位运算 逻辑运算符 与运算符()表示两个条件同时满足时(即两个条件都为真时),返回结果才为真 或运算符(||)用于检查两个条件中是否有一个为真的运算符,只要有一个条件为真,运算结果就为真 逻辑非运算符(!)表示对表达式的真值取反 关系运算符和逻辑运算符的优先级一般都低于算术运算符 C51程序设计中的常用典型功能— C语言功能 1、逻辑运算和位运算 位运算符 按位“与”运算():双目运算符。其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位均为1时,结果位才为1,否则为0 按位“或”运算(|):双目运算符。其功能是参与运算的两数各对应的二进位相或。只要对应的两个二进位有一个为1时,结果位就为1 按位“异或”运算(^):双目运算符。其功能是参与运算的两数各对应的二进位相异或。当两个对应的二进位相异时,结果为1 求反运算(~):单目运算符,具有右结合性。其功能是对参与运算的数的各二进位按位求反 左移运算():双目运算符。其功能把“”左边的运算数的各二进位全部左移若干位,由“”右边的数指定移动的位数,高位丢弃,低位补0 右移运算():双目运算符。其功能是把“”左边的运算数的各二进位全部右移若干位,“”右边的数指定移动的位数 对于有符号数,在右移时,符号位将随同移动。当为正数时,最高位补0,而为负数时,符号位为1,最高位是补0或是补1 取决于编译系统的规定 C51程序设计中的常用典型功能— C语言功能 2、预处理:以“#”号开头的命令是预处理命令 宏定义(define) :在C语言源程序中允许用一个标识符来表示一个字符串,称为宏。被定义为宏的标识符称为宏名。在编译预处理时,对程序中所有出现的宏名,都用宏定义中的字符串去代换,这称为宏代换或宏展开。宏代换是由预处理程序自动完成的。 无参宏定义 #define 标识符 字符串;标识符为所定义的宏名,字符串可以是常数、表达式、格式串等 带参宏定义 #define 宏名(形参表) 字符串; 例如:#define MAX(a,b) (ab)?a:b //取a和b的最大数 C51程序设计中的常用典型功能— C语言功能 2、预处理 文件包含(include):#include “文件名” 包含命令中的文件名可以用双引号括起来,也可以用尖括号括起来。例如: #include stdio.h #include math.h 二者的区别:使用尖括号表示在包含文件目录中去查找(包含目录由用户在开发环境中设置),而不在源文件目录去查找;使用双引号则表示首先在当前的源文件目录中查找,若未找到才到包含目录中去查找。 C51程序设计中的常用典型功能— C语言功能 2、预处理 条件编译:条件编译就是按不同的条件去编译不同的程序部分,从而产生不同的目标代码文件。条件编译对于程序的移植和调试(可以分段调试)非常有用。特别是在操作系统的裁减中,经常使用条件编译 #ifdef 标识符 程序段1 #else 程序段2 #endif C51程序设计中的常用典型功能— C语言功能 2、预处理 条件编译 #ifndef 标识符 程序段1 #else 程序段2 #endif #if 常量表达式 程序段1 #else 程序段2 #endif 2.1 C51程序设计中的常用功能及应注意的 问题 2.1.1 C51程序设计中的常用典型功能 2.1.2 C51程序编写中应注意的问题 2.1.2 C51程序编写中应注意的问题 基本要求 程序结构清析,简单易懂 目标明确,直接了当,代码精简,避免垃圾程序 尽量使用标准库函数和公共函数 对于拿不准的运算顺序,应该根据实际编程需要使用括号来避免运算顺序的二义性 注意程序的书写格式 在各个层次的程序模块中,利用缩进(使用键盘的Tab键)来显示程序的逻辑结构 对于自增1和自减1运算符,当它们出在较复杂的表达式或语句中时,常常难于弄清,因此应仔细分析。由于它们在变量前后的含义不同(例如i++和++i的含义就不同),只使用自增1和自减1运算符在变量后面的情况,否则分析时容易搞混 在适当的地方做注释 每个函数,
您可能关注的文档
最近下载
- 2023年上海金山资本管理集团有限公司人员招聘考试参考题库及答案解析.docx
- 2025年农产品食品检验员(中级)考试题库及答案.pdf VIP
- 数智化赋能高校“一站式”学生社区建设.docx VIP
- 上海铁路局真题.docx VIP
- 上海铁路局社招笔试题库.pdf
- 2022年上海铁路局集团招聘考试真题及答案.docx
- 2025年江西工业职业技术学院单招综合素质考试试题及答案解析优质 2025.pdf VIP
- 三菱变频器FR-E820 FR-E840 FR-E860功能说明书.pdf
- 2024年农产品食品检验员(三级)职业鉴定理论考试题库-上(单选题汇总).docx VIP
- 医疗废物集中焚烧处置工程建设技术要求.doc
文档评论(0)