《C语言宝典》学习笔记(三):数据类型

1       数据类型

Turbo C有以下几种类型: 整型(int)、浮点型(float)、字符型(char)、指针型(*)、无值型 (void)以及结构(struct)和联合(union)

1.1    整型(int)

   加上不同的修饰符, 整型数有以下几种类型;
    signed short int    
有符号短整型数说明。简写为shortint, 字长为
2
                        
字节共16位二进制数, 数的范围是-32768~32767

    signed long int     
有符号长整型数说明。简写为long, 字长为4字节共

                         32
位二进制数, 数的范围是-2147483648~2147483647

    unsigned short int  
无符号短整型数说明。简写为unsigned int,  字长

                        
2字节共16位二进制数, 数的范围是0~65535

    unsigned long int   
无符号长整型数说明。简写为unsigned long, 字长

                        
4字节共32位二进制数, 数的范围是0~4294967295

按不同的进制区分, 整型常数有三种表示方法:
   
十进制数以非0开始的数

              
:220, -560, 45900
   
八进制数0开始的数
              
:06; 0106, 05788
    十六进制数:0X0x开始的数
              
:0X0D, 0XFF, 0x4e
   
另外, 可在整型常数后添加一个"L""l"字母表示该数为长整型数, 22L , 0773L , 0Xae 4l

1.2    浮点型(float)  

Turbo C中有以下两种类型的浮点数:
    float     
单浮点数。字长为4 个字节共32 位二进制数,   数的范围是

               3.4x10-38E~3.4x10+38E

    double    
双浮点数。字长为 8个字节共 64 位二进制数数的范围是

               1.7x10-308E~1.7x10+308E

   
说明
:
   
浮点数均为有符号浮点数, 没有无符号浮点数。

 例如:  +29.56, -56.33, -6.8e-18, 6.365
   
说明
:
    1.
浮点常数只有一种进制(十进制)

    2.
所有浮点常数都被默认为double

    3.
绝对值小于1的浮点数, 其小数点前面的零可以省略。如:0.22可写为.22, -0.0015E-3可写为-.0015E-3
    4. Turbo C
默认格式输出浮点数时, 最多只保留小数点后六位。

1.3    字符型(char)

加上不同的修饰符, 可以定义有符号和无符号两种类型的字符型变量, 例如:
    char a:              /*a
被定义为有符号字符变量
*/
    unsigned char l;     /*l
被定义为无符号字符变量
*/
   
字符在计算机中以其ASCII码方式表示, 其长度为1个字节, 有符号字符型数取值范围为-128~127, 无符号字符型数到值范围是0~255。因此在Turbo C语言中,字符型数据在操作时将按整型数处理, 如果某个变量定义成char, 则表明该变量是有符号的, 即它将转换成有符号的整型数。

Turbo C中规定对ASCII码值大于0x80的字符将被认为是负数。例如ASCII 值为0x 8c 的字符, 定义成char,   被转换成十六进制的整数0xff 8c 。 这是因当ASCII码值大于0x80, 该字节的最高位为1, 计算机会认为该数为负数,   对于0x 8c 表示的数实际上是-74( 8c 的各位取反再加1), -74 转换成两字节整型数并在计算机中表示时就是0xff 8c (  0074 各位取反再加1)    因此只有定义为unsigned char 0x 8c 转换成整型数时才是 8c 。这一点在处理大于0x80ASCII码字符时(例如汉字码)要特别注意。一般汉字均定义为unsigned char(在以后的程序中会经常碰到)
   
另外, 也可以定义一个字符型数组(关于数组后面再作详细介绍), 此时该数组表示一个字符串。

   
例如
:
        char str[10];
   
计算机在编译时, 将留出连续10个字符的空间, str[0]str[9]10个变量, 但只有前9个供用户使用。第10str[9]用来存放字符串终止符NULL"/0",但终止符是编编译程序自动加上的, 这一点应特别注意。

 

Turbo C2.0中有些常用的字符用以下特殊规定来表示:
         
规定符            等价于           含义

          '/f'               '/X 0C '         
换页

          '/r'               '/X0D'         
回车

          '/t'               '/X09'         
制表键

          '/n'               '/X 0A '         
换行

          '//'               '/X 5C '          /

          '/''               '/X27'          '

          '/"'               '/X22'          "

1.4    无值型(void)

    无值型字节长度为0, 主要有两个用途一是明确地表示一个函数不返回任何值; 一是产生一个同一类型指针(可根据需要动态分配给其内存)

    例如:
             void *buffer;    /*buffer
被定义为无值型指针*/

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值