中秋之后,要渐渐回归学习的生活啦!
今天学习了很多知识,不过理论居多,没什么好实操把代码打出来的。
先从宏说起吧!
一、宏(部分)
比如这个:
#define width 80 //我们先定义一个“width”,再定义一个“length”
#define lenth2 width + 40 //显然,宏的套用也是可以的,但是引用时要注意不要出问题,下面有例子
printf("%d", length * 2); //此时,打印出来的是什么呢?240?我们展开来看,其实是80+40*2,其实是160!
因此,我们定义宏的时候要规范。
比如 #define length (width + 40)
在看这个宏:
#define plus(a,b) ((a)+(b)) //可见,宏里面也是可以带运算的,而暂时定义的公式里不用带类型(与函数区分)
同样也要注意规范。
还学了这个:
typedef unsigned max_t //其中,typedef的作用是令 max_t(我创建的别名)的作用等于 unsigned,说白了就是起别名。
最后是这个:#ifdef XXXX //我们知道,程序里普通的if……else,会先把里面的内容预处理,再显示 if 或 else ,占用很大
#else //然而,我们用 #ifdef 就很好了,他只会处理 if 的内容。
#endif // #ifdef 是如果后面的XXXX定义过了,就执行 #ifdef,否则就执行 #else
当然 #if 效果也一样,只不过判定就和普通 if 一样。
二、进制
当我们想在计算机里输入,八进制或十六进制的数时,应当这样:
例:十进制 —— 12
八进制 —— 014(前面加个0)
十六进制 —— 0xC (前面加0x)(字母不区分大小写)
进制的转换就不记啦,VB里面学过,8421罢了
三、基本数据类型
我们来看下面三组例子:
#define VA 1300U //U代表unsigned
#define VB 1500L //L代表long
#define VC 1800LU //LU代表unsigned long
在定义数字常量的时候,我们可以在后面加上字母U或L,当然,也可以什么都不加。
注:无后缀的十进制常量:int——》long——》unsigned long
无后缀的八、十六进制常量:int——》unsigned——》long——》unsigned long
带U后缀的常量:unsigned——》unsigned long
带L后缀的常量:long——》unsigned long
带L和U后缀的常量:unsigned long
另外,我们还可以通过 sizeof() 函数来查看某变量占的大小。(不同编译器都有自己的规定)
在编译器中,大小是这样的 sizeof(short) <= sizeof(int) <= sizeof(long) .
注意,是可以等于的。
后记:趁今天有时间,赶紧多写点。明天我们出去团建,可能就没时间了。
那么今天就到这里啦!感谢大家的观看!
代码已上传至码云。