C语言数据类型

本文介绍了C语言中的四种基本数据类型:字符型(char),整型(int),单精度浮点型(float),双精度浮点型(double),包括它们的存储特性、取值范围以及数据类型间的自动和强制转换规则。同时,详细讲解了不同数据类型的输出格式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


在 C 语言中, 数据类型指的是用于声明不同类型的变量或函数的一个广泛的系统。变量的类型决定了变量存储占用的空间,以及如何解释存储的位模式。

基本数据类型

C语言有4种基本的数据类型,分别是字符型(char),整型(int),单精度浮点型(float)和双精度浮点型(double)。
以下为各个数据类型的存储大小和取值范围:
在这里插入图片描述
在这里插入图片描述
(注意,各种类型的存储大小与系统位数有关,但目前通用的以64位系统为主。)

1.字符型char

字符型在其本质上就是整型数据,我们在C语言中使用char表示一个字符型,他占用一个字符的存储空间,字符型在存储时其内部存储的依旧是二进制数据,当我们读出时将会得到一个整型数据,而我们输出时会得到一个字符是因为我们人为的定义了一个对照表ASCLL表,这个表规定字符a的数值就是97,所以当我们遇到97时我们有两种读出方式,第一种以整数形式读出就是97,另一种就是以字符型读出,使用%c指定读出形式,则对照表则为a。
(1)意义:存储字符型数据。
(2)表现形式:char
(3)空间大小:1字节=8bit
在这里插入图片描述
(4)存储方式:环形结构存储

#include<stdio.h>
int main()
{
	char a=65;//大写字母A在ASCLL表中为65; 
	char b='A';//定义一个变量b为字符'A'; 
	printf("a的空间大小:%ld\n",sizeof(a));//利用关键字sizeof求出字符型变量a的空间大小; 
	printf("变量a=%c\n",a);//%c表示输出一个字符型数据 ,将ASCLL码65转为大写字母'A'; 
	printf("变量b=%c",b);//输出字符b; 
	return 0;
 } 

在这里插入图片描述

2.整型int

int型是整型常量,即整数,不包含小数点和指数。如22是整数,22.0和2.2E1不是整数。
(1)意义:存储整型数据。
(2)表现形式:int
(3)空间大小:4字节
a.有符号signed -> 省略不写,默认是有符号的。
取值范围:-2^31 ----2^31-1
b.无符号unsigned int
取值范围:0----2^32-1
在这里插入图片描述
c.长整型long int
空间大小:8字节
d.短整型:short int
空间大小:2字节

3.单精度浮点型float

float是C语言的基本数据类型中的一种,表示单精度浮点数。C语言规定单精度浮点型在内存占用4个字节,精度为7位,取值范围为:3.410^-38 ~3.410^38 或者 -(3.410^-38 ~3.410^38)。
float在内存中的存储遵循IEEE 754标准。在C/C++中,float类型占4个字节即32位 , 这32位分成了3部分:符号位:转化成二进制后,第31位。 0代表正数,1代表负数
(1)意义:存储浮点型数据。
(2)表现形式:float
(3)空间大小:4字节
在这里插入图片描述
注意:输出数据时要用%f来输出数据

4.双精度浮点型double

C标准规定,double类型必须至少能表示10位有效数字,且取值范围至少是10-37~10+37。
(1)意义:存储双精度浮点型数据。
(2)表现形式:double
(3)空间大小:8字节
在这里插入图片描述

基本数据类型转换

1.自动数据类型转换
在进行运算时,不同类型的数据要转换成同一类型。自动转换的规则如图
在这里插入图片描述
转换方法为:
(1)float型数据自动转换成double型;
(2)char与short型数据自动转换成int型;
(3)int型与double型数据运算,直接将int型转换成double型
(4)int型与unsigned型数据、直接将int型转换成unsigned型;
(5)int型与long型数据,直接将int型转换成long型。
2.强制数据类型转换
强制类型转换的一般形式为:(类型名)(表达式)

输出格式

各类型数据的输出格式
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值