#define LCD_MAX_COL 29 //LCD最大列数 #define LCD_START_X 150 //LCD起始X坐标 #define LCD_COL_WIDTH 8 //LCD列宽 INT16U LCD_GetStX(INT8U col) { INT16U x; if(col LCD_MAX_COL ) col = LCD_MAX_COL ; #if LCD_MODE == _VGA x = LCD_START_X + (INT16U)col * LCD_COL_WIDTH ; #elif x = (INT16U)col * LCD_COL_WIDTH ; #endif return(x); } 四、常量 四、常量 4.1 为什么要用常量 如果不使用常量,直接在程序中填写数字或字符串,将会有什么麻烦? (1) 程序的可读性(可理解性)变差。程序员自己会忘记那些数字或字符串是什么意思,用户则更加不知它们从何处来、表示什么。 (2) 在程序的很多地方输入同样的数字或字符串,难保不发生书写错误。 (3) 如果要修改数字或字符串,则会在很多地方改动,既麻烦又容易出错。 4.2 定义常量的方法 (1)#define 宏定义 (2)const 常量 (3)enum 枚举 4.3 #define 宏定义 使用最广泛,如: #define MAX_TEACHER 100 缺点:宏定义的常量没有类型,只进行字符替换,没有类型安全检查,并且在字符替换可能会产生意料不到的错误。 4.4 const 常量 如: const int MAX_STUDENT = 100; 优点:const 常量有数据类型,而宏常量没有数据类型。编译器可以对前者进行类型安全检查。 缺点: const 常量无法在数组定义时作为数组长度。如: float StudentHeight[MAX_STUDENT]; //错误 四、常量 4.5 枚举 enum{RED, BLUE, GREEN, YELLOW, WHITE, BLACK, COLOR_NUM}; 优点: (1) 适合一次定义批量常数,尤其是在数值连续时尤为方便; (2) 枚举常量可以作为数组长度,如: float BallSize[COLOR_NUM]; 缺点:不能定义除整型外的其他类型常量,如float和double。 四、常量 一个运行正常但没有注释的程序如同一个等待爆炸的定时炸弹;而在有注释,但注释不正确时,炸弹的当量更大。 注释应当准确、易懂,防止注释有二义性。错误的注释不但无益反而有害。 5.1 注释的基本概念 C 语言的注释符为“/*…*/”。C++语言中,程序块的注释常采用“/*…*/”,行注释一般采用“//…”。注释通常用于: (1)版本、版权声明; (2)函数接口说明; (3)重要的代码行或段落提示。 虽然注释有助于理解代码,但注意不可过多地使用注释。 五、注释 五、注释 5.2 注释的准确性 边写代码边注释,修改代码同时修改相应的注释,以保证注释与代码的一致性。不再有用的注释要删除。 注释应当准确、易懂,防止注释有二义性。错误的注释不但无益反而有害。 尽量避免在注释中使用缩写,特别是不常用缩写。 注释的位置应与被描述的代码相邻,可以放在代码的上方或右方,不可放在下方。 5.3 变量、常量的注释 对于所有有物理含义的变量、常量,在定义和声明时都必须加以注释,说明其物理含义。变量、常量、宏的注释应放在其上方相邻位置或右方。 数据结构定义和声明(包括数组、结构、类、枚举等),必须加以注释。对数据结构的注释应放在其上方相邻位置,不可放在下面;对结构中的每个成员的注释放在此成员的右方;同一结构中不同成员的注释要对齐。 全局变量要有较详细的注释,包括对其功能、取值范围、哪些函数或过程存取它以及存取时注意事项等的说明。 五、注释 如: #define GUI_TXT_DISP_MOD 0x0C //文本框内文字显示模式 #define GUI_TXT_RIGHT_DISP 0x00 //文本框内文字左对齐显示 #define GUI_TXT_LEFT_DISP 0x04 //文本框内文字左对齐显示 #define GUI_TXT_CENTRE_DISP 0x08 //文本框内文字居中显示 typedef struct { CTR_ASPE
原创力文档

文档评论(0)