✅作者简介:人工智能专业本科在读,喜欢计算机与编程,写博客记录自己的学习历程。
🍎个人主页:小嗷犬的博客
🍊个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。
🥭本文内容:C/C++中的基础数据类型
更多内容请见👇
@TOC
1.整型
1.1 什么是整型
整型,即整数类型,用于表示整数的数据类型,通常指int类型,广义上包括长整型long long、无符号整型unsigned int等整数类型。
1.2 整型的存储大小与存储范围
以64位计算机为例
类型 | 存储大小 | 存储范围 |
---|---|---|
int | 4字节 | -2^31^ 到 2^31^-1 |
unsigned int | 4字节 | 0 到 2^32^-1 |
long | 4字节 | -2^31^ 到 2^31^-1 |
unsigned long | 4字节 | 0 到 2^32^-1 |
long long | 8字节 | -2^63^ 到 2^63^-1 |
unsigned long long | 8字节 | 0 到 2^64^-1 |
1.3 代码实例
#include <stdio.h>
int main()
{
int a = -2147483647 - 1;
int b = 2147483647;
printf("int可表示的范围:%d ~ %d\n", a, b);
unsigned int c = 4294967295;
printf("unsigned int可表示的范围:0 ~ %u\n", c);
long d = -2147483647 - 1;
long e = 2147483647;
printf("long可表示的范围:%ld ~ %ld\n", d, e);
unsigned long f = 4294967295;
printf("unsigned long可表示的范围:0 ~ %lu\n", f);
long long g = -9223372036854775807 - 1;
long long h = 9223372036854775807;
printf("long long可表示的范围:%lld ~ %lld\n", g, h);
unsigned long long i = 18446744073709551615;
printf("unsigned long long可表示的范围:0 ~ %llu\n", i);
return 0;
}
2.浮点型
2.1 什么是浮点型
浮点型,即浮点数类型,利用科学计数法来表示实数,常用于表示小数或是量级比较大的大数,包括单精度浮点型float、双精度浮点型double、长双精度浮点型long double。
2.2 浮点型的存储大小、存储范围与精度
以64位计算机为例
类型 | 存储大小 | 存储范围 | 精度 |
---|---|---|---|
float | 4字节 | 1.175494E-38 到 3.402823E+38 | 6位 |
double | 8字节 | 2.225074E-308 到 1.797693E+308 | 15位 |
long double | 8字节 | 2.225074E-308 到 1.797693E+308 | 15位 |
2.3 代码实例
#include <stdio.h>
#include <float.h>
int main()
{
printf("float 存储最大字节数 : %llu\n", sizeof(float));
printf("float 最小值: %E\n", FLT_MIN);
printf("float 最大值: %E\n", FLT_MAX);
printf("float 精度值: %d\n\n", FLT_DIG);
printf("double 存储最大字节数 : %llu\n", sizeof(double));
printf("double 最小值: %E\n", DBL_MIN);
printf("double 最大值: %E\n", DBL_MAX);
printf("double 精度值: %d\n\n", DBL_DIG);
printf("long double 存储最大字节数 : %llu\n", sizeof(long double));
printf("long double 最小值: %E\n", LDBL_MIN);
printf("long double 最大值: %E\n", LDBL_MAX);
printf("long double 精度值: %d\n", LDBL_DIG);
return 0;
}
3.字符型
3.1 什么是字符型
字符型,是用于表示字符的数据类型,在C语言中,具有与整型相同的运算逻辑,本质上是整型空间到ASCII表上的一组映射,通常指char类型,除此之外还有无符号字符型unsigned char。
3.2 字符型的存储大小、存储范围与映射范围
以64位计算机为例
类型 | 存储大小 | 存储范围 |
---|---|---|
char | 1字节 | -128 到 127 或 0 到 255 |
unsigned char | 1字节 | 0 到 255 |
ASCII完整表可见: https://blog.csdn.net/ttmice/article/details/50978054
3.3 代码实例
#include <stdio.h>
int main()
{
char H = 72;
char e = 101;
char l = 108;
char o = 111;
char space = 32;
char W = 87;
char r = 114;
char d = 100;
char exclamatoryMark = 33;
printf("%c%c%c%c%c%c%c%c%c%c%c%c\n", H, e, l, l, o, space, W, o, r, l, d, exclamatoryMark);
return 0;
}