C语言基础及流水灯的实现.pdf

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言基础及流水灯的实现

C 语言基础及流水灯的实现 学习单片机必备:吴鉴鹰单片机开发板 二进制、十进制和十六进制 这里先简单介绍一些注意事项,然后还是从实验中讲解会比较深刻。 1、十进制就不多说了,逢十进位,一个位有十个值:0~9,我们的生活中到处都是它 的身影。二进制就是逢二进位,它的一个位只有两个值:0和1,但它却是实现计算机系统 的最基本的理论基础,计算机 (包括单片机)芯片是基于成万上亿个的开关管组合而成的, 他们每一个都只能有开和关两种状态,再难找出第三个状态了(不要辩解半开半关这个状态, 它是不稳定态,是极力避免的),所以他们只能对应于二进制的1和0两个值,而没有2、 3、4……,理解二进制对于理解计算机的本质很有帮助。书写二进制数据时需加前缀0b,每 一位的值只能是0或1。十六进制就是把4个二进制位组合为一位来表示,于是它的每一位 有0b0000~0b1111共16个值,用0~9再加上A~F (或a~f)表示,那么它自然就是 逢十六进位了,它本质上同二进制是一样的,是二进制的一种缩写形式,也是我们程序编写 中常用的形式。书写十六进制数据时需加前缀0x,下表是三种进制之间的对应关系。 表8-1 进制转换 十进制 二进制 十六进制 0 0b0 0x00 1 0b1 0x01 2 0b10 0x02 3 0b11 0x03 4 0b100 0x04 5 0b101 0x05 6 0b110 0x06 7 0b111 0x07 8 0b1000 0x08 9 0b1001 0x09 10 0b1010 0x0A 11 0b1011 0x0B 12 0b1100 0x0C 13 0b1101 0x0D 14 0b1110 0x0E 15 0b1111 0x0F 16 0b10000 0x10 17 0b10001 0x11 18 0b10010 0x12 …… …… …… 2、对于二进制来说,8位二进制我们称之为一个字节,二进制的表达范围值是从 00而我们程序中用十六进制表示的时候就是从0x00 到0xFF, 这里教大家一个二进制转换十进制和十六进制的方法,二进制 4位一组,遵循8,4,2,1 的 规律比如 1010,那么从最高位开始算,数字大小是8*1+4*0+2*1+1*0 10,那么十 进制就是10,十六进制就是0xA。尤其二进制转十六进制的时候,十六进制一位刚好是和 二进制的4位相互对应的,这些大家不需要强行记忆,用几次就熟练了。 3、对于进制来说,只是数据的表现形式,而数据的大小不会因为进制表现形式不同而 不同,比如二进制的0b1、十进制的1、十六进制的0x01,他们本质上数值大小相等的同 一个数据。我们在进行C 语言编程的时候,我们只写十进制和十六进制,那么不带0x 的就 是十进制,带了0x 符号的就是十六进制。 8.2C 语言变量类型和范围 什么是变量?变量自然和常量是相对的。常量比如是1、2、3等固定的数字, 而变量,和我们小学学的x 是一个概念,我们可以让它是1,也可以让它是2,我们想让它 是几是我们程序说了算的。 那么我们小学学的数学里边,有这么几类,正数、负数、整数和小数。在C 语言里, 名字和我们数学里学的不一样外,还对数据大小进行了限制。这个地方有一点复杂的是,在 C51 里边的数据范围和其他编程环境还不完全一样,因此我们下边的这个图,仅仅代表的是 C51,其他编程环境可能不一样,大家知道有这回事就可以了。 C 语言的数据基本类型分为整型、字符型以及浮点型,如图8-1 图8-1 C 语言数据类型 图8-1 中,三种基本类型,每个基本类型又包含了两个类型。其中字符型和整型,除 了有一定的数据大小范围之外,只能表达整数。而unsigned 型的又只能表达正数,要表 达负数必须用signed 型,表达小数,必须用浮点型。 比如上节课最后给的闪烁小灯的程序,我们用的是unsigned int i 0;这个地方 i 的范围就是0~65535,我们for语句的写法,如果那个30000 改成70000 的话, for (i 0;i70000;i++);大家会发现小灯会一直亮,而不是闪烁了,那理解这个问题, 当然我们要来了解for 语句的用法了。 这里有一个编程宗旨,就是能用小不用大。就是说定义能用1个字题的,就不定义成 int,一方面节省RAM 空间可以让其他变量或者中间运算过程使用,另

文档评论(0)

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

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

1亿VIP精品文档

相关文档