C语言中的内置数据类型

目录

前言

一、数据类型

1. 整型

2. 浮点型

3. 字符型

4. 布尔类型

5. 选择取值范围

6. sizeof函数

7. 无符号和有符号类型

总结:


前言

C语言中提供了很多数据类型来描述生活中的各种数据。比如整型(int)用于表示整数,例如年龄、车牌号码。浮点型(float)用于表示带有小数点的数字,例如身高、体重。这些生活中的数字叫做常量,即不会被人为改变的量。本篇文章仅介绍了内置类型,不包括自定义类型。

一、数据类型

数据类型是一种编程语言中用于定义数据存储特定类型的概念。不同的数据类型具有不同的特性和操作方法。每个数据类型的长度在不同的编译器或操作系统中有所差异,可以使用sizeof函数来测量。常见的数据类型包括整型、浮点型、字符型、布尔类型等。

1. 整型

整型表示整数值,可以是正数、负数或零。例如:-10, 0, 100。

整型(int)是用来存储整数值的数据类型,它通常占用4个字节(32位),可以表示的范围是-2,147,483,648 到 2,147,483,647。

短整型(short)通常占用2个字节(16位)。它的取值范围较小,一般为-32,768到32,767。

长整型(long)通常占用4个字节(32位)。它的取值范围较大,一般为-2,147,483,648到2,147,483,647。

更长的整型(long long)通常占用8个字节(64位),可以表示的取值范围为-9,223,372,036,854,775,808到9,223,372,036,854,775,807。

2. 浮点型

浮点型表示带有小数部分的数值。例如:3.14, -2.5, 1.0。

单精度和双精度是浮点数的两种表示方式,其主要差别在于精度和占用的存储空间。单精度浮点数使用32位(4字节)来表示,双精度浮点数使用64位(8字节)来表示。由于存储空间的差异,双精度浮点数能够表示更大范围的数字,以及更高的精度。单精度浮点数通常能够精确表示6到7位十进制数,而双精度浮点数能够精确表示15到16位十进制数。

3. 字符型

字符型用于表示文本或字符的数据。它可以包含单个字符或由多个字符组成的字符串。

4. 布尔类型

布尔类型(_Bool)是一种表示逻辑值的数据类型,只有两个取值:真(true)和假(false)。布尔类型的使用需要包含头文件stdbool.h,在计算机编程中,布尔类型常用于判断条件和控制程序流程。例如,用布尔类型来表示一个变量是否满足某个条件,或者判断一个条件语句的真假。

在C语言中,可以使用#define指令来定义宏(宏定义)。宏定义可以将一个标识符(通常是一个函数名或一个常量)替换为一个值、一个表达式或一段代码。宏定义的一般语法如下:

#define 标识符 替换内容。

bool flag = true;表示声明了一个bool类型的变量flag并赋予了初始数值,if(flag)表示如果括号里面的条件为真,那么就执行if下面的一条语句(不使用大括号时),C语言中0为假,非0为真,关于这些的具体描述后面会讲到。

可能有人会疑惑,明明C语言中的0和1就可以判断真假,为什么还需要布尔类型,答案如下:

首先布尔类型可以节省内存空间。布尔类型只需要存储一个比特位(bit),即一个字节的八分之一空间。相比于其他数据类型,如整数、浮点数等,布尔类型占用的内存空间更小。

其次布尔类型可以提高代码的可读性。通过使用布尔类型,可以直观地表达条件的真假。例如,将某个变量的值设置为True,可以很清晰地表示该条件成立;将变量的值设置为False,可以表达该条件不成立。

总而言之,布尔类型可以提供一种简洁、方便和高效地存储和判断条件的方式,从而增强程序的可读性和可维护性。

5. 选择取值范围

上述的数据类型很多,尤其数整型类型就有short、int、long、long long四种,为什么呢?其实每⼀种数据类型有自己的取值范围,也就是存储的数值的最大值和最小值的区间,有了丰富的类 型,我们就可以在适当的场景下去选择适合的类型。

6. sizeof函数

sizeof 是⼀个关键字,也是操作符,是专门用来计算数据类型长度的,单位是字节。sizeof 操作符的操作数可以是类型,也可以是变量或者表达式。sizeof 的操作数如果不是类型,是表达式的时候,可以省略掉后边的括号的。sizeof 后边的表达式是不真实参与运算的,根据表达式的类型来得出大小。sizeof 的计算结果是 size_t 类型的。

它的用法是sizeof( 数据类型),sizeof表达式,输出格式为%zd,\n的意思是换行,下面是VS X64配置下的执行结果。

7. 无符号和有符号类型

C语言使用 signed 和 unsigned 关键字修饰字符型和整型类型。

unsigned 关键字,表示该类型不带有正负号,只能表示零和正整数。

signed 关键字,表示一个类型带有正负号,包含负值。

对于 int 类型,默认是带有正负号的,也就是说 int 等同于 signed int 。 由于这是默认情况,关键字 signed ⼀般都省略不写,但是写了也不算错。

int 类型也可以不带正负号,只表示非负整数。这时就必须使用关键字 unsigned 声明变量。

整数变量声明为 unsigned 的好处是,同样长度的内存能够表示的最大整数值,增大了一倍。 比如,16位的 signed short int 的取值范围是:-32768~32767,最大是32767;而unsigned short int 的取值范围是:0~65535,最大值增大到了65,535。

字符类型 char 也可以设置 signed 和 unsigned 。signed char范围为 -128 到 127,unsigned char范围为 0 到 255。

总结:

当我们需要解决一个实际问题,并编写解决问题的程序时,我们应该选择合适的数据类型。

如判断真假可使用布尔类型,圆周率使用浮点型等等。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值