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

Posted ruigege0000

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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;
}

技术图片

二、源码:


以上是关于C连载17-明示变量以及两种头文件举例的主要内容,如果未能解决你的问题,请参考以下文章

[Go] 通过 17 个简短代码片段,切底弄懂 channel 基础

《连载 | 物联网框架ServerSuperIO教程》- 10持续传输大块数据流的两种方式(如:文件)

2017-2-17C#基础-定义变量,输入输出

Java连载55-接口的作用接口举例

C连载13-复数类型以及基本数据类型总结

GCC的头文件搜索路径