这个需要分情况来看。
1.C语言源程序通过预处理然后编译,产生汇编代码,不同的汇编代码和指令有不同的执行时间。
2.一个指令的执行时间,用其所需要的指令周期(执行一条指令所需要的时间)来衡量。对于单字节指令,就是一个读取-执行周期(fetch-execute cycle),对于多字节指令,还需要更多的指令周期。
3.一个指令周期,一般是由若干个机器周期(完成一次基本操作需要的时间,比如获取变量在RAM当中的地址)组成。
4.再一个,时钟周期,这个可以形象一点地和通常所说的主频联系起来,比如CPU核心的主频是2.5GHz,则时钟周期为0.4ns,这个是计算机当中最小的时间计量单位。一个机器周期由若干个时钟周期组成。
视编译后的内容定。
最终计算机运行的都是汇编语言的指令。因此,C语言只是个过渡的高级编译工具。
如果需要看某个C语言命令的运行时间,建议编译后,查看其中的每条汇编指令,再查相关的汇编指令的运行周期,根据CPU的时钟,累计计算出具体多少时间。
粗略的办法:
将某条C语言命令重复运行1万遍(以上),记录开始的时间和结束的时间,并除运行次数。