math.h
マクロライブラリ
HUGE_VAL |
関数の結果は、浮動小数点数として表現できない場合。一定の大きな値の名前(HUGE_VAL)の - 結果の大きさが表現するには大きすぎるので、それがある場合、関数はエラーの範囲、及びマクロHUGE_VALまたはその否定によってリターンを表すためにERANGEをerrnoに設定します。あまりにも小さな振幅の結果ならば、ゼロの値が返されます。この場合には、エラーがERANGEに設定することができる、ERANGEとが設定されなくてもよいです。 |
三角関数
ダブル罪(ダブルアングル) |
ラジアン角の角度の正弦を返します。 |
ダブルCOS(ダブルアングル) |
ラジアン角の角度のコサインを返します。 |
ダブルタン(ダブルアングル) |
ラジアン角の角度のタンジェントを返します。 |
ダブルASIN(double値) |
アークサインをラジアンの値を返します。 |
ダブルACOS(double値) |
ラジアンでアークコサインの値を返します。 |
ダブルATAN(double値) |
アークタンジェントをラジアンの値を返します。 |
ダブルATAN2(ダブルY、ダブルX) |
戻るラジアンY / Xの逆正接インチ シンボル値xおよびyは正しい象限を決定します。 |
注意:
sin
、cos
、tan
入力パラメータの角度はラジアンです。
asin
、acos
そうでない場合は、パラメータ-1~1
間のドメイン・エラーは、登場しました。
asin
、atan
:範囲の戻り値-pi/2~pi/2
との間のラジアンです。
acos
戻り値は以下のとおりです。-pi~pi
間にアーク。
双曲線関数
ダブルSINH(ダブルアングル) |
ラジアン角の角度の双曲線正弦を返します。 |
ダブルCOSH(ダブルアングル) |
ラジアン角の角度の双曲線余弦を返します。 |
ダブルTANH(ダブルアングル) |
ラジアン角の角度の双曲線正接を返します。 |
対数と指数関数
ダブルEXP(ダブルエックス) |
x乗値eを返します。 |
ダブルログ(ダブルエックス) |
Xは、自然対数(対数の底e)を返します。 |
ダブルLOG10(ダブルエックス) |
戻り値Xを常用対数(10を底とする対数)。 |
浮動小数点表現
ダブルfrexp(ダブルのx、int型*指数) |
仮数と指数x分解に浮動小数点数。戻り値は仮数部で、指数は、インデックスに格納されます。結果の値は、x =仮数部* 2 ^指数で、仮数は、関数の戻り値です。 |
ダブルldexp(ダブルのx、int型の指数) |
指数のパワーに2を乗じたXを返します。 |
ダブルMODF(ダブルのx、ダブル*整数) |
戻り値は、小数部分(小数点以下部分)であり、そして一部を整数の整数を設定します。 |
パワー
ダブルPOW(ダブルのx、ダブルy)は |
xのy乗を返します。 |
ダブルSQRT(ダブルエックス) |
xの平方根を返します。 |
実数、トップ数、残りの絶対値
ダブルはceil(ダブルエックス) |
それは、xの最小値以上の整数を返し。 |
重床(ダブルエックス) |
x以下の最大の整数値を返します。 |
ダブルファブ(ダブルエックス) |
xの絶対値を返します。 |
ダブルFMOD(ダブルのx、ダブルy)は |
Yで割ったXの余りを返します。 |
TIME.H
マクロライブラリ
ヌル |
ヌルポインタ値は一定です。 |
CLOCKS_PER_SEC |
なお、第2のプロセッサあたりのクロック数を示しています。 |
ライブラリ変数
size_tの |
それはのsizeofキーワードの結果であり、符号なし整数型です。 |
clock_t |
プロセッサ時間のためのメモリのタイプがあります。 |
time_tの |
これは、カレンダーの時間を保存するのに適したタイプです。 |
構造体tm |
時間と日付を保持する構造体です。 |
tm
次のように構造が定義されています。
struct tm {
int tm_sec; /* 秒,范围从 0 到 59 */
int tm_min; /* 分,范围从 0 到 59 */
int tm_hour; /* 小时,范围从 0 到 23 */
int tm_mday; /* 一月中的第几天,范围从 1 到 31 */
int tm_mon; /* 月,范围从 0 到 11 */
int tm_year; /* 自 1900 年起的年数 */
int tm_wday; /* 一周中的第几天,范围从 0 到 6 */
int tm_yday; /* 一年中的第几天,范围从 0 到 365 */
int tm_isdst; /* 夏令时 */
};
プロセッサ時間
clock_tクロック(無効) |
返回程序执行起(一般为程序的开头),处理器时钟所使用的时间。返回值通常是处理器时钟滴答的次数,为了把这个数值转换成秒,需要除以CLOCKS_PER_SEC。 |
当天时间
time_t time(time_t *timer) |
计算当前日历时间,并把它编码成 time_t 格式。 |
说明:
- 如果参数是非NULL值,时间值也将通过这个这个指针进行存储。
- 如果机器无法提供当前的日期和时间,或者时间值太大,无法使用
time_t
变量表示,函数返回-1
。
- 在MS-DOS和UNIX系统中,时刻开始流失的时刻是1970年1月1日00:00:00 。
日期和时间转换
char ctime(const time_t timer) |
返回一个表示当地时间的字符串,当地时间是基于参数 timer。 |
double difftime(time_t time1, time_t time2) |
返回 time1 和 time2 之间相差的秒数 (time1-time2)。 |
struct tm gmtime(const time_t timer) |
timer 的值被分解为 tm 结构,并用协调世界时(UTC)也被称为格林尼治标准时间(GMT)表示。 |
struct tm localtime(const time_t timer) |
timer 的值被分解为 tm 结构,并用本地时区表示。 |
char asctime(const struct tm timeptr) |
返回一个指向字符串的指针,它代表了结构 timeptr 的日期和时间。 |
size_t strftime(char str, size_t maxsize, const char format, const struct tm *timeptr) |
根据 format 中定义的格式化规则,格式化结构 timeptr 表示的时间,并把它存储在 str 中。 |
time_t mktime(struct tm *timeptr) |
把 timeptr 所指向的结构转换为一个依据本地时区的 time_t 值。 |
注意:
%% |
百分号 |
%a |
星期几的简写 |
%A |
星期几的全称 |
%b |
月份的简写 |
%B |
月份的全称 |
%c |
日期和时间 |
%d |
一个月的第几天(01-31) |
%H |
24小时制的小时(00-23) |
%I |
12小时制的小时(00-12) |
%J |
一年的第几天 |
%m |
月数(01-12) |
%M |
分钟(00-59) |
%p |
本地的AM或PM的等价显示 |
%S |
秒(00-59) |
%U |
一年的第几周,把星期日做为第一天(值从0到53) |
%w |
一星期的第几天,星期日为第0天 |
%W |
一年的地基星期(值从0到53),星期一为第一天 |
%x |
使用本地的日期格式 |
%X |
使用本地的时间格式 |
%y |
当前世纪的年份(00-99) |
%Y |
年份的全写形式 |
%Z |
时区名称,如果不能得到时区名称则返回空字符。 |
assert.h
void assert(int expression) |
这实际上是一个宏,不是一个函数,可用于在 C 程序中添加诊断。 |
说明:
- 如果宏对表达式测试的结果为假,它就向标准错误打印一条诊断信息并终止程序。
- 当程序被完整测试完毕之后,可以在编译时通过定义
NDEBUG
消除所有的断言。当NDEBUG
被定义后,预处理器将丢弃所有的断言,而不必在程序中把所有的断言实际删除。
ctype.h
int isalnum(int c) |
该函数检查所传的字符是否是字母和数字。 |
int isalpha(int c) |
该函数检查所传的字符是否是字母。 |
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 tolower(int c) |
该函数把大写字母转换为小写字母。 |
int toupper(int c) |
该函数把小写字母转换为大写字母。 |
说明:
- 图形字符:字母、数字字符和标点符号字符的集合。
- 可打印字符:字母、数字字符、标点符号字符和空格字符的集合。
- 控制字符:在 ASCII 编码中,这些字符的八进制代码是从 000 到 037,以及 177(DEL)。
- 空格字符:制表符、换行符、垂直制表符、换页符、回车符、空格符的集合。
- 空白字符:包括空格符和制表符。
string.h
库变量
size_t |
无符号整数类型,它是 sizeof 关键字的结果。 |
库宏
字符串长度
size_t strlen(const char *str) |
计算字符串 str 的长度,直到空结束字符,但不包括空结束字符。 |
不受限制的字符串函数
char strcpy(char dest, const char *src) |
把 src 所指向的字符串复制到 dest。 |
char strcat(char dest, const char *src) |
把 src 所指向的字符串追加到 dest 所指向的字符串的结尾。 |
int strcmp(const char str1, const char str2) |
把 str1 所指向的字符串和 str2 所指向的字符串进行比较。 |
长度受限的字符串函数
char strncpy(char dest, const char *src, size_t n) |
把 src 所指向的字符串复制到 dest,最多复制 n 个字符。 |
char strncat(char dest, const char *src, size_t n) |
把 src 所指向的字符串追加到 dest 所指向的字符串的结尾,直到 n 字符长度为止。 |
int strncmp(const char str1, const char str2, size_t n) |
把 str1 和 str2 进行比较,最多比较前 n 个字节。 |
字符串查找
char strchr(const char str, int c) |
在参数 str 所指向的字符串中搜索第一次出现字符 c(一个无符号字符)的位置。 |
char strrchr(const char str, int c) |
在参数 str 所指向的字符串中搜索最后一次出现字符 c(一个无符号字符)的位置。 |
char strpbrk(const char str1, const char *str2) |
检索字符串 str1 中第一个匹配字符串 str2 中字符的字符,不包含空结束字符。也就是说,依次检验字符串 str1 中的字符,当被检验字符在字符串 str2 中也包含时,则停止检验,并返回该字符位置。 |
char strstr(const char haystack, const char *needle) |
在字符串 haystack 中查找第一次出现字符串 needle(不包含空结束字符)的位置。 |
size_t strspn(const char str1, const char str2) |
检索字符串 str1 中第一个不在字符串 str2 中出现的字符下标。 |
size_t strcspn(const char str1, const char str2) |
检索字符串 str1 开头连续有几个字符都不含字符串 str2 中的字符。 |
char strtok(char str, const char *delim) |
分解字符串 str 为一组字符串,delim 为分隔符。 |
内存操作
void memchr(const void str, int c, size_t n) |
在参数 str 所指向的字符串的前 n 个字节中搜索第一次出现字符 c(一个无符号字符)的位置。 |
int memcmp(const void str1, const void str2, size_t n) |
把 str1 和 str2 的前 n 个字节进行比较。 |
void memcpy(void dest, const void *src, size_t n) |
从 src 复制 n 个字符到 dest。 |
void memmove(void dest, const void *src, size_t n) |
另一个用于从 src 复制 n 个字符到 dest 的函数。 |
void memset(void str, int c, size_t n) |
复制字符 c(一个无符号字符)到参数 str 所指向的字符串的前 n 个字符。 |
错误信息
char *strerror(int errnum) |
从内部数组中搜索错误号 errnum,并返回一个指向错误消息字符串的指针。 |
其它
int strcoll(const char str1, const char str2) |
把 str1 和 str2 进行比较,结果取决于 LC_COLLATE 的位置设置。 |
size_t strxfrm(char dest, const char src, size_t n) |
根据程序当前的区域选项中的 LC_COLLATE 来转换字符串 src 的前 n 个字符,并把它们放置在字符串 dest 中。 |