C和指针-10


标准函数库

<stdlib.h>

int abs(int value);
long int labs(long int value);
div_t div(int numerator, int denominator);
ldiv_t ldiv(long int numer, long int denom);

abslabs返回参数的绝对值。

divldiv返回商和余数,第二个参数是分母,第一个参数是分子。

int quot;//商
int rem;//余数

随机数:

int rand(void);
void srand(unsigned int seed);

字符串转换:

int atoi(char const*string);
long int atol(char const *string);
long int strtol(char const *string,char **unused, int base);
unsigned long int strtoul(char const *string, char **unused, int base);

如果上述函数第一个参数含有前导空白字符,它们将被跳过,如果存在任何非法缀尾字符,也会被忽略。

<math.h>

常见三角函数

double sin(double angle);
double cos(double angle);
double tan(double angle);
double asin(double value);
double acos(double value);
double atan(double value);
double atan2(double x,duoble y);

对数和指数

double exp(double x);
double log(double x);
double log10(double x);

double pow(double x, double y);
double sqrt(double x);

底数、顶数、绝对值和余数

double floor(double x);
double ceil(double x);
double fabs(double x);
double fmod(double x, double y);

<time.h>

clock_t clock(void);

clock 函数返回从程序开始执行起处理器所消耗的时间,如果时间太大返回-1,除以常量CLOCKS_PER_SEC以转换成秒。

获取时间

time_t time(time_t *returned_value);

转换

char *ctime(time_t const *time_value);
double difftime(time_t time1, time_t time2);
struct tm *gmtime(time_t const *time_value);
struct tm *localtime(time_t const *time_value);

fifftime 函数计算时间差值,并转换成秒。
gmtime 把时间转换成UTC.

信号 <signal.h>

raise 函数用于显式地引发一个信号

int raise(int sig);

当一个信号发生时,程序可以使用三种对它的处理方式,默认是由编译器定义的,通常是终止程序。信号可以被忽略,或者程序设置一个信号处理函数,信号发生时调用这个函数。

void (*signal (int sig, void (*handler)(int)))(int);

执行环境

终止执行

void abort(void);   // 不正常地终止一个正在执行的程序
void atexit(void (func)(void)); //可以把一些函数注册为退出函数,程序正常终止时被调用
void exit(int status);正常终止

断言 <assert.h>

void assert(int expression);

你可以在编译时通过定义NDEBUG消除所有的断言。可以使用-DNDEBUG命令行命令或者在包含<assert.h>头文件前增加

#define NDEBUG
  • 分享:
评论
还没有评论
    发表评论 说点什么