变量的理解
C语言中常规变量类型
char, unsigned char, int, unsinged int, short, long, float, double
- 理解以上数据类型的基本作用
- 以上数据类型在内存中的存储方式
- 理解float、double类型的存储方式(非必须)
程序测试
#include <stdio.h>
int main()
{
int size_char = sizeof(char);
int size_int = sizeof(int);
int size_short = sizeof(short);
int size_double = sizeof(double);
int size_float = sizeof(float);
printf("size of char: %d\r\n", size_char);
printf("size of int: %d\r\n", size_int);
printf("size of short: %d\r\n", size_short);
printf("size of double: %d\r\n", size_double);
printf("size of float: %d\r\n", size_float);
return 0;
}
运算符
+, -, *, /, <, <=, >, >=, &, &&, |, ||, <<, >>, ~, ^, %, ? :, !
以上运算符均为单片机编程中常用的云算法,要仔细理解
自行编写程序对运算符进行操作
tips
- 在进行浮点运算时尽量避免除法,尽可能的改为使用乘法代替
- 在不确定运算符优先级关系时使用括弧来明确运算的先后,就像写数学算式一样
思考一下
无论程序代码还是要处理数据,在单片机中都是以二进制的形式保存在'寄存器'(姑且说它是寄存器)中的,因此在我们编写代码时可以在大脑里形成一个这样的场景:
我们有一块整齐的方形格子,这个格子里边又整齐的排列着很多小格子,小格子是以32*32=1024的形式分布。每个小格子里可以放置8位2进制数,也就是一个字节,那么我们刚才描述的那个大格子就是一片存储区域,这个存储区域有多大呢?就是1bit * 8 * 1024 = 1byte * 1024 = 1024kb,也就是我们所说的1kb的容量。
有了这个基本认识我们在写程序的时候就可以更清晰的知道程序都做了什么,这里先仅介绍这些变量的操作。
通过上边的实验我们知道char类型的变量的size是1,这个1的意思就是1个字节,也就是说要保存一个char类型的数据需要一个上述的格子,上述的大格子可以保存1024个char类型的数据,超出了就会出错。