精华内容
下载资源
问答
  • 基本数据类型: 扩充数据类型:

    基本数据类型:
    在这里插入图片描述
    扩充数据类型:
    在这里插入图片描述

    展开全文
  • C51基本数据类型

    千次阅读 2019-12-19 13:42:36
    C51基本数据类型 C51基本数据类型主要是指变量类型。变量是指其值可以改变量。一个变量实质上是代表了内存中某个存储单元。程序中变量a,就是指用a命名某个存储单元,用户对变量a进行操作就是对该存储...

    C51基本数据类型

    C51中基本数据类型主要是指变量类型。变量是指其值可以改变的量。一个变量实质上是代表了内存中的某个存储单元。程序中的变量a,就是指用a命名的某个存储单元,用户对变量a进行的操作就是对该存储单元进行的操作;给变量a赋值,实质上就是把数据存人该变量所代表的内存单元中。

    变量有类型的区分,如整形变量、实型变量、字符型变量等。C语言在定义变量的同时说明该变量的类型,系统就能根据定义及其类型为它分配相应数量的存储空间。C51中变量类型与通用C语言基本相同,C51基本变量类型如表1.5.1所示。

    表1.5.1 C51基本变量类型

    数据类型

    长度

    值域

    unsigned char

    单字节

    0-255

    char

    单字节

    -128-127

    unsigned int

    双字节

    0-65535

    int

    双字节

    -32768-32767

    unsigned long

    四字节

    0-232-1

    long

    四字节

    -231-231-1

    float

    四字节

    3.4e-38-3.4e38

    *

    1-3字节

    对象的地址

    注:C51中int与short相同,float与double相同,在表中就不列出了。另外unsigned前缀表示无符号类型,无前缀表示有符号类型,即signed类型。

    每种基本变量类型介绍如下:

    (1)char类型

    即字符型变量,长度是一个字节,通常用于定义处理字符数据的变量或常量。分无符号字符类型unsigned char和有符号字符类型char,默认值为char类型。unsigned char类型用字节中所有的位来表示数值,所可以表达的数值范围是0~255。char类型用字节中最高位字节表示数据的符号,“0”表示正数,“1”表示负数,负数用补码表示。所能表示的数值范围是-128~+127。注意:这种数据类型在C51中最常见,因为51单片机是8位单片机,其内部寄存器绝大部分都是8位,故而8位字符变量与8位的字符型变量可以直接进行数据交换。

    (2)int类型

    即整型变量,长度为两个字节,用于存放一个双字节数据。分有符号整型数int和无符号整型数unsigned int,默认值为int类型。int表示的数值范围是-32768~+32767,字节中最高位表示数据的符号,“0”表示正数,“1”表示负数。unsigned int表示的数值范围是0~65535。

    (3)long类型

    即长整型变量,长度为四个字节,用于存放一个四字节数据。分有符号长整型long 和无符号长整型unsigned long,默认值为long类型。long表示的数值范围是-2147483648~+2147483647,字节中最高位表示数据的符号,“0”表示正数,“1”表示负数。unsigned long表示的数值范围是0~4294967295。

    (4)float类型

    即浮点型变量,在十进制中具有7位有效数字,是符合IEEE-754标准的单精度浮点型数据,占用四个字节。因浮点数的结构较复杂在此不做详细的讨论。另外由于double类型与float类型一样也是占用四个字节,故在此也不讨论。

    (5)*类型

    即指针类型,其本身就是一个变量,在这个变量中存放的指向另一个数据的地址。这个指针变量要占据一定的内存单元,对不同的处理器长度也不尽相同,在C51中它的长度一般为1~3个字节。

     

     

    展开全文
  • 单片机C语言C51的数据类型

    千次阅读 2020-03-31 11:06:10
    C51的数据类型分为基本数据类型和组合数据类型,情况与标准C中的数据类型基本相同,但其中char型与short型相同,float型与double型相同,另外,C51中还有专门针对于51单片机的特殊功能寄存器型和位类型。 一.字符...

     

    C51的数据类型分为基本数据类型和组合数据类型,情况与标准C中的数据类型基本相同,但其中char型与short型相同,float型与double型相同,另外,C51中还有专门针对于51单片机的特殊功能寄存器型和位类型。

    一.字符型char

    有signed char和unsigned char之分,默认为signed char。它们的长度均为一个字节,用于存放一个单字节的数据。

    对于signed char,它用于定义带符号字节数据,其字节的最高位为符号位,“0”表示正数,“1”表示负数,补码表示,所能表示的数值范围是-128~+127;

    对于unsigned char,它用于定义无符号字节数据或字符,可以存放一个字节的无符号数,其取值范围为0~255。unsigned char可以用来存放无符号数,也可以存放西文字符,一个西文字符占一个字节,在计算机内部用ASCII码存放。

    二.int整型

    分singed int和unsigned int。默认为signed int。它们的长度均为两个字节,用于存放一个双字节数据。对于signed int,用于存放两字节带符号数,补码表示,数的范畴为-32768~+32767。对于unsigned int,用于存放两字节无符号数,数的范围为0~65535。

    三.long长整型

    分singed long和unsigned long。默认为signed long。它们的长度均为四个字节,用于存放一个四字节数据。对于signed long,用于存放四字节带符号数,补码表示,数的范畴为-2147483648~+2147483647。对于unsigned long,用于存放四字节无符号数,数的范围为0~4294967295。

    四.float浮点型

    float型数据的长度为四个字节,格式符合IEEE-754标准的单精度浮点型数据,包含指数和尾数两部分,最高位为符号位,“1”表示负数,“0”表示正数,其次的8位为阶码,最后的23位为尾数的有效数位,由于尾数的整数部分隐含为“1”,所以尾数的精度为24位。

    五.* 指针型

    指针型本身就是一个变量,在这个变量中存放的指向另一个数据的地址。这个指针变量要占用一定的内存单元,对不同的处理器其长度不一样,在C51中它的长度一般为1~3个字节。

    六.特殊功能寄存器型

    这是C51扩充的数据类型,用于访问51单片机中的特殊功能寄存器数据,它分sfr和sfr16两种类型。其中:

    sfr为字节型特殊功能寄存器类型,占一个内存单元,利用它可以访问51内部的所有特殊功能寄存器;

    sfr16为双字节型特殊功能寄存器类型,占用两个字节单元,利用它可以访问51内部的所有两个字节的特殊功能寄存器。

    在C51中对特殊功能寄存器的访问必须先用sfr或sfr16进行声明。

    七.位类型

    这也是C51中扩充的数据类型,用于访问51单片机中的可寻址的位单元。在C51中,支持两种位类型:bit型和sbit型。它们在内存中都只占一个二进制位,其值可以是“1”或“0”。

    其中:用bit定义的位变量在C51编译器编译时,在不同的时候位地址是可以变化的,而用sbit定义的位变量必须与51单片机的一个可以寻址位单元或可位寻址的字节单元中的某一位联系在一起,在C51编译器编译时,其对应的位地址是不可变化的。

    KEIL C51编译器能够识别的基本数据类型:

    在C51语言程序中,有可能会出现在运算中数据类型不一致的情况。C51允许任何标准数据类型的隐式转换,隐式转换的优先级顺序如下:

    Bit→char→int→long→float→signed→unsigned

    也就是说,当char型与int型进行运算时,先自动对char型扩展为int型,然后与int型进行运算,运算结果为int型。C51除了支持隐式类型转换外,还可以通过强制类型转换符“()”对数据类型进行人为的强制转换。

    C5l编译器除了能支持以上这些基本数据类型之外,还能支持一些复杂的组合型数据类型,如数组类型、指针类型、结构类型、联合类型等这些复杂的数据类型,在后面将相继介绍。

    展开全文
  • C51的数据类型

    2017-01-08 22:36:00
    摘自百度文库 每写一个程序,总离不开数据应用,在学习 c51 ...在标准C语言中基本的数据类型为 char,int,short,long,float 和 double,而在c51编译器中int 和 short 相同,float 和 double 相同,这里就不列出...

    摘自百度文库

    每写一个程序,总离不开数据的应用,在学习 c51 语言的过程中掌握理解数据类型也是 很关键的。先看表 3-1,表中列出了 KEIL uVision2 单片机c语言编译器所支持的数据类型。在标准C语言中基本的数据类型为 char,int,short,long,float 和 double,而在c51编译器中int 和 short 相同,float 和 double 相同,这里就不列出说明了。下面来看看它们的具体定 义:

     

    数据类型

    长 度

    值 域

    unsigned char

    单字节

    0~255

    signed char

    单字节

    -128~+127

    unsigned int

    双字节

    0~65535

    signed int

    双字节

    -32768~+32767

    unsigned long

    四字节

    0~4294967295

    signed long

    四字节

    -2147483648~+2147483647

    float

    四字节

    ±1.175494E-38~±3.402823E+38

    *

    1~3 字节

    对象的地址

    bit

    0 或 1

    sfr

    单字节

    0~255

    sfr16

    双字节

    0~65535

    sbit

    0 或 1

    表 3-1 KEIL uVision2 单片机c语言编译器所支持的数据类型

    1. char 字符类型

    char 类型的长度是一个字节,通常用于定义处理字符数据的变量或常量。分无符号字 符类型 unsigned char 和有符号字符类型 signed char,默认值为 signed char 类型。 unsigned char 类型用字节中所有的位来表示数值,所能表达的数值范围是 0~255。 signed char 类型用字节中最高位字节表示数据的符号,“0”表示正数,“1”表示负数, 负数用补码表示。所能表示的数值范围是-128~+127。unsigned char 常用于处理 ASCII 字符或用于处理小于或等于 255 的整型数。

    *正数的补码与原码相同,负二进制数的补码等于它的绝对值按位取反后加 1。

    2. int 整型

    int 整型长度为两个字节,用于存放一个双字节数据。分有符号 int 整型数 signed int 和无符号整型数 unsigned int,默认值为 signed int 类型。signed int 表示的数值范 围是-32768~+32767,字节中最高位表示数据的符号,“0”表示正数,“1”表示负数。 unsigned int 表示的数值范围是 0~65535。

    先停一下来写个小程序看看 unsigned char 和 unsigned int 用于延时的不一样效果,说 明它们的长度是不一样的,学习它们的使用方法。依旧用上一篇的最小化系统做实验,不过要加多 一个电阻和 LED,如图 3-1。实验中用 D1 的点亮表明正在用 unsigned int 数值延时,用D2点亮表明正在用 unsigned char 数值延时。

    图 3-1  第3课实验用电路  把这个项目称为TwoLED,实验程序如下:

    #include //预处理命令

    void main(void) //主函数名

    {

    unsigned int a; //定义变量 a 为 unsigned int 类型

    unsigned char b; //定义变量 b 为 unsigned char 类型

    do

    { //do while 组成循环

    for (a=0; a<65535; a++)

    P1_0 = 0; //65535 次设 P1.0 口为低电平,点亮 LED P1_0 = 1; //设 P1.0 口为高电平,熄灭 LED

    for (a=0; a<30000; a++); //空循环

    for (b=0; b<255; b++)

    P1_1 = 0; //255 次设 P1.1 口为低电平,点亮 LED P1_1 = 1; //设 P1.1 口为高电平,熄灭 LED

     for (a=0; a<30000; a++); //空循环

    }

    while(1);

    }

    同样编译烧写,上电运行您就能看到结果了。很明显 D1 点亮的时间长于 D2 点亮的时间。

    这里必须要讲的是,当定义一个变量为特定的数据类型时,在程序使用该变量不应使它的值 超过数据类型的值域。如本例中的变量 b 不能赋超出 0~255 的值,如 for (b=0; b<255; b++) 改为 for (b=0; b<256; b++),编译是能通过的,但运行时就会有问题出现,就是说 b 的 值永远都是小于 256 的,所以无法跳出循环执行下一句 P1_1 = 1,从而造成死循环。同理 a 的值不应超出 0~65535。

    3. long 长整型

    long 长整型长度为四个字节,用于存放一个四字节数据。分有符号 long 长整型 signed long 和无符号长整型 unsigned long,默认值为 signed long 类型。signed int 表示 的数值范围是-2147483648~+2147483647,字节中最高位表示数据的符号,“0”表示正 数,“1”表示负数。unsigned long 表示的数值范围是 0~4294967295。

    4. float 浮点型

    float 浮点型在十进制中具有 7 位有效数字,是符合 IEEE-754 标准的单精度浮点型数 据,占用四个字节。因浮点数的结构较复杂在以后的章节中再做详细的讨论。

    5.* 指针型 指针型本身就是一个变量,在这个变量中存放的指向另一个数据的地址。这个指针变量 要占据一定的内存单元,对不一样的处理器长度也不尽相同,在 c51 中它的长度一般为 1~

    3 个字节。指针变量也具有类型,在以后的课程中有专门一课做探讨,这里就不多说了。

    6. bit 位标量

    bit 位标量是 c51 编译器的一种扩充数据类型,利用它可定义一个位标量,但不能定义位指针,也不能定义位数组。它的值是一个二进制位,不是0就是 1,类似一些高级语 言中的 Boolean 类型中的 True 和 False。

    7. sfr 特殊功能寄存器

    sfr 也是一种扩充数据类型,点用一个内存单元,值域为 0~255。利用它能访问 51 单片机内部的所有特殊功能寄存器。如用 sfr P1 = 0x90 这一句定 P1 为 P1 端口在片内 的寄存器,在后面的语句中用以用 P1 = 255(对 P1 端口的所有引脚置高电平)之类的 语句来操作特殊功能寄存器。

    8.sfr16 16 位特殊功能寄存器

    sfr16 占用两个内存单元,值域为 0~65535。sfr16 和 sfr 一样用于操作特殊功能寄存 器,所不一样的是它用于操作占两个字节的寄存器,如定时器 T0 和 T1。

    9. sbit 可录址位

    sbit 同样是单片机c语言中的一种扩充数据类型,利用它能访问芯片内部的 RAM 中的可寻址位或特殊功能寄存器中的可寻址位。如先前定义了sfr P1 = 0x90; //因 P1 端口的寄存器是可位寻址的,所以能定义sbit P1_1 = P1^1; //P1_1 为 P1 中的 P1.1 引脚

    //同样我们能用 P1.1 的地址去写,如 sbit P1_1 = 0x91; 这样在以后的程序语句中就能用 P1_1 来对 P1.1 引脚进行读写操作了。通常这些能 直接使用系统供给的预处理文件,里面已定义好各特殊功能寄存器的简单名字,直接引 用能省去一点时间,我自己是一直用的。当然您也能自己写自己的定义文件,用您认为好记的名字。 

    转载于:https://www.cnblogs.com/mountainfly/p/6263002.html

    展开全文
  • C51数据类型

    2014-03-25 17:04:00
    每写一个程序,总离不开数据应用,在学习 c51 语言...在标准C语言中基本的数据类型为 char,int,short,long,float 和 double,而在c51编译器中int 和 short 相同,float 和 double 相同,这里就不列出说明了。下面...
  • 单片机C51数据类型和存储器类型

    万次阅读 2016-09-21 23:04:14
    一、数据类型 我们51单片机使用的C语言的数据类型分为以下几种: ...图1中例出了C51所有的基本类型,可供大家参考。 二、储存器类型 我们51单片机使用的C语言的存储器类型分为以下几种:  
  • 在标准C语言中基本的数据类型,例如char、int、short、long、float与double,它们存储数据长度是有差异,而在C51编译器中,int与short是一样,float与double也是一样,我们通过表格来看看它们具体定义: ...
  • 每写一个程序,总离不开数据应用,在学习 c51 语言...在标准C语言中基本的数据类型为 char,int,short,long,float 和 double,而在c51编译器中int 和 short 相同,float 和 double 相同,这里就不列出说明了。下面...
  • 数据类型

    2018-09-12 15:45:59
    在标准C语言中基本的数据类型为char,int,short,long,float和double,而在C51编译器中int和short相同,float和double相同,这里就不列出说明了。下面来看看它们具体定义: 数据类型...
  • C51语法

    2015-08-01 11:30:19
     前面的文章中介绍了 C 语言的基本数据类型,为了更有效的处理更复杂的数据,C 语 言引入了构造类型的数据类型。构造类型就是将一批各种类型的数据放在一起形成一种特殊 类型的数据。之前讨论过的数组也算是一种...
  • 51中C语言数据类型

    2019-10-02 19:37:49
    在标准C语言中基本的数据类型为char,int,short,long,float和double,而在C51编译器中int和short相同,float和double相同。 说明: (1)类型修饰符signed和unsigned用于修饰字符型和整形。 (2)类型修饰符...
  • C51语言语法01

    2021-03-02 18:55:39
    C51 01C51基本数据类型变量优先级运算符分支控制语句C51与C语言异同比较 C51基本数据类型 C51语言允许通过使用关键字sfr、sbit或直接引用编译器提供头文件来对特殊功能寄存器(SFR)进行访问,特殊功能寄存器...
  • C51编程简介

    千次阅读 2010-01-09 10:06:00
    Keil的C51是支持51单片机最成功的C语言,它功能强大且代码效率极高,其应用最为...一、C51的数据类型 C语言的基本数据类型有char、int、short、long、float、double。对于C51来说,short和int类型相同,float和doubl
  • 前面的文章中介绍了 C 语言的基本数据类型,为了更有效的处理更复杂的数据,C 语 言引入了构造类型的数据类型。构造类型就是将一批各种类型的数据放在一起形成一种特殊 类型的数据。之前讨论过的数组也算是一种构造...
  • 2.1 C51程序的基本结构;2.2 C51编程规范及注意事项;2.2.1 注释;2.2.2 命名;...2.4.1 C51的数据类型;2.4.2 整型变量;2.4.3 浮点型变量#include <stdio.h> //头文件 void main( ) //主函数 { float a;
  • C51单片机复习资料

    千次阅读 2013-12-20 15:28:42
    C51的数据类型(基本数据类型和组合数据类型) char(unsigned char/signed char, 1个字节) int(unsigned int/signed int, 2个字节) long(unsigned long/signed long, 4个字节) float(4个字节,1符号位+8阶位+...
  • C51单片机重要知识点总结,建议收藏!

    千次阅读 多人点赞 2020-05-30 17:41:56
    文章目录00 写在前面01 C51基本数据类型总结02 C51数据类型扩充定义03 关于单片机04 单片机工作的基本时序05 单片机复位06 80C51的中断系统07 定时器08 串口通信09 C语言基础10 C51P3引脚第二功能11 结尾 ...
  • 不同编译器下基本数据长度

    千次阅读 2007-12-13 22:47:00
    KEIL uVision2 C51编译器所支持的数据类型 表中列出了KEIL uVision2 C51编译器所支持的数据类型。在标准C语言中基本的数据类型为char,int,short,long,float和double,而在C51编译器中int和short相同,float和doubl
  • 本书以Franklin C51 为基础,阐述C语言的一些基本特征和应用编程技巧,为使从未接触过C语言的读者较快掌握C51编写单片机应用程序的方法,书中通过大量程序实例来描述C语言的基本语法、运算符的作用、数据类型和变量...
  • /*-----------------------------------------------------------------*\ * @STC89C51、52单片机中数据类型和存储器类型 * * * * 基本数据类型 | 字节数 | 取值范围 * *
  • 4.1.1 C51程序的基本结构;4.1.2 标识符与关键字;4.1.3 数据类型;4.1.4 常量与变量;4.1.5 函数;4.1.6 数组与指针;4.1.6 结构体与联合体;4.1.7 类型定义;4.1.8 宏定义与条件编译;4.2 Keil C51开发工具;4.2 Keil C51...
  •   本文将利用DGUS Tool软件中基本图形显示控件】来绘制平面2D形状,比如点,线条,矩形等形状,不过这里有一点需要注意一下,那就是一个【基本图形显示控件】只能绘制一种类型的形状,比如说线条和矩形这俩种...
  • 蓝桥杯单片机组客观题准备-IAP15基础理论练习

    千次阅读 多人点赞 2020-11-01 12:05:43
    3.Double不是C51的基本数据类型. 4.当由MCS-51单片机构成的系统正常工作后,在RST引脚上附加一个 高 电平,并至少维持 2 个机器周期可令系统复位,复位后各IO口为 高 电平。 5.当MCS-51访问片外的存储器时,
  • C51语言基本语法与标准C相同,是在标准C基础上进行适合8051内核单片机硬件扩展。C51语言与标准C语言一些差别如下:(1)...在C51中增加几种8051单片机的数据类型,在标准C基础上又扩展了4种类型。例如,805...
  • 8051单片机C语言程序设计

    千次阅读 2020-10-16 15:41:50
    1. 位类型(bit):1)是C51的扩充数据类型,用于访问8051中可寻址的位单元。 2)8051支持两种位类型:bit型和sbit类型,它们在内存中都只占一个二进制位,其值可以是1或0。 3)用bit定义的位变量在C51编译器编译时,...
  • 第10章 80C51的C语言程序设计单片机C语言概述10.1C51的数据类型与运算10.210.3C51流程控制语句C51的指针类型10.410.5C51的函数10.6C51编程实例10.1 单片机C语言概述 C语言具有良好的可读性可移植性和基本的硬件操作...
  • STC89C52结构体

    2021-01-31 22:01:26
    C51程序设计有时需要将一批基本类型的数据放在一起使用,从而引入了所谓构造类型数据,前面学习的数据就是一种构造类型的数据,一个数组实际上是一批顺序存放相同类型数据。结构体也是一种结构类型数据。 结构体 ...
  • 写了一个冒泡排序,在vc等编译器下没问题,在keilC51上就疯狂报错 除了少括号等基础原因外,还有一个可能是 和C51的关键词重名了 比如我使用的这个data,是 而我定义了一个名为data的数组,导致如下一堆...基本数据类型
  • 3.2.3 数据采集卡的类型 65 3.2.4 数据采集卡性能指标 66 3.3 多功能板卡安装 69 3.3.1 pci-1710hg多功能板卡介绍 69 3.3.2 用pci-1710hg多功能板卡组成测控系统 69 3.3.3 pci-1710hg板卡设备...

空空如也

空空如也

1 2 3 4
收藏数 63
精华内容 25
关键字:

c51的基本数据类型