C语言提供了很多的数据类型来表示现实生活中的数据,例如整型表示整数,浮点数表示小数,字符类型描述字符等
数据类型可分为:内置(本身自带)和自定义
字符
字符:char、[signed]char (有符号)、unsigned char (无符号)
整型
整型:短整型:short [int]、[signed] short [int] (有符号)、unsigned short [int] (无符号)
整型:int、[signed] int(有符号)、unsigned int (无符号)
长整型:long [int]、[signed] long [int] (有符号)、unsigned long [int] (无符号)
更长的整型:long long [int]、[signed] long long [int] (有符号) 、unsigned long long [int] (无符号)
浮点型
浮点型:小数,小数点可以浮动 例如:3.14=31.4*0.1=0.314*10
单精度浮点型:float
双精度浮点型:double
精度更高的浮点型:long double
补充:float x=98.51f 因为float是单精度浮点,而且98.51精度更高一些,需要双精度,故编译器会发出警告,在后面加f可以让98.51强制成为单精度
布尔型
布尔型:专门用来表示真假,取值:false是假,true是真(0是假,非0是真)
布尔型关键字:_Bool
注意:使用布尔型要添加头文件:<stdbool.h>,并且必须在c语言的环境下,也就是.c的后缀,不能用c++的后缀.cpp,然后被定义为布尔型的话,只能选择false或true这两个值进行初始化或赋值
案例
#include<stdio.h>
#include<stdbool.h>
int main()
{
_Bool x = false;
if (x==false)
printf("yes");
else
{
printf("no");
}
return 0;
}
|
Signed和unsigned
Signed和unsigned:c语言中使用它们俩来修饰字符型和整型的
Signed:表示有符号数,有正有负,直接定义int时,默认为有符号的整型
Unsigned:表示无符号数,只有零和正整数
注意:无符号数不能初始化或赋值为负数,如果为负数编译器可能会发出警告,如果没有警告,可能编译器关闭了该警告
案例:
int main()
{
signed int x = 30;
signed int y = -30;
unsigned a = 30;
return 0;
}
|
变量声明为unsigned的好处:同样长度的内存能够表示的最大整数,增大了一倍,例如:16位的signed short int 的取值范围是:-32768~32767,最大锁骨32767;而unsigned short int 的取值范围为:0~65535,最大值增到了65535 32位的signed int的取值范围可以参看limits.h中给出的定义
注意:是在电脑中搜所limits.h这个文件,并且拖到vs2022中即可查看
补充:了解数据类型取值范围,然后选择合适的数据类型进行编程很有必要,可以在头文件中查看各类型的大小,整型是limits.h;浮点是float.h,打开方式如上注意
今天就到这里 如有错误请指出