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                   f                                                  v  

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

\         ’        ”       ?          oo               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   指数记数法输出

P.S.:转自: http://qh-hsu.blog.163.com/blog/static/1277364132009101362020366/

原文地址:https://www.cnblogs.com/hf-cherish/p/3727823.html