一、数据类型
1.内置类型:字符型、整型、浮点型、布尔型
ps:内置类型就是编程语言在设计初期定义的类型
1.1 字符型
ps:用来存储字符
char a;//字符型
1.2 整型
ps: 用来存储整数
//"[]"的东西可省略
int a;//整型
short [int] b;//短整型,有着比int更小的取值范围
long [int] c;//长整型,一般有着比int更大的取值范围
long long [int] d;//超长整型,有着比int更大的取值范围
1.3 浮点型
ps:用来存储小数
float a;//单精度浮点型
double a;//双精度浮点型,有着比float更高的精度与更大的取值范围
long double c;//长精度浮点型,有着比float、double更高的精度与更大的取值范围
1.4 布尔型
ps:主要用于存储逻辑值(false/true)
使用布尔类型需引用头文件stdbool.h
bool a;//两种效果都相同,0代表false,非0(1)代表true
_Bool b;
1.5 以上数据类型的长度及其取值范围
数据类型 | 单个类型数据的长度 | 取值范围 |
---|---|---|
char | 1Byte | -128 ~ 127 |
int | 4Byte | -2^31 ~ 2^31-1 |
short [int] | 2Byte | -2^15 ~ 2^15-1 |
long [int] | >=4Byte | |
long long [int] | 8Byte | -2^63 ~ 2^63-1 |
float | 4Byte | 3.4*10^(-38)~3.4*10^38 |
double | 8Byte | |
long double | >=8Byte | 1.7*10^(-308)~1.7*10^308 |
bool /_Bool | 1Byte | true、false |
1.5.1 sizeof操作符
ps:主要是用来计算类型长度,单位是字节(Byte)
//C语言规定sizeof的返回值的类型都为size_t类型
int a, b;
a = sizeof(int);//计算int类型长度,()里面是类型时,“()”不可省略
a = sizeof(a);//计算a的类型长度,也就是int的类型长度,()里面是表达式时,“()”可省略
b = sizeof a++;//仍是计算int的类型长度,且a++不执行,也就是说sizeof后面的表达式不计算
1.5.2 signed与unsigned
signed表示此类型带有正负号,包含负值
unsigned表示此类型不带有正负号,不包含负值
ps :使用unsigned的优点是同样长度的内存能够表示的最大整数值,增大了一倍。
signed char a;//范围为-128~+127
unsigned char b;//范围为0~255
1.5.3 数据类型的取值范围
ps:limits.h 头文件中说明了整型类型的取值范围。
float.h 头文件中说明浮点型类型的取值范围。
SCHAR_MIN SCHAR_MAX //signed char 的最⼩值和最⼤值
SHRT_MIN SHRT_MAX //short 的最⼩值和最⼤值
INT_MIN INT_MAX //int 的最⼩值和最⼤值
LONG_MIN LONG_MAX //long 的最⼩值和最⼤值
LLONG_MIN LLONG_MAX //long long 的最⼩值和最⼤值
UCHAR_MAX //unsignedchar 的最⼤值
USHRT_MAX //unsigned short 的最⼤值
UINT_MAX //unsigned int 的最⼤值
ULONG_MAX //unsigned long 的最⼤值
ULLONG_MAX //unsigned long long 的最⼤值
2.自定义类型:数组、结构体——struct、枚举——enum、联合体——union
ps:自定义类型顾名思义就是由我们自己定义的类型
二、变量
1.变量的创建
data_tybe name;//创建变量的格式:数据类型 + 变量名
int a;//整型变量
float b;//浮点型变量
char ch;//字符型变量
ps:变量名的组成只能字母、数字、下划线,并且不能以数字开头。
在创建变量的同时,赋予变量一个初始值,叫初始化
int a = 18;
float b = 3.14159;
char ch = 'K';
2.变量的分类
局部变量:在大括号内定义的变量,只能在自己所在的大括号内使用,存在栈区
全局变量:在大括号外定义的变量,可以使用在整个工程里,存在静态区
int a;//全局变量
int main()
{
int b;//局部变量
return 0;
}
当全局变量、局部变量名字相同时,局部变量优先
int a = 0;//全局变量
int main()
{
int a = 18;//局部变量
printf("%d",a);//打印的值为18
return 0;
}
若以上内容有错误,请指出,谢谢。