C语言中的数据类型

目录

一、整型:

二、浮点型:

三、字符型

C语言中的数据类型有很多,不知道新学习的小伙伴们有没有搞混呢?有没有在学习的过程中觉得数据类型又多又难记,有好几个还用不上呢?今天我就来给大家梳理一下C语言中的数据类型。

首先数据类型到底是什么呢?它就好比一个个盒子,而变量就是这个盒子的名字,为变量赋值就是向这个盒子里面装东西。没人会把过多的东西装进一个很小的盒子里,C语言也一样。所以要合理的使用数据类型。

#define _CRT_SECURE_NO_WARNINGS 1

#include<stdio.h>
int main()
{
	int a = 10;//创建了一个变量a,初始化10
	//这里就好像是把一个名字叫a的盒子,装进一个东西
	//这个东西的大小是10
	//而这个盒子的大小是int类型,即4个字节,有很大的范围
	return 0;
}

所以,为变量初始化时,放进去的东西不能超过盒子本身的大小,不然放不进去,编译器也会报错,比如下面的情况:

#include<stdio.h>
int main()
{
	short a = 1000000;//这里将一百万放进short类型中
	//首先short最多能接收32767这么大的数字,将一百万放进去是,超过的部分就会溢出来
	//那么打印变量a时就不是一百万,而是一个其他的数字
	
	printf("%d\n", a);
	return 0;
}

所以这里只需要简单了解一下,如果所初始化的值超过了数据类型的范围,那么值就会溢出,打印结果也不是初始化的值。

那么每个数据类型的大小和能存储的数有多大呢?下面让我们一起来看看。

一、整型:

整型应该是平时使用最多的类型了,它代表了所有整数。C语言中使用int、short、long关键字来代表整型。

short		//短整型
int			//整型
long		//长整型
long long	//更长的整型

介绍数据类型之前,还要知道什么是字节,什么是比特位,什么又是有符号和无符号数。

比特位简称位(bit),是最小的数据存储单位。我们都知道计算机是以二进制方式存储数据的,那么一个比特位就能存储一个数字0或1。

字节(Byte简写成B),是最基本的存储单位。一个字节由八个比特位组成,所以一个字节的大小就是八个比特位。

有符号数简单来说就是有正负的数,无符号就就是只是正数,没有负数。

下面开始介绍数据类型。

short是有符号的短整型,占2个字节,能表示的范围是-2^15~2^15-1,即-32768~32767。

int是有符号的整型,占4个字节,能表示的范围是-2^31~2^31-1。

long是有符号长整型,占4个字节以上(包含4个字节,VS中就是4个字节),能表示的范围是-2^63~2^63-1。

long long是有符号更长的整型,占8个字节,能表示的范围是-2^127~2^127-1。

二、浮点型:

浮点型说白了就是小数,用C语言关键字float、double等表示。

float是有符号单精度浮点型,占4个字节,默认小数点后保留6位数字。

double是有符号双精度浮点型,占8个字节,精度比float高一些,默认小数点后保留15位数字。

注意:如果在以上数据类型前面加上unsigned关键字,那么有符号就会变成无符号数,所占字节数不变,但是能表示的数的范围有所改变。比如unsigned int是无符号整型。

三、字符型:

字符就是能用键盘敲出来的所有内容,比如a、b、#、%、*、~等等,那么字符在C语言中是怎样存储的呢?

我们都知道计算机是以二进制的方式进行存储数据的,那么对于字符来说,有一套标准就是ASCII码,它会将所有字符编一个唯一的号,之后计算机将这个号存储起来就可以了。

ASCII码表如下:

前边的是字符所对应的标号,后面是字符。在C语言中,字符使用char关键字定义的。

char是字符型,用来定义字符的,占1个字节,即8个比特位,能表示的数是-2^7~2^7-1,即-128~127。

以上就是C语言的数据类型了,当然还有不常用的复数、布尔型等。

下面将所有数据类型进行总结一下:

数据类型字节数取值范围
char(有符号字符型)1-128 ~ 127(​2^7~2^7-1)
unsigned char(无符号字符型)10 ~ 255(0~2^8-1​)
short(有符号短整型)2-32768 ~ 32767(​-2^15~2^15-1)
unsigned short(无符号短整型)20 ~ 65535(​0~2^16-1)
int(有符号整型)4-2147483648 ~ 2147483647(-2^31~2^31-1)
unsigned int(无符号整型)40 ~ 4294967295(0~2^32-1)
long(有符号长整型)4-2147483648 ~ 2147483647(-2^31~2^31-1)
unsigned long(无符号长整型)40 ~ 4294967295(0~2^32-1)
long long(有符号更长的整型)8-9223372036854775808 ~ 9223372036854775807(-2^63~2^63-1)
unsigned long long(无符号更长的整型)80 ~ 18446744073709551615(0~2^64-1)
float(单精度浮点型)41.17549×10^(-38)~3.40282×10^(38)
double(双精度浮点型)82.22507×10^(-308)~1.79769×10^(308)
long double(长双精度浮点型)122.22507×10^(-308)~1.79769×10^(308)

以上就是我这次分享的内容啦!写的不好,请多担待!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值