C语言—常量和预处理器

作者:追风剑情 发布于:2019-7-21 14:39 分类:C

示例


//Visual Studio中加上这句才可以使用scanf()
//否则只能使用scanf_s()
#define _CRT_SECURE_NO_WARNINGS

//用#define定义的常量称为明示常量
#define PI 3.14

//引入printf()、scanf_s()
#include <stdio.h>
#include <stdint.h>
//引入bool类型,C99标准新增
#include <stdbool.h>
//引入Sleep()
#include <windows.h>
//ANSI C之前的编译器不支持string.h
//一些ANSI之前的UNIX系统用strings.h代替string.h
//引入strlen()
#include <string.h>
#include <limits.h>

int main(void)
{
	//const关键字用于限定一个变量为只读
	//注意,在C语言中,用const类型限定符声明的变量,不是常量。
	const int MONTHS = 12;

	printf("Maximum int value on this system = %d\n", INT_MAX);
	printf("Minimum int value on this system = %d\n", INT_MIN);

	system("pause");
	return 0;
}


运行测试

11111.png

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类型的最小值,需要编译器完全支持C99标准才能识别。
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类型值之间的差值

标签: C语言

Powered by emlog  蜀ICP备18021003号   sitemap

川公网安备 51019002001593号