程序员Feri一名12年+的程序员,做过开发带过团队创过业,擅长Java、鸿蒙、嵌入式、人工智能等开发,专注于程序员成长的那点儿事,希望在成长的路上有你相伴!君志所向,一往无前!
1 日期和时间相关函数
在编程中,程序员会经常使用到日期相关的函数,比如:统计某段代码执行花费的时间等等。
头文件是 <time.h>
。
举例说明:
-
返回一个值,即格林尼治时间1970年1月1日00:00:00到当前时刻的时长,时长单位是秒。
time_t time(time_t *t)
-
获取当前时间,返回一个表示当地时间的字符串(当地时间是基于参数timer的)。
char *ctime(const time_t *timer)
-
计算time1和time2之间相差的秒数(time1-time2)
double difftime(time_t time1, time_t time2)
举例:
#include <stdio.h>
#include <time.h> //该头文件中,声明日期和时间相关的函数
// 运行test函数,看看执行花费时间
void test() {
int i = 0;
int sum = 0;
int j = 0;
for (i = 0; i < 10000000; i++) {
sum = 0;
for (j = 0; j < 100; j++) {
sum += j;
}
}
}
int main() {
printf("程序启动...\n");
time_t start_t;
//先得到执行test前的时间
time(&start_t); //获取当前时间
test(); //执行test
time_t end_t;
//再得到执行test后的时间
time(&end_t); //获取当前时间
double diff_t; //存放时间差
diff_t = difftime(end_t, start_t); //时间差,按秒 ent_t - start_t
//然后得到两个时间差就是耗用的时间
printf("%d\n",start_t); //1697026306
printf("%d\n",end_t); //1697026308
printf("执行test()函数 耗用了%.2f 秒\n", diff_t); //执行test()函数 耗用了2.00 秒
//获取时间对应的字符串的表示
char * startTimeStr = ctime(&start_t);
printf("%s\n",startTimeStr); //Wed Oct 11 20:11:48 2023
return 0;
}
2 数学运算相关的函数
math.h
头文件定义了各种数学函数。在这个库中所有可用的功能都带有一个 double 类型的参数,且都返回 double 类型的结果。
-
double exp(double x) :返回 e 的 x 次幂的值。
-
double log(double x) :返回 x 的自然对数(基数为 e 的对数)
-
double pow(double x, double y) :返回 x 的 y 次幂。
-
double sqrt(double x) :返回 x 的平方根。
-
double fabs(double x) :返回 x 的绝对值。
#include <stdio.h>
#include <math.h>
int main() {
double d1 = pow(2.0, 3.0);
double d2 = sqrt(5.0);
printf("d1=%.2f\n", d1); //d1=8.00
printf("d2=%f\n", d2); //d2=2.236068
return 0;
}
日期和数学相关函数,看着是不是很简单?那就赶紧拿下他!