一.C语言数据类型分类

C语言的数据类型包括:整型、字符型、实型或浮点型(单精度和双精度)、枚举类型、数组类型、结构体类型、共用体类型、指针类型和空类型。

 

 

二.C语言整形

C语言的整形,分类两类,一种是有符号的(正数/负数),一种是无符号的(默认是大于等于零);

1.无符号整形(16位系统)

unsigned int 取值范围          :0~65535
unsigned short int 取值范围    :0~65535
unsigned long int 取值范围     :0~4294967295

  

无符号整形,默认重0开始,永远不可能有负数;

 

2.有符号整形(16位系统)

int 取值范围           :-32768~+32767
short int 取值范围     :-32768~+32767
long int 取值范围      :-2147483648~+2147483647

  

有符号整形有正负区间(包含大于0和小于0两个区间),实际上总长度和无符号整形一样;

 

3.int 和 long区别

早期的操作系统是16位系统

 

后来发展到32位操作系统

 

目前的操作系统已发展到64位操作系统,但因程序编译工艺的不同,两者表现出不同的差别:

 

 

4.超出取值范围的整形

/************************************************************************/
/*@File Name         : helloworld.cpp                                                      
/*@Created Date      : 2020/4/24 21:17
/*@Author            : 猿说编程
/*@blog              : www.shuopython.com
/*@Description       : C语言入门教程 - 数据类型/变量类型
/************************************************************************/
 
#include "stdafx.h"
 
int main()
{
        
int i=2147483647; //32位操作系统 int 取值范围 :-2147483648~+2147483647
unsigned long int j=4294967295; //unsigned long int 取值范围 :0~4294967295
printf("%d %d %u %un",i,i+1,j,j+1);
}

  

输出结果:

由此可见:当int型整数超出自己范围时,会从它的最小值重新开始!(int 和 long int取值范围一样)

 

 

三.C语言浮点型float/double

C语言变量类型除了整形之外,还有浮点数类型,例如:3.5,3.1415927685……

浮点数类型也分为两类,一种是 float 单精度 ,一种是 double 双精度,区别就在于 double 的取值范围不管是小数部分还是整数部分都比 float 更高;

1.float(单精度)

float 整数部分取值范围:能表达式万亿级别,已经够大了,实际开发完全够用;

float 小数部分取值范围:最多只能精确到小数点后6位;

2.double(双精度)

double 整数部分取值范围:比float更大,脑补就行了….

double 小数部分取值范围:最多只能精确到小数点后15位;

 

举个例子:

输出结果:

由上面可以看出,float 类型的小数点最多只能精确到第6位,第7位开始就已经不准确了,而 double 类型可以精确到15位,一般项目中使用 float 类型已经完全足够了;

 

猜你喜欢:

1.安装 Visual Studio 2015

2.安装 Visual Studio 插件 Visual Assist

3.设置 Visual Studio字体/背景/行号

4.彻底卸载 Visual Studio 2008

5.彻底卸载 Visual Studio 2013/2015

 

转载请注明:猿说编程 » C语言教程 » C语言数据类型/变量类型



技术交流、商务合作请直接联系博主

扫码或搜索:猿说编程

python/C++教程

猿说编程

微信公众号 扫一扫关注

内容来源于网络如有侵权请私信删除

文章来源: 博客园

原文链接: https://www.cnblogs.com/shuopython/p/13033603.html

你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!