写点什么

【C 语言】数据类型

作者:泽En
  • 2022 年 2 月 15 日
  • 本文字数:2559 字

    阅读完需:约 8 分钟

【C语言】数据类型

✉概括

数据类型其实就是:

  1. 声明不同类型的变量或者函数的一个广泛的系统。

  2. 变量的类型决定了变量存储占用的空间,以及如何解释存储的位模式。

  3. 计算机是通过二进制(0、1)进行数据存储的,例如:二进制数据"0100 0001"既可以表示十进制的数据 65,也可以表示字符"A",因此在程序设计的过程当中需要一个明确每一个的数据的具体类型,这样才可以展开运算!

  4. 用于声明不同类型的变量或函数的一个广泛的系统。变量的类型决定了变量存储占用的空间,以及如何解释存储的位模式。

  • 位模式定义

  • 二进制数 1 和 0 的一维或二维数组,是计算机用来存储和处理信息的最小单位。

🎨数据类型

  • 介绍几种常用的数据类型

  1. char           字符数据类型              C 语言表示用字符用 ' '(单引号),%c 所对应的是打印字符格式的数据

  2. short          短整型数据类型          也可以写成 short int,短整形所占的存储空间大小可能比 int 小,常用于较小的值节省空间

  3. int               整形                            %d 所对应的是打印整形十进制(0~9)的数据

  4. long           长整形                         也可以写成 long int, 长整型所占的存储空间大小可能比 int 多,常用于较大的数值值场合

  5. long long   更长的整形                 也可以写成 long long int,存储空间可能比 long 多,适用于更大的数值场合     

  6. float           单精度浮点型              建议 %f 所对应的是打印单精度浮点数格式的数据,打印后面的小数点位数少点

  7. 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 码的值,有些地方不用去记,了解即可😉

整形类型

既然说到整形类型,最好再说说整数的这个概念~!

其实整数就是和数学一样,在 C 语言中,整数就是没有小数的部分叫做整数的!

例如:−21 和 245 都是整数。而 3.14、0.22 和 2.1000 都不是整数。计算机以二进制数字储存整数,例如,整数 7 以二进制写是 111。因此,要在 8 位字节中储存 该数字,需要把前 5 位都设置成 0,后 3 位设置成 1,如下图所示:



浮点数

在说,单精度浮点型(float)以及 双精度浮点型(double)之前我们就来先讲讲什么是浮点型😁

  1. 浮点数与数学中实数的概念差不多。2.75、3.16E7、7.00 和 2e-8 都是浮点数。注意,在一个值后面加上一个小数点,该值就成为一个浮点值。 

  2. 所 以,7 是整数,7.00 是浮点数。显然,书写浮点数有多种形式。

  3. 这里先做简要介绍:3.16E7 表示 3.16×10 的⑦次方(3.16 乘以 10 的⑦次方)其中,10 的七次方=10000000,⑦被称为 10 的指数。

  4. 这里关键要理解浮点数和整数的储存方案不同。计算机把浮点数分成小 数部分和指数部分来表示,而且分开储存这两部分。因此,虽然 7.00 和 7 在 数值上相同,但是它们的储存方式不同。在十进制下,可以把 7.0 写成 0.7E1。这里,0.7 是小数部分,1 是指数部分。演示了一个储存浮点数的例子。当然,计算机在内部使用二进制和 2 的幂进行储存,而不是 10 的 幂。第 15 章将详述相关内容。现在,我们着重讲解这两种类型的实际区别。 整数没有小数部分,浮点数有小数部分。



  • 整数没有小数部分,浮点数有小数部分。 

float 类型和 double 类型

  1. float 类型也被称之为单精度浮点型,它的作用是可以打印带有浮点数的数字。

  2. double 类型也被称之为双精度浮点型,它的作用是可以打印带有浮点数的数字。

  3. 同样的这两个类型虽说都可以打印出小数,但是它们的区别还是有的,存储的大小、数值的范围、包括精度的有效位、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)


发布于: 刚刚阅读数: 5
用户头像

泽En

关注

还未添加个人签名 2022.01.29 加入

CSDN嵌入式领域新星创作者、2021年度博客之星物联网与嵌入式开发TOP5、2022博客之星TOP100 掘金创作者

评论

发布
暂无评论
【C语言】数据类型