IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> C语言基本数据类型解析 -> 正文阅读

[C++知识库]C语言基本数据类型解析

学习c语言有一段时间了,准备整理一些c基础,方便自己记忆,供大家参考学习(每段后面提供有代码,方便大家对照验证????????[测试平台:VS2017,x86])

目录

·数值类型

·整型

·int

·short?

·long

·浮点型

·float

·double

·字符类型

·char


·数值类型

·整型

·int

c语言通常使用int来定义整数(int是英文integer的简写)

int一般占据的内存大小是4字节(byte),也就是32位(bit)

数据范围为????????-2147483648 - 2147483647????????[-2^31~2^31-1]? ? ? ?

如果不考虑正负数,大概有43亿? ? ? ? [2^32-1]

printf("%d\n",sizeof(int));
int imax = INT_MAX, imin = INT_MIN;//INT_MAX需要包含limits.h头文件
printf("%d - %d\n", imin, imax);
unsigned int uimax = UINT_MAX;//unsigned是无符号的意思
printf("%u\n", uimax);//%u--打印无符号整型

4

-2147483648 - 2147483647

4294967295

? int 同义替换? ? ? ? signed? ? ? ? signed int

? unsigned int 同义替换? ? ? ? unsigned

·short?

short为短整型,占据的内存大小是2字节,16位

数据范围? ? ? ? -32768 - 32767

若操作数较大,一般不使用short

printf("%d\n",sizeof(short));
short smax = SHRT_MAX, smin = SHRT_MIN;
printf("%hd - %hd\n", smin, smax);
unsigned short usmax = USHRT_MAX;
printf("%hu\n", usmax);

2

-32768 - 32767

65535

?short 同义替换? ? ? ? short int? ? ? ? signed short? ? ? ? signed short int

?unsigned short 同义替换? ? ? ? unsigned short int

·long

long为长整型,x32环境占据的内存大小是4字节

与int整型相当

long在x64环境下占据内存大小为8字节

在c99中(99年制定C编程语言的官方标准),有如下结论

2<=sizeof(short)<=sizeof(int)<=sizeof(long)<=sizeof(long long)

printf("%d\n",sizeof(long));
long lmax = LONG_MAX, lmin = LONG_MIN;
printf("%ld - %ld\n", lmin, lmax);
unsigned long ulmax = ULONG_MAX;
printf("%lu\n", ulmax);

4

-2147483648 - 2147483647

4294967295

·long?long

long long是比long更长的整型,占据的内存大小是8字节

数据范围????????-9223372036854775808 - 9223372036854775807

当int存放不下数据时我们就可以考虑使用long long

printf("%d\n",sizeof(long long));
long long llmax = LLONG_MAX, llmin = LLONG_MIN;
printf("%lld - %lld\n", llmin, llmax);
unsigned long ullmax = ULLONG_MAX;
printf("%llu\n", ullmax);

8

-9223372036854775808 - 9223372036854775807

18446744073709551615

·浮点型

·float

float是单精度浮点型,占据的内存大小是4字节,32位

1bit(符号位)?8bits(指数位)?23bits(尾数位)

float的指数范围为-127 - 128,并且指数位是按补码的形式来划分的

范围为????????-2^128 -?2^128

精度????????2^23 = 8388608? ? ? ? 有7位,意味着可以精确到小数点后6位(第7位可能进位)

·double

double是双精度浮点型,占据的内存大小是8字节,64位

1bit(符号位)?11bits(指数位)?52bits(尾数位)

double的指数范围为-1023 - 1024

范围为????????-2^1024 -?2^1024

精度????????2^52 = 4503599627370496? ? ? ? 有16位,看来可以精确到15~16位

printf("%d\n",sizeof(float));
printf("%d\n",sizeof(double));

数字太长这里应该放不下,就不展示啦!

4

8

·字符类型

·char

char(character)是字符型,占据的内存大小是1字节,在c语言里可以用来表示字符

字符和整数没有本质的区别,可以给 char类型变量一个字符,也可以给它一个整数;

反过来,可以给 int类型变量一个整数,也可以给它一个字符.

char a = 'A';
char b = 66;
int c = 67;
int d = 'D';
printf("a=%c	a=%d\n", a, a);
printf("b=%c	b=%d\n", b, b);
printf("c=%c	c=%d\n", c, c);
printf("d=%c	d=%d\n", d, d);

a=A ? ? a=65

b=B ? ? b=66

c=C ? ? c=67

d=D ? ? d=68

char 变量在内存中存储的是字符对应的 ASCII 码值.

ASCII 码表将整数和字符关联起来了.

数据范围? ? ? ? -128 - 127

printf("%d\n",sizeof(char));
char cmax = CHAR_MAX, cmin = CHAR_MIN;
printf("%d - %d\n", cmin, cmax);
unsigned char ucmax = UCHAR_MAX;
printf("%u\n", ucmax);

1

-128 - 127

255

基本类型到这里就结束了,若有什么错误缺陷,欢迎大家来指点讨论

再来一种

-bool

bool是布尔类型,它属于无符号整数类型,使用它时需要包含<stdbool.h>头文件

占据的内存大小是1字节,用来表示真或假

true 的整型值是1, false 是0

bool 可以替换为 _Bool

printf("%d\n", sizeof(bool));
_Bool a = true;
bool b = false;
printf("%d	%d\n", a, b);

1

1? ? ? ? 0

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-10-01 16:38:20  更:2021-10-01 16:40:29 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 0:04:01-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码