clock()
功能:计算某程序从启动到函数调用占用CPU的时间
头文件:#include<stdio.h>
clock_t clock(void)
clock_t:是一种数据类型,是long int类型
返回值:该函数返回的是从程序开始运行到调用clock函数时所打的点数
定义两个clock_t变量begin、end,在调用函数之前调用clock函数,在程序执行完之后,在调用一次clock函数,此时end -begin得结果就是总打打点数,再用此结果除以CLOCKS_PER_SEC,就可得出程序运行用了多少秒了
ps:每秒所打的点数为CLOCKS_PER_SEC
CLOCKS_PER_SEC是一个常数,直接使用即可,在头文件#include<time.h>
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void test()
{
int a=989478945;
while(a--)
{}
}
int main()
{
clock_t begin,end;
begin=clock();
test();
end=clock();
printf("%lf\n",(double)(end-begin)/CLOCKS_PER_SEC);
//此处一定要强转,负责结果永远是0,因为整数/整数=0
//end-begin是函数运行结束,总的打点数,除以每秒的打点数 ,就是函数的运行时间了,单位是S
return 0;
}
运行结果:
在写循环的次数的时候,如果写的太小,就会出现结果是0,因为程序运行的太快了,基本忽略,故结果就会是0,如下:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void test()
{
int a=9894;
while(a--){
}
}
int main()
{
clock_t begin,end;
begin=clock();
test();
end=clock();
printf("%lf\n",(double)(end-begin)/CLOCKS_PER_SEC);
return 0;
}
运行结果:
除号: '/'
除号在计算时,两边的数分为两种情况:
(1)除号的两边都是整数的话,那结果一定是整数
(2)除号两边的数如果有一边是小数,那结果就是小数(如果两边都是小数,那结果肯定是小数了)