Symbolic
Constants Step
A final observation before we leave temperature
conversion forever. It's bad practice to bury ``magic numbers'' like 300 and 20
in a program; they convey little information to someone who might have to read
the program later, and they are hard to change in a systematic way. One way to
deal with magic numbers is to give them meaningful names. A #define line
defines a symbolic name or symbolic constant to be a particular string
of characters:
#define name replacement list
Thereafter, any occurrence of name (not in quotes
and not part of another name) will be replaced by the corresponding replacement
text. The name has the same form as a variable name: a sequence of
letters and digits that begins with a letter. The replacement text can
be any sequence of characters; it is not limited to numbers.
#include
#define LOWER 0 /*
lower limit of table
*/ #define UPPER
300 /* upper limit */
#define STEP 20 /*
step size */
/* print Fahrenheit-Celsius table */
main()
{
int fahr; for
(fahr = LOWER; fahr <= UPPER; fahr = fahr + STEP)
printf("%3d %6.1f\n", fahr, (5.0/9.0)*(fahr-32));
}
The quantities LOWER, UPPER and STEP are symbolic
constants, not variables, so they do not appear in declarations. Symbolic
constant names are conventionally written in upper case so they can ber readily
distinguished from lower case variable names. Notice that there is no semicolon
at the end of a #define line.
Subscribe to:
Post Comments (Atom)
0 comments:
Post a Comment