数据类型
char //字符数据类型 - 1byte
short //短整型 - 2byte
int //整型 - 4byte
long //长整型 - 4byte
long long //更长的整型 - 8byte
float //单精度浮点数 - 4byte
double //双精度浮点数 - 8byte
//C语言中有没有字符串类型?
-
为什么出现这么的类型?
使用计算机语言来编写程序,解决生活中的问题,而且必须要有能力来描述生活中的问题。例如:购物商城 - 价格 - 15.6元 - 小数。
注意:存在这么多的类型,其实是为了更加丰富的表达生活中的各种值
-
每种类型的大小是多少?
#include <stdio.h>
int main()
{
//sizeof - 关键字 - 操作符 - 计算类型或变量所占空间的大小
//sizeof单位是什么? - 字节 byte
printf("%d\n", sizeof(char)); //1byte
printf("%d\n", sizeof(short)); //2byte
printf("%d\n", sizeof(int)); //4byte
printf("%d\n", sizeof(long)); //4byte
printf("%d\n", sizeof(long long)); //8byte
printf("%d\n", sizeof(float)); //4byte
printf("%d\n", sizeof(double)); //8byte
return 0;
}
计算机中的单位:
bit - 比特位
byte - 字节 = 8bit
KB - 1024byte
MB - 1024KB
GB - 1024MB
TB - 1024GB
PB - 1024TB
变量、常量
常量 - 不i能改变的量
变量 - 能被改变的量
定义变量的方法
int age = 18;
float weight = 45.5f;
char ch = 'w';
变量的分类
- 局部变量
- 全局变量
//全局变量 - {}外部定义的变量
int a = 100;
int main() {
//局部变量 - {}内定义的变量
//当局部变量和全局变量名字冲突的情况下,局部优先
//不建议把全局变量和局部变量名字写成一样
int a = 10;
printf("%d", a); //10
return 0;
}
变量的使用
作用域
//作用域和生命周期
//局部变量的作用域:就是变量所在的局部范围
//全局变量的作用域:整个工程
int g_val = 2023;//全局变量
int main()
{
printf("1:%d\n",g_val);
{
printf("2:%d\n", g_val);
int a = 10;
printf("a = %d\n", a);
}
printf("3:%d\n", g_val);
return 0;
}
//执行结果如下:
1:2023
2:2023
a = 10
3:2023
生命周期 - 变量的创建和销毁之间的时间段
局部变量的生命周期:进入局部范围生命开始,出局部范围生命结束
全局变量的生命周期:程序的生命周期
常量
C语言中常量分为以下几种:
- 字面常量
- const 修饰的常量
- #define 定义的标识符常量
- 枚举常量
#define MAX 1000
enum Sex
{
//这种枚举类型的变量的未来可能取值
//枚举常量
MALE = 3,//赋初值
FEMALE,
SECRET
};
int main()
{
//1.字面常量
3.14;
10;
'a';
"abcd";
//2.const修饰的常量
const int num = 10;//num就是常变量 - 具有常属性(不能被改变的属性)
//3.#define 定义的标识符常量
int n = MAX;
//4.枚举常量
//可以一一列举的常量
enum Sex s = MALE;
return 0;
}