有关数据类型和其取值范围

数据类型

1、数据类型:

基本类型数据:

整数(整型--int--4、短整型--short int--2、长整型--long int--8)
浮点数【实数】(单精度浮点数--float--4、双精度浮点数—double--8)
字符(char--1)

复合类型数据:

结构体
枚举
共用体

1、整数类型:short int、int、long int、long long int
2、浮点数类型:float、double、long double
3、字符类型:char 
4、布尔类型:_Bool(只有真假两个值)
5、枚举类型:enum

sizeof运算符:用于获得数据类型或者表达式的长度

三种类型:sizeof(object)、sizeof(type_name)、sizeof object;

signed:带符号
unsigned:不带符号(只能存放正数和0)

2、字符和字符串

字符类型是一种特殊的整型。 确保取值范围

声明字符串:char 变量名[数量]
给字符串赋值:变量名[索引号]= 字符

字符串定义的时候要加上一个\0,计算机读取到这步

3、取值范围

比特位:bit/b (CPU能读懂的最小单位)
比特:Byte/B(内存机构的最小寻址单位)
1Byte=8bit

  数据类型           字节数             取值范围
    char               1              -128~127
 unsigned char         1               0~255
    short              2              -32768~32767
 unsigned short        2               0~65535
    int                4              -2147483648~2147483647
 unsigned int          4               0~4294967295
    long               4              -2147483648~2147483647
 unsigned long         4                0~4294967295
    long long          8          -9223372036854775808~ 9223372036854775807
 unsigned long long    8              0 ~ 18446744073709551615   
    float              4           1.17549 * 10^(-38) ~ 3.40282 * 10^(38)
    double             8           2.22507 * 10^(-308) ~ 1.79769 * 10^(308)
    long double       12           2.22507 * 10^(-308) ~ 1.79769 * 10^(308)

4、结果输出有效位问题

%g 默认最多保留六位有效数字,包括整数部分和小数部分(不会在最后强加 0 来凑够有效数字的位数)
%f 和 %e 默认保留六位小数,只包括小数部分(会在最后强加 0 来凑够小数部分的位数)
%g 要以最短的方式来输出小数,并且小数部分表现很自然,不会强加零,比 %f 和 %e 更有弹性,这在大部分情况下是符合用户习惯的。  
%g用来输出 float 类型;
%lg 用来输出double 类型,并且当以指数形式输出时,e小写。
%G 和 %lG 也分别用来输出 float 类型和 double 类型,只是当以指数形式输出时,E大写
posted @ 2022-06-29 21:37  柯星  阅读(106)  评论(0编辑  收藏  举报  来源