- 1、本文档共13页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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 空间可以让其他变量或者中间运算过程使用,另
您可能关注的文档
- CRE_可靠性数据搜集及分析.pdf
- Creo2.0 M030 安装教程.pdf
- CRH2动车组排水及卫生系统.pdf
- Crystal Training水晶报表培训.pdf
- CRU铜矿市场展望.pdf
- cs6学习笔记.pdf
- CS8.5操作手册.pdf
- CRTS II型轨道板制造技术交流资料.pdf
- CSCD收录期刊.pdf
- csfb端到端分析与优化工作要求V6.pdf
- 2016-2017学年高中生物第二单元生态工程与生物安全第1章第2节我国的生态工程教案中图版选修3.doc
- 2022-2023学年小升初英语易错点专练06完形填空15篇(广州教科版专版含答案)2.docx
- 期中专项四年级英语下册(含答案)3.docx
- 期末卷(二)(含答案解析)-2022-2023学年高二历史期中期末复习备考必刷题(选择性必修一国家制度与社会治理).docx
- 第4课欧姆定律的应用第一讲欧姆定律实验探究(原卷版).docx
- Unit1限制性定语从句语法讲义人教版高一英语学生版213.docx
- 2023年宁波市初中毕业升学文化考试科学模拟卷(八).docx
- 5.3细胞呼吸的原理和应用课件高一上学期生物人教版必修12.pptx
- 高中政治更好发挥政府作用教学设计.docx
- 体悟民间故事中的幸福--五上《中国民间故事》导读课.docx
文档评论(0)