for循环一次的时间

2022-12-20 08:00

3个回答
不一定,也有说0.25us
用多重循环算平均时间:

#include
#include
#include

void main()
{
long int i,j,m;
time_t now = time (NULL);

printf("%s ",ctime(&now));
for(j=1;j<=1000;j++)
for(m=1;m<=1000;m++)
for(i=1;i<=1000;i++) {};
now = time (NULL);
printf("%s ",ctime(&now));
}

跑了1000*1000*1000次,用了3秒
每人的计算机速度不一样的
12M的晶振的机器周期是1/12M*12,就是1us

其次不同的单片机执行语句的机器周期也不一定一样(比如:Atmel 51系列及大多数51的一个机器周期是12个时钟周期,华邦的只需要4个时钟周期)。不过大体来说,一条for循环大概8个机器周期,在12M晶振下,通常用以下代码实现1ms的延时:

void delayms(unsigned int ms)
{
unsigned char i;
while(ms--)
{
for(i = 0; i < 120; i++);
}
}
大概算一下,120*8*1us=1ms,如果需要精确的定时,还是得用定时器。

如果是for (i=0;i<10000;i++);的话,
那么
大概算一下,10000*8*1us=80ms
相关问答
for循环可以对时间循环吗
1个回答2023-05-19 12:37
VB中用 Exit 语句可以直接退出 For 循环、Do 循环、子过程或函数过程。Exit 语句的语法很简单:Exit For 在 For 循环中出现的次数没有限制,Exit Do 在 Do 循环中出...
全文
for循环怎样嵌套?
1个回答2023-02-11 21:09
是这样的,外层循环每执行一次,内层循环就要执行N次。 比如: for(int i = 0;i <10; i++){ for(int j = 0; j < 10;j++){ System_ou...
全文
for循环如何嵌套
2个回答2023-02-23 07:15
外层循环每执行一次,内层循环就要执行N次。 比如: for(int i = 0;i <10; i++){ for(int j = 0; j < 10;j++){ System_...
全文
for循环中怎样跳出本次循环进入下次循环
2个回答2022-12-26 09:02
在你希望跳过本次循环剩余语句的地方,加上 continue; 这样本次循环在continue后面的语句就会被跳过,直接进入下一次循环
for循环的相关疑问
1个回答2022-10-14 19:40
里边的循环执行四次,外边的循环执行5次,总共20次
关于for循环问题
6个回答2022-08-25 01:57
Dim i as integer,j as integer //定义整型变量i,j j=10 //初始化j=10 for i=1 to j step 2 i=i+1 j=j-i next ...
全文
c++for怎么实现无限循环
1个回答2022-10-05 00:15
从最外层到最里层,外层执行一次,直到里层的的循环结束以后,它外面的那一层就执行一个步长,接着是最里层,以此类推。
for 循环执行时间
2个回答2022-09-21 04:05
void delays(int count) { int j; for(j=0; j<count; j++); } 在C中这是一个用户自定义的函数 delays 只是一个函数名字,coun...
全文
在java中什么是for循环。怎么使用。语法是什么。
3个回答2022-12-25 18:55
for (表达式1;表达式2;表达式3) { 若干语句 } for语句由关键字for和括号中用分号分割的3个表达式,以及一个复合语句组成,其中的“表达式2”必须是一个求值为bo...
全文
关于for循环的问题
2个回答2022-10-19 22:35
4是你想做的事,2一般来说是判断次数有没有达到上限,3一般是计数用的 for语句一般是重复做一件类似的事