一幻数
定义:在程序中直接使用的常数称为幻数
如:int i=16;
for(i=0;i<16;i++);
缺点:程序可读性差; //i为什么=16
容易发生书写错误产生不一致性;
当常数要改变时要改变所有引用它的代码,繁琐,可能有遗漏。
如何避免使用幻数?
良好的程序设计风格建议把幻数定义为宏常量,const常量
*** 二宏常量***
定义: 用一个标识符表示的常量称为宏常量,并以#开头(也称作符号常量)
注意:为了与变量名区分,习惯用全大写单词
如:
#include <istdio.h>
#define PI 3.14 //定义常量PI,不能打=,3.14为字符串
#define R 5.3 //定义常量R,不能打=,5.3为字符串
main ()
{
printf(“area=%f\n”,PIRr);
printf(“circumference=%f\n”,2PIR);
}
注意:以#开头的不是一条c语句而是一个编译预处理指令,所以后面不能加分号;
1。 #include <stdio.h>表示将stdio.h这个头文件包含到源程序中来
2。 编译预处理指令:在源程序编译之前先对程序中的编译预处理 命令进行处理,然后将处理的结果和源程序一起进行编译,以 得到目标代码。
3。 宏定义的作用:在预编译时将程序中出现的宏名全部替换为字符串~宏展开’或宏替换(除了字符串里不进行宏替换 “”)
4. 优点:减少重复书写常量的工作量;提高程序的可读性。
5.缺点:没有数据类型,编译器在宏替换时不进行类型检查,发现不了错误;只进行简单的字符串替换极易产生意想不到的错误。
三.const常量
#include <stdio.h>
main()
{
const double pi=3.14;
const double r=5.3;
printf(“area=%f\n”,pirr);
printf(“circumference=%f\n”,2pir);
…
注意const只能在定义的时候赋值
优点:const有数据类型,编译器能对其进行类型检查;某些集成化调试工具可以对const常量进行调试
2018.10。24
C语言学习-2
最新推荐文章于 2023-07-17 15:38:56 发布