(C语言)clock()函数的基本使用

先简单介绍下clock()函数:

1.直接去这个网址看,写的很全面而且c语言标准库函数他都有

clock - C++ Reference

网址主页:www.cpluspluc.com

2.我口头介绍下

需要包含头文件 <time.h>

clock()函数的返回值就是你程序当前运行的时间(毫秒为单位),类型是长整型,如果你想求某一个函数或者代码段运行的时间,那么可以设置两个变量分别在代码段的前面和代码段的后面(这两个变量可以用 clock_t类型来创建,但本质上clock_t就是一个typedef长整型。也就是说你用long来创建也是可以的),然后利用差值来求出这段代码运行的时间。例如:

long start,end,result;

start=clock();

需要测试的代码段;

end=clock();

result=end-start;

则result里面保存的就是这段测试代码所运行的时间了(以毫秒为单位);

看不懂没关系,下面上代码,代码中的注释很详细:

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<windows.h>
#include<time.h>

long test(int num)
{
	int mul = 1;
	for (int i = 1; i <= num; i++)
	{
		mul *= i;
	}
	return mul;
}

int main()
{
	int t = 0;
	int num = 0;
	int count = 0;
	printf("请输入测试代码求谁的阶乘(输入值别太小了,建议以亿为单位,太大也不行):");
	scanf("%d", &num);
	
	clock_t start, end;//clock_t本质上是宏定义的一个长整型 也就是说,使用clock_t定义变量相当于在用long定义变量

	start = clock();//clock()的返回值的单位是毫秒
	count=test(num);
	end = clock();

	t = end - start;
	printf("test()函数运行时间:%ld毫秒\n", t);//注意,长整型使用的格式为%ld,l代表long,d代表decimal(十进制)
	printf("test()函数运行时间:%f毫秒\n", (float)t);//这就是以毫秒为单位的,当然如果你以毫米为单位,那么没必要转换成浮点型,因为小数点后永远是0
	
	printf("test()函数运行时间:%f秒\n",(float)t/CLOCKS_PER_SEC);//CLOCK_PER_SEC本质上是一个长整型的1000,相当于转化成以秒为单位了
	printf("test()函数运行时间:%.3f秒\n", (float)t / CLOCKS_PER_SEC);//在%d中间加入.3代表保留三位小数

	printf("test()函数运行时间:%.3lf毫秒\n", (double)t);//当然,你强制类型转换成double也是可以的
	system("pause");
	return 0;
}

如果觉得学到了,点个赞吧。最近文章阅读量不少,但没啥点赞。呜呜呜~ 

上一篇:c语言实现常见字符串函数strchr strstr strcmp atoi itoi(字符串换成整数)


下一篇:【深入理解计算机系统】 四:顺序逻辑电路