下表显示了与每个有符号整数类型的限制相对应的符号名称。
类型 | 下限 | 上限 |
---|---|---|
char | CHAR_MIN | CHAR_MAX |
short | SHRT_MIN | SHRT_MAX |
int | INT_MIN | INT_MAX |
long | LONG_MIN | LONG_MAX |
long long | LLONG_MIN | LLONG_MAX |
无符号整数类型的下限全部为0,因此没有符号。
对应于无符号整数类型的上限的符号是UCHAR_MAX,USHRT_MAX,UINT_MAX,ULONG_MAX和ULLONG_MAX。
为了能够在程序中使用任何这些符号,您必须在源文件中的limits.h头文件中使用#include指令:
#include
您可以初始化一个类型为int的最大可能值的变量,如下所示:
int number = INT_MAX;
此语句将数值的值设置为尽可能大的值,无论编译器用于编译代码的可能性如何。
下表列出了表示浮点类型的范围限制的符号
类型 | 下限 | 上限 |
---|---|---|
float | FLT_MIN | FLT_MAX |
double | DBL_MIN | DBL_MAX |
long double | LDBL_MIN | LDBL_MAX |
该程序输出与头文件中定义的符号对应的值。
#include <stdio.h> // For command line input and output
#include <limits.h> // For limits on integer types
#include <float.h> // For limits on floating-point types
int main(void)
{
printf("Variables of type char store values from %d to %dn", CHAR_MIN, CHAR_MAX);
printf("Variables of type unsigned char store values from 0 to %un", UCHAR_MAX);
printf("Variables of type short store values from %d to %dn", SHRT_MIN, SHRT_MAX);
printf("Variables of type unsigned short store values from 0 to %un", USHRT_MAX);
printf("Variables of type int store values from %d to %dn", INT_MIN, INT_MAX);
printf("Variables of type unsigned int store values from 0 to %un", UINT_MAX);
printf("Variables of type long store values from %ld to %ldn", LONG_MIN, LONG_MAX);
printf("Variables of type unsigned long store values from 0 to %lun", ULONG_MAX);
printf("Variables of type long long store values from %lld to %lldn", LLONG_MIN, LLONG_MAX);
printf("Variables of type unsigned long long store values from 0 to %llun", ULLONG_MAX);
printf("nThe size of the smallest positive non-zero value of type float is %.3en", FLT_MIN);
printf("The size of the largest value of type float is %.3en", FLT_MAX);
printf("The size of the smallest non-zero value of type double is %.3en", DBL_MIN);
printf("The size of the largest value of type double is %.3en", DBL_MAX);
printf("The size of the smallest non-zero value of type long double is %.3Len", LDBL_MIN);
printf("The size of the largest value of type long double is %.3Len", LDBL_MAX);
printf("n Variables of type float provide %u decimal digits precision. n", FLT_DIG);
printf("Variables of type double provide %u decimal digits precision. n", DBL_DIG);
printf("Variables of type long double provide %u decimal digits precision. n",
LDBL_DIG);
return 0;
}
上面的代码生成以下结果。
表达式sizeof(int)将导致类型为int的变量占用的字节数,结果是size_t类型的整数。
类型size_t在标准头文件stddef.h中定义,并将对应于基本整数类型之一。
您可以存储应用sizeof运算符产生的值:
size_t size = sizeof(long long);
该程序将输出每个数字类型占用的字节数:
#include <stdio.h>
int main(void)
{
printf("Variables of type char occupy %u bytesn", sizeof(char));
printf("Variables of type short occupy %u bytesn", sizeof(short));
printf("Variables of type int occupy %u bytesn", sizeof(int));
printf("Variables of type long occupy %u bytesn", sizeof(long));
printf("Variables of type long long occupy %u bytesn", sizeof(long long));
printf("Variables of type float occupy %u bytesn", sizeof(float));
printf("Variables of type double occupy %u bytesn", sizeof(double));
printf("Variables of type long double occupy %u bytesn", sizeof(long double));
return 0;
}
上面的代码生成以下结果。
了解C-C条件运算符条件运算符计算为两个表达式之一,具体取决于逻辑表达式是否计算true或false。因为涉及三个操作数,所以此运算...
C 嵌套 switch 语句 C 判断您可以把一个 switch 作为一个外部 switch 的语句序列的一部分,即可以在一个 switch 语句内使用另一...
C 指针数组 C 指针在我们讲解指针数组的概念之前,先让我们来看一个实例,它用到了一个由 3 个整数组成的数组:#include stdio.h...
C 练习实例47 C 语言经典100例题目:宏#define命令练习2。程序分析:无。程序源代码://Created by www..cn on 15/11/9.//Copyri...
C 练习实例84 C 语言经典100例题目:一个偶数总能表示为两个素数之和。程序分析:我去,这是什么题目,要我证明这个问题吗?真不...