文章目录
一、变量的分类
1.分辨全部变量和局部变量
#include <stdio.h>
int global = 2023; // 全局变量
int main()
{
int local = 2018; // 局部变量
printf("%d\n", local);
printf("%d\n", global);
return 0;
}
2.内存中的三个区域:栈区、堆区、静态区
1. 局部变量是放到内存的栈区
2. 全局变量是放在内存的静态区
3.堆区是用来动态内存管理的
二、算数操作符
1.“+”和“-”
“+”和“-”代表加法和减法
“+”和“-” 个操作符的,位于操作符两端的就是它们的操作数,这种操作数也叫双目操作符
2.“*”
运算符“*”表示乘法
3.“/”
运算符“/”表示除法
#include <stdio.h>
int main()
{
float x = 6 /4;
int y = 6 / 4;
printf("%f\n", x);
printf("%d\n", y);
return 0;
}
输出结果:
1.000000
1
4.“%”
运算符“%”表示取模(取余)
负数求模的规则是,结果的正负号由第一个运算数的正负号决定
#include <stdio.h>
int main()
{
printf("%d\n", 11 % -5);
printf("%d\n", -11 % -5);
printf("%d\n", -11 % 5);
}
输出结果:
1
-1
-1
三、赋值操作符
1. 初始化和赋值
初始化:在变量创建的时候给一个初始值叫初始化,再给一个值,这叫赋值
int a = 100; // 初始化
a = 200; // 赋值
2. C语言支持连续赋值
int a = 1;
int b = 2;
int c = 3;
c = b = a + 3; // 连续赋值,从右到左依次赋值
3. 复合赋值符
- +=
- -=
- *=
- /=
- %=
例如:a += b 相当于 a = a + b
四、单目操作符
1. ++和--
1.1 前置++
++i:先加1,后使用
int a = 10;
a = a+1;
b = a;
printf("a=%d b=%d\n",a , b);
运算结果:
a=11 b=11
解释:
a原来是10,先+1,后a变成了11,再使⽤就是赋值给b,b得到的也是11,所以计算技术后,a和b都
是11
1.2 后置++
i++:先使用,后加1
int a = 10;
int b = a++;
printf("a=%d b=%d\n", a,b);
运算结果:
a=11 b=10
解释
a原来是10,先使⽤,就是先赋值给b,b得到了10,然后再+1,然后a变成了11,所以直接结束后a是
11,b是10
1.3 前置--
1.4 后置--
五、强制类型转换
代码演示
int a = 3.14;
// a的是int类型, 3.14是double类型,两边的类型不⼀致,编译器会报警告
消除警告
int a = (int)3.14; //意思是将3.14强制类型转换为int类型,这种强制类型转换只取整数部分