《C语言程序设计与实践(第2版)》——2.4 符号常量

本节书摘来自华章出版社《C语言程序设计与实践(第2版)》一书中的第2章,第2.4节,作者:凌云等著,更多章节内容可以访问云栖社区“华章计算机”公众号查看

2.4 符号常量

例2-4中的程序把3.1415926、360、30等常数直接写在了程序中,这并不是一种好的习惯,原因如下:
1)这些纯粹的数没有任何表征意义,几乎不能给以后可能要阅读该程序的人提供什么信息。
2)使程序的修改变得困难,因为如果修改角度上限和步长,必须修改程序中的所有360和30。
解决上述问题的一种方法是赋予它们有意义的名字。#define指令就用于把符号名字(或称为符号常量)定义为一特定的字符串,其形式如下:
#define 名字 替换文本
此后,所有在程序中出现的在#define中定义的名字,如果该名字既没有用引号括起来,也不是其他名字的一部分,都用所对应的替换文本替换。这里的名字与普通变量名的形式相同:以字母开头的字母或数字序列。替换文本可以是任何字符序列,而不仅限于数字。
例2-5 用符号常量打印余弦函数的离散值表。

#include <stdio.h>
#include <math.h>
/* 打印一个周期内,余弦函数的离散值表*/
#define PI  3.1415926
#define START  0
#define END  360
#define STEP  30
int main()
{
    int x;
    double y;
    for (x = START; x <= END; x = x + STEP)
    {
        y = cos(x * PI / 180);    /* 调用cos函数计算余弦值 */
        printf("%3d\t%9.6f\n", x, y);    /* 调用printf函数输出结果 */
    }
    return 0;
}

这里,START、END、PI与STEP称为符号常量,而不是变量,故不需要出现在定义中。这样,如果需要提高函数曲线的拟合精度,就只需要缩小STEP并给定更精确的PI值即可。符号常量名通常采用大写字母,这样就可以很容易地将其与采用小写字母拼写的变量名相区别。注意:#define也是一条编译预处理指令,因此该行的末尾是没有分号的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值