您当前的位置:五五电子网电子知识电子学习基础知识电脑-单片机-自动控制C语言的数据类型 正文
C语言的数据类型

C语言的数据类型

点击数:7100 次   录入时间:03-04 11:41:32   整理:http://www.55dianzi.com   电脑-单片机-自动控制

  数据是计算机处理的对象,计算机要处理的一切内容最终要以数据的形式表现。因此,任何一个程序,都离不开数据的应用,而且这些数据在计算机内部进行处理、存储时往往有着很大的区别。汇编语言中,数据处理的取值范围和存放的空间由编程者掌握,而C语言中由编译软件来处理,因而要把不同的数据分成类型以提高单片机的效率。所以在学习C语言的过程中,掌握、理解数据类型是很关键的。程序设计中的数据有着很多种不同的含义,并且以不同的形式表现出来,因而在程序中用到的所有数据都必须为其指定类型。
  
  我们先看一下KEI[一C51编译器所支持的数据类型。在C语言中根据数据所占用的存储空间的大小分为char、inl、long和float等基本的数据类型,再根据数据是否带正负号分为sigrLED和unsigned两种。存储空间大小的差别以及无符号、有符号的差别都会使数的取值范围不一样。下面来看看它们的具体定义。
  
  char字符类型的数据的长度是一个字节。
  
  signedchar类型用字节中最高位字节表示数据的符号,“O”表示正数。“1”表示负数,负数用补码表示,所能表示的数值范围是-128~+127,,un-signedchar类型用字节中所有的位来表示数值,所以可以表达的数值范围是O~2550因为在C语言中,字符也是以数值来存储的,所以unsignedchar常用于处理字符的ASCII码值或用于处理不大于255的整数。

  int整型数据的长度为两个字节。
  
  sigrledjnt表示的数值范围是-32768一+32767,字节中最高位表示数据的符号,“0”表示正数,“1”
  
  表示负数。unsignedint表示的数值范围是O~65535,,Iong长整型数据长度为四个字节,signedint表示的数值范围是-2147483648~+2147483647;unsigrledIong表示的数值范围是0~4294967295。
  
  float浮点型数据长度也是四个字节,表示的数值范围是:
  
  +1.175494E-38~十3.402823E+38

  在定义一个变量为特定的数据类型后,当程序中使用该变量时不能使它的值超过数据类型的取值范围,否则编译是可以通过的,但运行时就会造成死循环。但是如果把8位的数据定义成16位的类型,而80C51是8位机,一次只能处理8位,要分次处理,因此工作时间就变长了。同时CP[j在处理有符号的数据时,要对符号进行判断和处理。运算的速度也会减慢。可见程序中只要改变数据类型就会得到不同的结果。对工业控制中的单片机而言,速度比不上PC机,又工作于实时状态,任何提高效率的手段都要考虑。

  以上都是运算中用到的数据类型,C51编译器还扩充了一些数据类型,比如:bit位标量,用于处理一位二进制数。取值不是0就是1。
  
  Sfr定义的数据有一个字节,值域为0~255,用于访问单片机内部所有的特殊功能寄存器。sfrl6类型的数据有两个字节。值域为O~65535。用于操作占两个字节的寄存器。Sbit用于访问芯片内部RAM中的可寻址位包括特殊功能寄存器中的可寻址位。




本文关键字:C语言  电脑-单片机-自动控制电子学习 - 基础知识 - 电脑-单片机-自动控制