✉概括
数据类型其实就是:
声明不同类型的变量或者函数的一个广泛的系统。
变量的类型决定了变量存储占用的空间,以及如何解释存储的位模式。
计算机是通过二进制(0、1)进行数据存储的,例如:二进制数据"0100 0001"既可以表示十进制的数据65,也可以表示字符"A",因此在程序设计的过程当中需要一个明确每一个的数据的具体类型,这样才可以展开运算!
用于声明不同类型的变量或函数的一个广泛的系统。变量的类型决定了变量存储占用的空间,以及如何解释存储的位模式。
位模式定义
二进制数1和0的一维或二维数组,是计算机用来存储和处理信息的最小单位。
🎨数据类型
介绍几种常用的数据类型
char 字符数据类型 C语言表示用字符用 ' '(单引号),%c所对应的是打印字符格式的数据
short 短整型数据类型 也可以写成 short int,短整形所占的存储空间大小可能比int小,常用于较小的值节省空间
int 整形 %d所对应的是打印整形十进制(0~9)的数据
long 长整形 也可以写成 long int, 长整型所占的存储空间大小可能比int多,常用于较大的数值值场合
long long 更长的整形 也可以写成 long long int,存储空间可能比long多,适用于更大的数值场合
float 单精度浮点型 建议%f所对应的是打印单精度浮点数格式的数据,打印后面的小数点位数少点
double 双精度浮点型 建议%lf所对印的是打印双精度浮点数格式的数据,打印后面的小数点位数多点
char类型
我们要去存储一个字符,注意:字符它是区分大小写的,例如:'A'字符和'a'字符是不一样的,这两个字符代表了不同的字符💨
存储字符a的代码,如下实例:
#include<stdio.h> int main(void) { char ch = 'a'; printf("%c",a); return 0; }
运行结果:
char类型用于储存字符(如,字母或标点符号),但是从技术层面看, char是整数类型。
因为char类型实际上储存的是整数而不是字符。计算机使用数字编码来处理字符,即用特定的整数表示特定的字符。
例如,在ASCII码中,整数65代表大写 字母A。因此,储存字母A实际上储存的是整数65。
如下实例:
#include<stdio.h> int main(void) { char ch = 'A'; printf("%d",ch); return 0; }
运行结果:
ASCll码
标准ASCII码的范围是0~127,只需7位二进制数即可表示📰(0111 1111)如果不了解这个二进制包括这个的话可以去我博客转载文章看下
以上就是ASCll码的值,有些地方不用去记,了解即可😉
整形类型
short名为短整形,其实short类型是来自于int的这个整形,他是和int一样都是打印出整形的数据类型,包括long long也都是一样都是属于整形类型的范畴,只不过它们的区别是所占的字节大小,存储空间的大小,以及数值范围的大小是不同的。long long > int > short ,在这里我们先对这三种类型不详细的去介绍💨
整数
既然说到整形类型,最好再说说整数的这个概念~!
其实整数就是和数学一样,在C语言中,整数就是没有小数的部分叫做整数的!
例如:−21和245都是整数。而3.14、0.22和2.1000都不是整数。计算机以二进制数字储存整数,例如,整数7以二进制写是111。因此,要在8位字节中储存 该数字,需要把前5位都设置成0,后3位设置成1,如下图所示:
浮点数
在说,单精度浮点型(float)以及 双精度浮点型(double)之前我们就来先讲讲什么是浮点型😁
浮点数与数学中实数的概念差不多。2.75、3.16E7、7.00 和 2e-8 都是浮点数。注意,在一个值后面加上一个小数点,该值就成为一个浮点值。
所 以,7是整数,7.00是浮点数。显然,书写浮点数有多种形式。
这里先做简要介绍:3.16E7 表示3.16×10的⑦次方(3.16 乘以10的⑦次方)其中,10的七次方=10000000,⑦被称为10的指数。
这里关键要理解浮点数和整数的储存方案不同。计算机把浮点数分成小 数部分和指数部分来表示,而且分开储存这两部分。因此,虽然7.00和7在 数值上相同,但是它们的储存方式不同。在十进制下,可以把7.0写成 0.7E1。这里,0.7是小数部分,1是指数部分。演示了一个储存浮点数的例子。当然,计算机在内部使用二进制和2的幂进行储存,而不是10的 幂。第15章将详述相关内容。现在,我们着重讲解这两种类型的实际区别。 整数没有小数部分,浮点数有小数部分。
整数没有小数部分,浮点数有小数部分。
float类型和double类型
float类型也被称之为单精度浮点型,它的作用是可以打印带有浮点数的数字。
double类型也被称之为双精度浮点型,它的作用是可以打印带有浮点数的数字。
同样的这两个类型虽说都可以打印出小数,但是它们的区别还是有的,存储的大小、数值的范围、包括精度的有效位、double类型都要>float的类型
那比如说我要打印3.14159的后两位小数我该怎么打印呢,请看如下实例:
#include<stdio.h> int main(void) { double a = 3.14159; printf("打印:%lf\n",a); printf("打印小数点后两位:%.2lf\n",a); return 0; }
运行结果:
怎么样发现不同之处了吗,当你在%后面加个.数字你要保留几位的小数就可以啦!
sizeof
sizeof,是C语言当中的关键字,也是C语言当中的操作符。
作用:计算类型也就是数据类型或者变量所占的空间大小。
语法:
sizeof( 类型 )
sizeof 表达式
返回 类型的对象表示的字节大小。
返回 表达式类型的对象表示的字节大小。不应用隐式转换到 表达式
这个就跟大家简单的概括一下不多说,以后会概述的了解即可!
数据类型字节
如下实例:
#include<stdio.h> int main(void) { printf("char 字节:%d\n",sizeof(char)); printf("short 字节:%d\n",sizeof(short)); printf("int 字节:%d\n",sizeof(int)); printf("long int 字节:%d\n",sizeof(long int)); printf("long long int字节:%d\n",sizeof(long long int)); printf("float 字节:%d\n",sizeof(float)); printf("double 字节:%d\n",sizeof(double)); return 0; }
运行结果:
字节
计算机中的单位:bit - 比特位 ,1bit = 存放一个二进制位1或者0,那么在bit上面的就是字节(byte),1byte = 8bit位,kb = 1024byte,mb = 1024kb,gb = 1024mb,tb = 1024gb,pb = 1024tb,计算机当中相关单位(了解)当然后面还有不多说了,那么这里你就应该对上面的字节有所了解了吧!大家可以自己看看上述数据类型都有多少的比特位😉
可能有细心的小伙伴发现了:int - 整形 和 long int 长整型 它们字节是一样的!没错是的
C语言标准:sizeof(long int) >= sizeof(int)