第一篇 c标准库
:诊断
中只定义了一个带参的宏assert,其定义形式如下:
void assert (int 表达式)
assert宏用于为程序增加诊断功能,它可以测试一个条件并可能使程序终止。在执行语句:
assert(表达式);
时,如果表达式为0,则在终端显示一条信息:
Assertion failed: 0, file 源文件名, line 行号
Abnormal program termination
然后调用abort终止程序的执行。
在中,带参宏assert是被定义为条件编译的,如果在源文件中定义了宏NDEBUG,则即使包含了头文件,assert宏也将被忽略。
:字符类别测试
在头文件中定义了一些测试字符的函数。在这些函数中,每个函数的参数都是整型int,而每个参数的值或者为EOF,或者为char类型的字符。中定义的标准函数列表如下:
中定义的函数
函数定义
函数功能简介
int isalnum(int c)
检查字符是否是字母或数字
int isalpha(int c)
检查字符是否是字母
int isascii(int c)
检查字符是否是ASCII码
int iscntrl(int c)
检查字符是否是控制字符
int isdigit(int c)
检查字符是否是数字字符
int isgraph(int c)
检查字符是否是可打印字符
int islower(int c)
检查字符是否是小写字母
int isprint(int c)
检查字符是否是可打印字符
int ispunct(int c)
检查字符是否是标点字符
int isspace(int c)
检查字符是否是空格符
int isupper(int c)
检查字符是否是大写字母
int isxdigit(int c)
检查字符是否是十六进制数字字符
int toupper(int c)
将小写字母转换为大写字母
int tolower(int c)
将大写字母转换为小写字母
有关中定义的这些标准函数以及一些常用的非标准字符处理函数将在第十一章中进行详细地介绍。
:错误处理
中定义了两个常量,一个变量。
1、 EDOM
它表示数学领域错误的错误代码。
2、 ERANGE
它表示结果超出范围的错误代码。
3、 errno
这是一个变量,该值被设置成用来指出系统调用的错误类型。
:整型常量
在头文件中定义了一些表示整型大小的常量。下面给出这些常量的字符表示以及含义,见下表。
中定义的字符常量
字符常量
取值
含义
CHAR_BIT
8
char类型的位数
CHAR_MAX
255或127
char类型最大值
CHAR_MIN
0或-127
char类型最小值
INT_MIN
-32767
int类型最小值
INT_MAX
32767
int类型最大值
LONG_MAX
2147483647
long类型最大值
LONG_MIN
-2147483647
long类型最小值
SCHAR_MAX
127
signed char 类型最大值
SCHAR_MIN
-127
signed char 类型最小值
SHRT_MAX