目录
最基本的数据类型
sizeof 数据类型大小
变量
创建变量
分类
作用域
生命周期
常量
字面常量
const修饰的常变量
# define 定义的标识符常量
枚举常量
字符和字符串(字符数组)
字符
字符串
字符数组
字符串长度
图片版文章(方便手机查看)
最基本的数据类型
数据类型是用来定义变量的
char 字符数据类型
short 短整型
int 整型
long 长整型
long long 更长的整型
float 单精度浮点数
double 双精度浮点数
sizeof 数据类型大小
sizeof是C语言的一个关键字,计算数据类型的大小,单位是字节
sizeof(char) 1
sizeof(short) 2
sizeof(int) 4
sizeof(long) 4
sizeof(long long) 8
sizeof(float) 4
sizeof(double) 8
一个字节是8位,每位可表示0和1两个数字
变量
用来描述可以改变的数据
创建变量
创建变量的时候最好初始化一下
char ch = ‘a’; 该变量类型是char,名字是ch,内容是字符a
int age = 18;
float pi = 3.1415926;
分类
变量分为全局变量和局部变量
全局变量 {}大括号外部定义
局部变量 {}大括号内部定义
当局部变量和全局名字冲突时,局部变量优先使用
例如:
#include
该程序屏幕打印结果为10
作用域
局部变量作用域:变量所在的局部范围,即当前大括号里面
全局变量作用域:整个工程
生命周期
变量的生命周期指的是变量的创建到变量的销毁之间的一个时间段
1、局部变量的生命周期是:进入作用域生命周期开始,出作用域生命周期结束。
2、全局变量的生命周期是:整个程序的生命周期。
常量
描述不能变的数据
字面常量
3.14
10
'a'
"abcde"
const修饰的常变量
const int num = 10; //num是常变量--具有常属性(不能被改变的属性)
num = 20; //这是错误的语句,该语句在VS2022中直接报错,num不可修改
printf("%d", num);
int arr[10] = { 0 };
const int n = 10; //n本质仍然是个变量,只不过具有常属性,n的值不可修改
int arr2[n] = { 0 }; //这是错误的语句,n是个常变量
# define 定义的标识符常量
# define M 200 //M是个常量,值是200
M = 100; //该语句错误,M是个常量,不可以这样更改
printf("M = %dn", M);
枚举常量
可以一一列举的常量
enum Date
{
DAY1 = 1,//赋初值1,默认为0
DAY2 = 3,//赋初值3
DAY3,//没有赋初值,其值为上面的值+1,也就是4
DAY4,
DAY5
};
enum Date day1 = DAY1;
//DAY1 = 1//该语句错误,DAY1是常量
printf("%d ", day1);//1
printf("%d ", DAY2);//3
printf("%d ", DAY3);//4
printf("%d ", DAY4);//5
printf("%d ", DAY5);//6
字符和字符串(字符数组) 字符
字符用单引号括起来
'a'
'b'
'c'
字符串
字符串就是一串字符,用双引号括起来,字符串的结束标志是一个 的转义字符。
"abcdef";
"123456";
字符数组
字符串在结尾的位置隐藏了一个的字符
char arr1[] = "hehe";
char arr2[] = {'a', 'b', 'c'}; //错误,应改为char arr2[] = {'a', 'b', 'c', ''};
printf("%sn", arr1); //打印hehe
printf("%sn", arr2); //打印出乱码,因为arr2没有
字符串长度
在计算字符串长度的时候 是结束标志,不算作字符串内容。
printf("%dn", strlen("haha")); //打印4
printf("%dn", strlen(arr1));
printf("%dn", strlen(arr2)); //打印乱码,不知道字符串在哪结束