今天来向大家介绍一下我们每个人都会遇见的数据类型及其相对应的使用方法。首先,我们来阐述一下什么是数据类型呢?当我们有一定的输入内容的时候,我们要输入的内容就是数据类型,例如像1,2,3,4这种的整数数据类型所对应的就是int。像1.1,2.3,4.55这样的数据类型对应的就是float......那么就让我们来仔细认识一下众多的数据类型的种类吧!
目录
1.int数据类型的介绍
int类型代表的是一个整数,当你需要定义一个变量,这个变量为整数的时候就需要在前面加上int,就等于一个标志,在告诉计算机我这个变量是一个整数,你要好好处理哦!然后计算机就会在后面默认你输入的数为一个整数。其中,需要特别声明的就是int也分种类。分别分为
short int int long int long long int
这四种类型。值得我们注意的是,这四种类型的区别是数据所占字节的大小。我们在这里补充一个要点:当数据存储到计算机中的时候,需要计算机自动转化为二进制的类型。short int最小,占两个字节,也就是16个二进制位。最大能储存的数字范围也就是这16个二进制位所对应的范围。同理int占4个字节,long int所占的字节通常说也为4但是可以存储32到64为之间的数据类型作用范围要比int大,最后是我们最大的大哥long long int,它的大小为8个字节可以存储64位二进制数所转化成的数字。上面就是我们int类型的不同之处,下面我们来介绍他们相对应的使用方法。
#include<stdio.h>
int main()
{
short int a = 3;
int b = 789;
long int c = 157163680;
long long int d = 1571636802677;
printf("%hd\n", a);
printf("%d\n", b);
printf("%ld\n", c);
printf("%lld\n", d);
return 0;
}
//int ->%d
//short int ->%hd
//long int ->%ld
//long long int ->%lld
当我们知道了上面四种数据类型的区别之后我们还要知道一个很重要的事情,那就是在打印或者输入不同的数据类型的时候所需要使用的输出形式也是不同的。就比如说int所对应的输出类型是%d
short int所对应的输出形式是%hd,long int所对应的输出类型是%ld,long long int对应的是%lld,之后正确使用了这些相对应的数据类型之后才可以正确的打印数据。当你企图钻空子比如说将一个很大的数字交给int去打印就会出现错误,如下图所示:
当数据超出内容的时候会打印一个随机数,得不到我们的打印效果。所以我们需要将数据的类型上升到合适的等级变为long long int,这个时候就会发现我们可以正确得到打印结果了。(当我们的数据类型和输出类型不匹配的时候得到的也是随机数哦),到此我们int数据类型也就介绍完了。
2.float数据类型的介绍
浮点数也就是我们经常见到的小数,浮点数的数据类型有三种分别是float,double,long double。
float对应的是单精度浮点数。
double对应的是双精度浮点数。
long double对应的是扩展精度浮点数。
这里的精度指的是小数点之后的位数,float所对应的是小数点6-7位,一般计算已经足够了,但是如果想是计算结果精度最大那么我们就需要选择相对应的精度值。
#include<stdio.h>
int main()
{
float i = 1.111111111111;
double n =2.222222222222;
printf("%.12f\n", i);
printf("%.12lf\n", n);
return 0;
}
3.对字符串的打印 %c %s
对于非数字类型的其他数据我们统称为字符,就比如特殊符号& * %以及汉字等都属于字符,对于字符的打印我们就需要另一类与其相对应的输出类型以及数据类型进行调整。下面我们就来一起认识一下。
字符的数据类型为char当我们需要定义一个字符型变量的时候就需要用char进行定义,这一点无论是单个字符还是长字符串都是一样的。但是单个字符和字符串的输出类型就各不相同了。对于单个字符所对应的输出类型为%c只可以打印一个字符,多个字符串的打印所需要的输出类型为%s。要想指定输出特定的字符就一定要注意对应关系,不然也会出现随机生成的情况如图:
当我们将输出格式改为%s的时候发现就可以正常打印了。
#include<stdio.h>
int main()
{
char a = 'a';
char ch[20] = "abcdefg";
printf("%c\n", a);
printf("%s", ch);
return 0;
}
//单个字符->%c
//字符串 ->%s
4.对地址的打印%p
当我们学习到指针的时候我们对于地址的应用也就逐渐多了起来。我们常常需要查找并打印一个指针也就是地址来进行下一步的判断。
地址的打印需要特殊记忆的只有输出类型%p,我们可以通过很多方式进行获得地址比如说对一个数据进行取地址操作&a;或者对利用指针的解引用符号*pa这些我们到指针的时候会有一个专门的博客进行描述说明。我们先来认识一下就好,打个面熟以后也方便进一步应用。
#include<stdio.h>
int main()
{
int a = 0;
printf("%p\n", &a);
return 0;
}
5.对不同进制数字的打印及转化 %X %o
我们可能都知道计算机可能会用到的有十进制,二进制,八进制和十六进制。那么究竟该怎样才可以将它们互相进行转化呢?
首先我要向大家介绍一下八进制与十进制;十六进制与十进制的相互转化。
#include<stdio.h>
int main()
{
int i = 109;
printf("%X\n", i);
printf("%o", i);
return 0;
}
//打印十六进制->%X
//打印八进制 ->%o
如上图所示,我们打印十六进制所要用的输出类型为%X,再次需要特别指出,该字母x的大小写决定了后面打印生成的十六进制中字母的大小写,可以按指定格式进行调节。打印八进制所需要的输出类型是%o这里也特殊说明,o只可以是小写字母,否则系统在打印的时候将会报错。对于十进制转化为二进制可能需要写一个相对应的函数,所以我们会在函数上具体讲二进制的转换方法。
此上就是我们最常见的数据类型及其使用方法和所需要注意到的东西,感谢您的观看。