- 1、本文档共49页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
5.1标准C语言的基本语法 C语言是在70年代初问世的。1978年美国电话电报公司(ATT)贝尔实验室正式发表了C语言。同时由B.W.Kernighan和D.M.Ritchit合著了著名的《THE C PROGRAMMING LANGUAGE》,简称为《KR》,也有人称之为KR标准。但是,在《KR》中并没有定义一个完整的标准C语言,后来由美国国家标准学会在此基础上制定了一个C语言标准,于1983年发表,通常称之为ANSI C或标准C。 本节简要介绍C语言的基本知识,特别是一些和单片机编程密切相关的基本知识,未学过标准C语言的读者可以通过本节了解C语言,对于C语言很熟悉的读者,可以跳过本节。 5.1.1数据类型 C语言的数据类型有基本类型和构造类型两大类。基本数据类型如表5-1所示。 嵌入式系统学习 5.1.3 流程控制 在程序设计中主要有三种基本控制结构:顺序结构、选择结构和循环结构。 (1) 顺序结构 顺序结构就是从前向后依次执行语句。从整体上看,所有程序的基本结构都是顺序结构,中间的某个过程可以是选择结构或循环结构。 (2) 选择结构 在大多数程序中都会包含选择结构。它的作用是,根据所指定的条件是否满足,决定从给定的两组操作选择其一。在C语言中选择结构可以用两种语句来实现:if语句和switch语句。 (3) 循环结构 C语言中的循环结构常用for循环,while循环与do...while循环。 5.1.4 函数 5.1.5 指针 5.1.5 指针(2) 5.1.5 指针(3) 5.1.5 指针(4) 5.1.5 指针(5) 5.1.6 结构体 5.1.6 结构体(2) 5.1.6 结构体(3) 5.1.6 结构体(4) 5.1.7 共用体 有时需要将几种不同类型的变量存放到同一段内存单元中。嵌入式系统为了减少内存使用,内存单元不同时刻作不同的用途,即内存复用,共用体数据类型就非常适合于这种情况。例如,可把一个整型变量、一个字符型变量和一个长整型变量放在同一个地址开始的内存单元,如图5-6所示。以上3个变量在内存中占的字节数不同,但都从同一地址开始(图中设地址为$0080)存放。这种几个不同的变量共同占用同一段的结构,称为“共用体”类型结构。如右图,为共用体的内存使用。 图5-6 共用体的内存“共用” 5.1. 8 位域 有些信息在存储时,并不需要占用一个完整的字节,而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1两种状态,用一位二进位即可。为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个字节中的二进制位划分为几个不同的区域,并说明每个区域的位数。每个域有一个域名,允许在程序中按域名进行操作。这样就可以把几个不同的对象用一个字节的二进制位域来表示。 (1) 位域的定义 位域定义与结构定义相仿,其形式为: strict 位域结构名{ 位域列表 }; 位域列表格式为: 类型说明符 位域名:位域长度 例如: struct bs { int a:8; int b:2; int c:6; }b1; (2) 位域的使用 位域的使用和结构成员的使用相同,其一般形式为: 位域变量名·位域名位 例如在上面定义的位域b1可以这样调用: b1.a=1; //将b1的第0位置1 b1.b=7; //将b1的第3~5位置111 通过位域定义位变量,是实现单个位操作的重要途径和方法,采用位域定义 位变量,产生的代码紧凑、高效。 5.1.9 编译预处理 C语言提供编译预处理的功能,“编译预处理”是C编译系统的一个重要组成部分。C语言允许在程序中使用几种特殊的命令(它们不是一般的C语句)。在C编译系统对程序进行通常的编译(包括语法分析,代码生成,优化等)之前,先对程序中的这些特殊的命令进行“预处理”,然后将预处理的结果和源程序一起再进行常规的编译处理,以得到目标代码。C提供的预处理功能主要有宏定义、条件编译和文件包含。 (1) 宏定义 #define 宏名 表达式 表达式可以是数字、字符、也可以是若干条语句。在编译时,所有引用该宏 的地方,都将自
文档评论(0)