整理C语言中的数据类型、变量和常量。
一、C语言里的数据类型
在C语言中,有以下几种数据类型:
char | 字符数据类型 |
short | 短整型 |
int | 整形 |
long | 长整型 |
long long | 更长的整形 |
float | 单精度浮点数 |
double | 双精度浮点数 |
例如:20 整数 整形 int;36,6 小数 浮点型 float double。
在计算机存储时,不同的数据类型存放在不同的空间里。例如:当输入数据20时,存入整形空间;输入36.6时则存入浮点型空间。
计算各个数据类型所占空间的大小:
int main()
{
printf("%d\n", sizeof(char));
printf("%d\n", sizeof(short));
printf("%d\n", sizeof(int));
printf("%d\n", sizeof(long));
printf("%d\n", sizeof(long));
printf("%d\n", sizeof(float));
printf("%d\n", sizeof(double));
return 0;
}
由此可见,不同数据类型在内存中所占空间不同。(不同操作系统或编译器下,相同数据类型所占空间也不同。这里是Windows系统。)所占空间大小的同于单位是字节(Byte)。在计算机中,不同单位之间的转换是这样的:
1Byte | 8bit |
1KB | 1024B |
1MB | 1024KB |
1GB | 1024MB |
1TB | 1024GB |
1PB | 1024TB |
具体存储形式如图:
我们创建一个char类型的变量,char ch = “w”,他在计算机中的存储:
创建一个int类型的变量,int num,他在计算机里的存储:
二、变量和常量
变量指日常生活中可能发生变化的值,例如:年龄、体重、日期等。常量表示不变的值,例如:身份证号、圆周率和性别等。
在C语言中,有以下定义变量的方法:
int age = 100;
float weight = 45.5f;
char ch = 'z';
在命名变量时需要注意:
- 由字母、数字和下划线组成,不能包括汉字;
- 数字不能开头写
- 变量名不能使用关键字
变量也可以分为局部变量和全局变量。全局变量位于主函数的外边,局部变量位于主函数内。当全局变量与局部变量使用相同的命名方式时,局部变量优先使用。
当全局变量与局部变量命名方式相同时:
接下来介绍变量的作用域和生命周期。
一段代码中所用到的名字并不总是有效的,限定这个名字的可用性的范围就是作用域。
- 局部变量的作用域是变量所在的局部范围。
- 全局变量的作用域是整个程序。
变量的生命周期指的是变量的创建到销毁的时间。
- 局部变量的生命周期是从开始进入作用域到出作用域。
- 全局变量的生命周期是整个程序的生命周期。
C语言中的常量分为以下几种:
- 字面常量
- const修饰的常变量
- #define定义的标识符常量
- 枚举常量
enum Sex
{
male,
female,
secret
};//这是枚举常量
int main()
{
//字面常量:
100;//字面常量
3.14;//字面常量
2024;//字面常量
//const修饰的常变量
const int age = 20;//这里age是const修饰的常变量
//age本质上还是变量,只是被const修饰,变成常变量而已
//#define修饰的标识符常量
#define MAX 1000
#define MIN 0
//枚举常量:
printf("%d\n", male);
printf("%d\n", female);
printf("%d\n", secret);
//枚举常量的默认从0开始,往下依次递减
return 0;
}