C语言学习6:数据类型 -> 基本类型 -> 整型类型(int、short int、long int、char等)
目录
1.数据类型的分类
2.基本整型 int
3.短整型 short int
4.长整型 long int
5.双长整型 long long int
6.字符型 char
7.布尔型 bool
1.数据类型的分类
2.基本整型 int
int 是英文 integer 的简写,又被称为“基本整型”。它是数据类型的一种(最基本的整数类型),表示整型变量1。它用来表示有符号的整数,即可以是正整数、零或负整数。一般来说 int 占用4个字节(32个比特位)的内存空间。
拓展:int 类型的变量取值范围是多少?
因为 int 用来表示有符号的整数,且一般占用4个字节(32个比特位)的内存,所以它的二进制码的左边第一个位(最高位)会用来判断正负,即 “0” 为负或 “1” 为正。那么int类型的变量取值范围应该为 -2,147,483,648 ~ 2,147,483,647(即-231 ~ 231-1)。
3.短整型 short int
short int 常被成为“短整型”。它也是整型变量的一种,相对于int类型的变量,它所占内存一般为2个字节(16个比特位)。
拓展:已经有 int 类型的变量存在,为什么又多出一个 short int 类型的变量?short int 类型的变量取值范围是多少?
①由上面可知,int 一般占用 4 个字节(Byte)的内存,共计 32 位(Bit)。如果不考虑正负数(不考虑最高位用来判断符号的情况,即无符号类型变量),另32个比特位都为 1 时,它取最大值,即 232-1 = 4,294,967,295 ≈ 43亿,这样的数值巨大,实际开发过程中用到的可能性很小。如果涉及小数值运算,使用 int 类型的变量(占4个字节的内存空间),势必会造成资源的浪费。那么,就引入了适合小数值运算的 short int 类型的变量 (占2个字节的内存空间),来节约资源空间。二者的数据类型都是整型。
② 因为 short int 也用来表示有符号的整数,且一般占用2个字节(16个比特位)的内存,所以它的二进制码的左边第一个位(最高位)会用来判断正负,即 “0” 为负或 “1” 为正。那么 short int 类型的变量取值范围应该为 -32,768 ~ 32,767(即-215 ~ 215-1)。
4.长整型 long int
long int 常被称为“长整型”。它也是整型变量的一种,相对于int类型的变量,它所占内存一般为4个字节(32个比特位)。
拓展:为什么long int 类型的变量和 int 类型的变量都为4个字节? long int 类型的变量取值范围是多少?
① 一定要注意,博文中说到的 “一般” 这个字眼,因为在 16 位环境下,short int 的长度为 2 个字节,int 也为 2 个字节,long int 为 4 个字节(16 位环境多用于单片机和低级嵌入式系统)。在 32 位的 Windows、Linux 和 Mac OS,short int的长度为 2 个字节,int 为 4 个字节,long int也为 4 个字节。在 64 位环境下,不同的操作系统会有不同的结果,64位 Windows中 short int 的长度为 2 个字节,int 也为 4 个字节,long int 为 4 个字节,而类Unix系统(包括 Unix、Linux、Mac OS、BSD、Solaris 等) short int 的长度为 2 个字节,int 也为 4 个字节,long int 为 8个字节。所以什么时候需要使用 long int 也要根据不同环境来改变。
②以笔者64位 Windows系统的环境来看,long int 同样也用来表示有符号的整数,且一般占用4个字节(32个比特位)的内存,所以它的二进制码的左边第一个位(最高位)会用来判断正负,即 “0” 为负或 “1” 为正。那么 long int 类型的变量取值范围应该为 -2,147,483,648 ~ 2,147,483,647(即-231 ~ 231-1)。
5.双长整型 long long int
long long int 在C语言中是64位2(int为32位)的“双长整型”数据类型。就笔者目前而言,开发过程中用到 long long 的情况较少。它所占内存一般为8个字节(64个比特位)。
拓展:long long int 类型的变量取值范围是多少?
-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
6.字符型 char
char 严格来说,它也是整型类型的一种,被称为“字符型”(在内存中以ASCII码的形式存储),它用于C或C++中定义,只占一个字节(8个比特位) 。
拓展:char 类型的变量的特点?
① C语言中如 int、long、short 等不指定 signed(有符号)或 unsigned(无符号符号)时都默认为 signed(有符号)但 char 在标准中不指定为 signed 或 unsigned,编译器可以编译为带符号的,也可以编译为不带符号的(转自百度百科)。
②声明字符型变量3。
③字符常量与初始化。
7.布尔型 bool
bool用来表示“布尔型”变量,即逻辑型变量的定义符。一般可认为是4个字节(32个比特位)。C语言中没有 bool 类型(C++中存在),在此不作赘述。
—————————END————————— 往期回顾
★C语言学习1:从下载编译软件开始!DEV-C++、VC6.0、VS2010、VS2017等编译器的下载(Windows系统)
★C语言学习2:Hello World!详解
★C语言学习3:常量、变量和数据类型
★C语言学习4:Bit、Byte、KB、MB、GB、TB、PB简述及单位换算
★C语言学习5:机器数、真值、原码、反码和补码详解
整型变量 是一种计算机语言。在C语言中,整型变量的值可以是十进制,八进制,十六进制,但在内存中存储着是二进制数。变量顾名思义是数值可以变的量,整型变量表示的是整数类型的数据(转自百度百科)。 ↩︎
64位编译系统 int 占四字节,long 占8字节,long 数据范围变为:-263 ~ 263-1(参考博文:int,long和long long的区别) ↩︎
字符型变量
①字符型变量是用来保存单字符的zhi一种变量:如:char a=‘a’; 而字符串就是用来保佑多个字zhuan符的变量,shuC语言中用字符数组来表式一个字符串 如:char name[]={“abcdefghikllllll”}。
②字符和字符串的区别在于是用双引号,还是单引号,双引号表字符串,单引号表字符,如:"a"和’a’ 第一个是字符串,而第二个是字符。
③字符型量包括字符常量和字符变量。字符串常量是由一对双引号括起的字符序列。字符变量的取值是字符常量,即单个字符。字符变量的类型说明符是char。字符变量类型说明的格式和书写规则都与整型变量相同。(转自百度知道) ↩︎
C语言学习6:数据类型 -> 基本类型 -> 整型类型(int、short int、long int、char等)相关推荐
- 我的Go+语言初体验——(6)整型有理数数据类型
我的Go+语言初体验--(6)整型有理数数据类型 "我的Go+语言初体验" | 征文活动进行中- Go+ 语言使用后缀 'r' 表示有理数,支持整型.分数型.浮点型三种有理数数据类 ...
- c语言初学知识点,C语言学习关于数据类型的一些知识点(初学者)
1.整型常量的的前缀:(1)十进制常数无前缀. (2)八进制常数前缀为0,八进制常数无符号. (3)十六进制常数前缀为0X或0x. 注:在程序中是根据前缀来区分各种进制数的.因此在书写常数时不要把前缀 ...
- C语言学习笔记-数据类型
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 C语言数据类型 一.编程规范 1.1代码缩进 1.2变量.常量命名规范 1.3函数的命名规范 1.4注释 二.关键字 2.1 32个关 ...
- c语言赋值小数,c语言中将一个浮点型赋值给整型时,会不会四舍五入?
c语言中将一个浮点型赋值给整型时,不会四舍五入,会直接舍去小数部分的数据,也可以认为是执行了下取整运算. 将浮点数(单双精度)转换为整数时,将舍弃浮点数的小数部分,只保留整数部分.将整型值赋给浮点型变 ...
- C | C语言学习(三)输入数据、输出数据、类型转换、数组、char数组和字符串、字符串长度
一.从标准输入设备读取数据 (# include <stdio.h>) 1. 读取数据(通用):scanf通过%转义的方式可以得到用户通过标准输入设备输入的数据. int num1, nu ...
- 【C语言】整型提升 - 关于short短整型和char字符型的运算
前言 C的整型算术运算总是至少以缺省整型类型,也就是默认整形类型的精度来进行的.为了获得这个精度,表达式中的字符和短整型操作数在使用之前被转换为普通整型,这种转换称为整型提升. 何为整型提升 - 整形 ...
- C#语言中提供了枚举和整型之间的强制转换功能(SelectItem)
[csharp] view plain copy <span style="font-family: Arial, Helvetica, sans-serif;"> ...
- 什么是整型类型?Python整型详细介绍
整数类型(int)简称整型,它用于表示整数,例如,100.2016等.整型字面值的表示方式有四种,分别是十进制.二进制(以"0B"或"0b"开头).八进制(以数 ...
- 深入理解Java的整型类型:如何实现2+2=5?
先看下这段神奇的Java代码: public static void main(String[] args) throws Exception {doSomethingMagic();System.o ...
最新文章
- Django 全文检索6.3
- WINDOWS SERVER 2003从入门到精通之配置DHCP服务器(下)
- leetcode 目录
- java数组最大下标_【Java视频教程】day09-面向对象
- Oracle 单实例 迁移到 RAC 实例 -- 使用RMAN 异机恢复
- docker pull下载很慢_一文了解Docker容器技术的操作
- Android 数字动画
- redis的发布和订阅
- 字节跳动 录屏功能_非常值得推荐,字节跳动出品的一款协同办公软件。
- Linux中用tar命令对文件夹进行打包压缩
- 假若明天来临——《AI.未来》读后感3900字
- 国家一级职业资格证书 计算机类有哪些
- 机器人布里茨说什么_lol蒸汽机器人布里茨辅助玩法介绍 值得一看
- cmd命令行配置windows防火墙
- Yocto中WIC控制以及WKS文件
- 计算机考研复试——数据结构篇
- 生成EAN13条码(C语言实现)
- 项目0单节点的虚拟机做大数据开发(四万字全)
- java array缓存_有java数组
- Python爬虫爬取链家网上的房源信息练习