• C连载17-明示变量以及两种头文件举例


    一、常量和C预处理器

    1.符号常量(symbolic constant)

    • 编译程序的时候程序中的符号常量都会被实际字面量所替换,这一过程称为编译时替换
    • 格式:末尾不加分号,中间不加等号,字面量可以是数字,字符,字符串等
    #define CHANGLIANGNAME 890
    

    2.const限定符

    • C90标准增加了const关键字,用于限定一个变量为只读
    const int MONTHS = 12;//MONTHS在程序中不可以更改,值为12
    
    • const用起来比#define更加灵活;
    • const类型限定符声明的是变量不是常量。

    3. 明示常量

    • C头文件limits.h和float.h分别提供了与整数类型和浮点类型大小限制相关的详细信息
    • 又称为符号常量
    • limits.h中的一些明示常量
    明示常量 含义
    CHAR_BIT char类型的位数
    CHAR_MAX char类型的最大值
    CHAR_MIN char类型的最小值
    SCHAR_MAX signed char类型的最大值
    SCHAR_MIN signed char类型的最小值
    UCHAR_MAX unsigned char类型的最大值
    SHRT_MAX short类型的最大值
    SHRT_MIN short类型的最小值
    USHRT_MAX unsigned short类型的最大值
    INT_MAX int类型的最大值
    INT_MIN int类型的最小值
    UINT_MAX unsigned int最大值
    LONG_MAX long类型最大值
    LONG_MIN long类型最小值
    ULONG_MAX unsigned long类型最大值
    LLONG_MAX long long类型最大值
    LLONG_MIN long long类型的最小值
    ULLONG_MAX unsigned long long类型最大值
    • float.h中的一些明示常量(把明示常量名种的FLT分别替换成DBL和LDBL,即可分别表示double和long double
    明示常量 含义
    FLT_MANT_DIG float类型的尾数位数
    FLT_DIG float类型的最少有效数字位数(十进制)
    FLT_MIN_10_EXP 带有全部有效数字的float类型的最小负指数(以10为底)
    FLT_MAX_10_EXP float类型的最大正指数(以10为底)
    FLT_MIN 保留全部精度的float类型最小整数
    FLT_MAX float类型的最大正数
    FLT_EPSILON 1.00和比1.00大的最小float类型值之间的差值
    • 直接代码举例:
    #include<stdio.h>
    #include<limits.h> //整形限制
    #include<float.h> //浮点型限制
    #pragma warning(disable:4996)
    
    int D17_defines(void) {
    	printf("Some number limits for this system:
    ");
    	printf("Biggest int: %d
    ", INT_MAX);
    	printf("Smallest long long: %lld
    ", LLONG_MIN);
    	printf("One byte = %d bits on this system.
    ", CHAR_BIT);
    	printf("Largest double:%e
    ", DBL_MAX);
    	printf("Smallest normal float:%e
    ", FLT_MIN);
    	printf("float precision = %d digits
    ", FLT_DIG);
    	printf("float epsilon = %e
    ", FLT_EPSILON);
    
    	return 0;
    }
    

    17.1

    二、源码:

  • 相关阅读:
    python读取配置文件 ConfigParser
    python中引号中有双引号
    L​i​n​u​x​下​的​D​a​e​m​o​n​简​介(转)
    华为离职副总裁徐家骏:年薪千万的工作感悟(转)
    《码农周刊》干货精选--Python篇(转)
    三个在线django速成教程(转)
    互联网架构学习相关资料(转)
    人人网张铁安:Feed系统架构分析(转)
    用 mongodb 储存多态消息/提醒类数据(转)
    关于如何构建一个微博型广播 二(转)
  • 原文地址:https://www.cnblogs.com/ruigege0000/p/13375226.html
Copyright © 2020-2023  润新知