C language to talk about the symbolic constants

Suppose one mile convert kilometers procedure:

#include <stdio.h>

/* print Mile to Kilometre table*/
main() {
    float mile, kilometre;

    int lower = 0;//lower limit
    int upper = 1000;//upper limit
    int step = 30;//step size

    printf("Mile Kilometre\n");
    mile = lower;
    while (mile <= upper) {
        kilometre = 1.61 * mile;
        printf("%3.0f     %6.1f\n", mile, kilometre);
        mile = mile + step;
    }
}

Run Results:
Mile Kilometer
0 0.0
30 48.3
60 96.6
90 144.9
120 193.2
...

This logic program itself no problem, but can be further optimized, such as the use #define directive to define the lower, upper, step. #Define instruction using known constants defined symbolic constant.

#define Command syntax is:

#define 常量名 替换文本

After you define a good symbolic constants, the program appears all the constants defined in #define name in, will be replaced with the appropriate text. Constant name starts with the letters may be a sequence of letters and numbers; replacement text can be any sequence of characters.

Constant name is usually spelled in capital letters, a lot of programming languages ​​(Java, Python) have such agreement. Because of this difference between the variable name with lower case letters spelling open.

The above-described procedure to form a symbolic constant version:

#include <stdio.h>

/* print Mile to Kilometre table*/

#define LOWER 0 //lower limit
#define UPPER 1000 //upper limit
#define STEP 30 //step size

main() {
    float mile, kilometre;

    printf("Mile Kilometre\n");
    mile = LOWER;
    while (mile <= UPPER) {
        kilometre = 1.61 * mile;
        printf("%3.0f     %6.1f\n", mile, kilometre);
        mile = mile + STEP;
    }
}

Example results on the same input.

Note: does not end with a semicolon #define command line.

Published 607 original articles · won praise 682 · views 900 000 +

Guess you like

Origin blog.csdn.net/deniro_li/article/details/104072187