C语言的一些预处理指令和系统头文件
来源:互联网 发布:网易域名管理平台 编辑:程序博客网 时间:2024/06/04 18:17
预处理指令:
1.#include 包含一个文本文件的内容
2.#define 定义宏
3.#undef 取消先前定义的某个宏
4.#if 如果条件满足执行指定动作
5.#ifdef 如果已经定义了某个宏,执行指定动作
6.#ifndef 与#ifdef相反,如果没有定义某个宏,执行指定动作
7.#else 如果先前的#if、#ifdef或ifndef不成立,执行指定动作
8.#endif 作为#if、#ifdef或#ifndef的结束标志
9.#elif 也就是else-if的意思,用于#if-#else的嵌套
10.#line 设置当编译器发出警告或错误信息时所使用的行号
11.#erro 指定编译期间的错误及对应信息
12.#pragma 给编译器提供实现细节信息
13.# 忽略此行
一些有用的系统头文件
1.ctype.h 测试和修改字符函数
<ctype.h>
关于字符类型的头文件操作
tolower() 转换成小写
toupper() 转换成大写
isalpha() 测试字母
islower() 测试小写
isupper() 测试大写
isalnum() 测试大写或小写
iscntrl() 测试控制符
isprint() 可打印字符包括空格
isgraph() 可打印字符不包括空格
isdigit() 是十进制数(0-9)
isxdigit() 十六进制基数
isblank() 标准空白字符(空格,\t)
isspace() 空格字符(空格,\t,\v,\r,\n,\f)
ispunct() isspace()&isalnum()返回false的可打印字符
2.float.h 描述局部浮点数状态
在float.h中定义的部分常量 Borland C++中的值
FLT_DIG float型的有效位个数 6
DBL_DIG double型的有效位个数 15
LDBL_DIG long double型的有效位个数 19
FLT_EPSILON float 型的最小正数x,满足1.0+x!=1.0 1.9209290e-07
DBL_EPSILON double型的最小正数x,满足1.0+x!=1.0 202204460492503131e-19
LDBL_EPSILON long double 型的最小正数x,满足1.0+x!=1.0 1.084202172485504e-19
FLT_MAX float型的最大值 3.40282347e38
DBL_MAX double型的最大值 1.797693134862316e308
LDBL_MAX long double型的最大值 1.18973149535723e4932
FLT_MAX_10_EXP float型允许的10为底的最大指数 38
DBL_MAX_10_EXP double型允许的10为底的最大指数 308
LDBL_MAX_10_EXP long double型允许的10为底的最大指数 4932
3.limits.h 描述局部整数状态
SCHAR_MIN 一个signed char型量的最小值(下面类似)
SCHAR_MAX
UCHAR_MAX
CHAR_MIN
CHAR_MAX
SHRT_MIN
SHRT_MAX
USHRT_MAX
INT_MIN
INT_MAX
UINT_MAX
LONG_MIN
LONG_MAX
ULONG_MAX
4.math.h 数学函数
abs int型数值的绝对值
fabs float型数值的绝对值
labs long 型绝对值
log 以e为底
log10 以10为底
pow x^y
rand 产生随机数
sqrt 平方根
srand 初始化随机数发生器
exp e的x次方
sin 正弦
cos
tan
sinh 双曲正弦
cosh
tanh
acos 反余弦
asin
atan
atof 字符串转double型数值
atoi 字符窜转int型数值
atol 字符串转long型数值
ceil 上限
floor 下限
5.setjmp.h 非局部的转移,包含了异常信号的宏定义
6.signal.h 异常处理
宏
SIGABRT 非正常的终止
SIGINT 中断
SIGILL 非法的指令
SIGFPE 非法的算术指令
SIGSEGV 访问非法的存储单元
SIGTERM 请求程序终止
SIG_DFL 当捕获一个指定的异常信号时终止程序
SIG_IGN 忽略一个指定的异常信号
7.stdarg.h 参数数量不固定的函数
8.stdio.h 输入输出
9.string.h 字符串处理函数
参考http://www.diybl.com/course/3_program/c/c_js/20091008/178247.html
10.time.h 时间函数
1.#include 包含一个文本文件的内容
2.#define 定义宏
3.#undef 取消先前定义的某个宏
4.#if 如果条件满足执行指定动作
5.#ifdef 如果已经定义了某个宏,执行指定动作
6.#ifndef 与#ifdef相反,如果没有定义某个宏,执行指定动作
7.#else 如果先前的#if、#ifdef或ifndef不成立,执行指定动作
8.#endif 作为#if、#ifdef或#ifndef的结束标志
9.#elif 也就是else-if的意思,用于#if-#else的嵌套
10.#line 设置当编译器发出警告或错误信息时所使用的行号
11.#erro 指定编译期间的错误及对应信息
12.#pragma 给编译器提供实现细节信息
13.# 忽略此行
一些有用的系统头文件
1.ctype.h 测试和修改字符函数
<ctype.h>
关于字符类型的头文件操作
tolower() 转换成小写
toupper() 转换成大写
isalpha() 测试字母
islower() 测试小写
isupper() 测试大写
isalnum() 测试大写或小写
iscntrl() 测试控制符
isprint() 可打印字符包括空格
isgraph() 可打印字符不包括空格
isdigit() 是十进制数(0-9)
isxdigit() 十六进制基数
isblank() 标准空白字符(空格,\t)
isspace() 空格字符(空格,\t,\v,\r,\n,\f)
ispunct() isspace()&isalnum()返回false的可打印字符
2.float.h 描述局部浮点数状态
在float.h中定义的部分常量 Borland C++中的值
FLT_DIG float型的有效位个数 6
DBL_DIG double型的有效位个数 15
LDBL_DIG long double型的有效位个数 19
FLT_EPSILON float 型的最小正数x,满足1.0+x!=1.0 1.9209290e-07
DBL_EPSILON double型的最小正数x,满足1.0+x!=1.0 202204460492503131e-19
LDBL_EPSILON long double 型的最小正数x,满足1.0+x!=1.0 1.084202172485504e-19
FLT_MAX float型的最大值 3.40282347e38
DBL_MAX double型的最大值 1.797693134862316e308
LDBL_MAX long double型的最大值 1.18973149535723e4932
FLT_MAX_10_EXP float型允许的10为底的最大指数 38
DBL_MAX_10_EXP double型允许的10为底的最大指数 308
LDBL_MAX_10_EXP long double型允许的10为底的最大指数 4932
3.limits.h 描述局部整数状态
SCHAR_MIN 一个signed char型量的最小值(下面类似)
SCHAR_MAX
UCHAR_MAX
CHAR_MIN
CHAR_MAX
SHRT_MIN
SHRT_MAX
USHRT_MAX
INT_MIN
INT_MAX
UINT_MAX
LONG_MIN
LONG_MAX
ULONG_MAX
4.math.h 数学函数
abs int型数值的绝对值
fabs float型数值的绝对值
labs long 型绝对值
log 以e为底
log10 以10为底
pow x^y
rand 产生随机数
sqrt 平方根
srand 初始化随机数发生器
exp e的x次方
sin 正弦
cos
tan
sinh 双曲正弦
cosh
tanh
acos 反余弦
asin
atan
atof 字符串转double型数值
atoi 字符窜转int型数值
atol 字符串转long型数值
ceil 上限
floor 下限
5.setjmp.h 非局部的转移,包含了异常信号的宏定义
6.signal.h 异常处理
宏
SIGABRT 非正常的终止
SIGINT 中断
SIGILL 非法的指令
SIGFPE 非法的算术指令
SIGSEGV 访问非法的存储单元
SIGTERM 请求程序终止
SIG_DFL 当捕获一个指定的异常信号时终止程序
SIG_IGN 忽略一个指定的异常信号
7.stdarg.h 参数数量不固定的函数
8.stdio.h 输入输出
9.string.h 字符串处理函数
参考http://www.diybl.com/course/3_program/c/c_js/20091008/178247.html
10.time.h 时间函数
- C语言的一些预处理指令和系统头文件
- 对c语言预处理中头文件包含的一些新的理解
- C语言的预处理指令
- c语言的预处理指令
- C语言头文件和库的一些问题
- c语言编译01--预处理--头文件的结构和用途
- C语言的本质(20)——预处理之二:条件预处理和包含头文件
- C语言(预处理与头文件)
- C语言中有用的宏和系统头文件
- C语言头文件的一些规则
- C语言-预处理指令3-文件包含
- 【C语言】预处理指令—文件包含
- C语言 预处理指令 3文件包含
- C语言的预处理和条件编译指令
- C语言预处理指令
- C语言预处理指令
- C语言预处理指令
- C语言预处理指令
- Linux slab 分配器剖析
- SVG图片元素实现Tooltip提示功能
- JVM内存结构及java相关基础知识
- shell 编程中空格的使用–< 转>
- 从个人网站又回到了csdn
- C语言的一些预处理指令和系统头文件
- java 获取汉字拼音的首字母 .
- 使用 ftrace 调试 Linux 内核,第 1 部分
- HDU 1074
- GridBagLayout和使用多个布局管理器
- PhotoShop中如何把一张图片的背景设为透明效果
- DOM
- 利用开源的驰骋工作流程引擎,处理的集团公司流程应用案例之一.
- 【Android】实现静默安装APK的两种方法