C语言数据类型总结

1、  整型

 

           Long long    long     int       short             整数范围(十进制)

  16位机     64            32      16        16                  -32768~32767

  32位机     64            32      32        16           -2147483648~2147483646

  64位机     64            32      32        16             -9223372036854775808~..

  其他:unsigned long long    unsigned long   unsigned    unsigned short

 

2、  输出

 

(1) 整型

 

%d :int型     %u  无符号int   %ld   long型  %lu   无符号long  

%hd  short型                  %lld  long long型(某些编译器不支持)

 

(2)数制输出    例:36

 

10进制:  %d  : 36                   %d   :36

  8进制:  %o  : 44                   %#o  :044

16进制:  %x  : 24                   %#x  :0x24

 

(3) 整型数制

 

  %o   %lo   %hx

  如何输出有符号8进制数?   无法

 

3、  字节与字

 

1)  字节:绝大部分字节是8位,也有些机器不是,因为char类型通常用8位表示,有些机器不是,所以后来标准定义为char的位数即改机器的字节位数。

 

2)  字:字是机器的自然位数,8位机一个字8位,16位机16位,32位机32位等等

 

4、  字符型:

 

1)char型:

 

单引号内的单个字母,或数字(65也是一个数字),或转义字符;

如果不用单引号,也可以,但必须是整型,且只识别最后8位,并且识别为该整型的ASCII字符,例如:

            char abc=’a’;     跟   char abc=97;  结果是一样的

输出值由%d或%c决定

 

2)转义序列:

 

     \a        \b           \f        \n           \r               \t               \v  

   警报     退格      走纸    换行      回车       水平制表      垂直制表

\\         \’        \”       \?          \0oo               \xhh

\         ‘         “          ?       八进制值    十六进制值(\x49..)

注:数值与字符不要搞混,如‘4’不等于4,‘4’等于52(4的ASCII值)

 

5、  布尔型

 

C99新类型,标识符:_Bool   ,定义的变量只有0和1两种值,赋值是只要不是0,那么不管赋什么(但

必须是整型或字符型)都输出为1;

 

6、  可移植型:

 

使用前需要   #include<inttypes.h>

然后可使用诸如int16_t 、int32_t、uint32_t、uint8_t等等的数据类型定义符

注:只有在程序可能需要移植到别的类型的机器上时,才需要这些

 

7、  浮点类型

 

1)指数记数法       3.123e27   (大小写都可以)   .2213e-35             34e12

float          6位有效数字                                         32位长         -37~38位指数   

double   15位有效数字(C语言规定至少为10)     64位长            -307~308

long double  >=double

%f  十进制记数法输出     %e   指数记数法输出

原文地址:https://www.cnblogs.com/lzlsky/p/2662503.html