C语言计算s=2^2!3^2!(用函数)C语言计算s=2^2!+

long f1(int p)

int k;

long r;

long f2(int);

k=p*p;

r=f2(k);

return r;

long f2(int q)

long c=1;

int i;

for(i=1;i<=q;i++)

c=c*i;

return c;

main()

int i;

long s=0;

for (i=2;i<=3;i++)

s=s+f1(i);

printf("\ns=%ld\n",s);

c语言函数-什么是C语言函数结?什么是C语言函数结构

  函数由函数头和函数体两部分组成。

1.函数头

函数头有经典与现代两种形式,现代形式称之为函数原型。

经典形式:

函数属性函数类型 函数名(函数参数表) 。

参数说明

如:static float f1(a,b,c)/*属性static,类型float,函数名f1,函数参数表\"a,b,c\"*/

float a,b,c;/*参数说明*/

现代形式:

函数属性函数类型 函数名(参数说明)

如:static double f2(float x,float y,float z)

说明:

(1)函数的属性或称函数的存储属性包括内部函数与外部函数两种,内部函数用保留字static描述,又称静态函数。

如何计算C语言中的延时函数

反汇编看下吧 还有就是拉个io口示波器量下就好了你 的程序有问题额。

void daly()

{unsigned char j;

for(j=60;j〈=0;j--)

你可去看看单片机的时钟信号产生电路中的有关

节拍:指振荡脉冲周期

状态:振荡脉冲尽过2分频后,就是单片机时钟信号的周期,定义为状态,一个状态等于两个节拍

机器周期:单片机采用定时控制方式,有固定的机器周期,一个机器周期等于6个状态,

机器周期=6个状态=12个节拍

当振荡脉冲频率为12mhz时,一个机器周期为1微秒,振荡脉冲频率为6mhz,一个机器周期为2微秒

数据类型中unsigned char为无符号字符型值域是在0~~~255范围里

在上面我设的是60次的循环,且晶振是约在12mhz,那么可以看出我们的算值是用60x1微秒,即可得到我们所要的延时值啊

C语言delay的延时函数怎么写

回答这个问题前提需要搞清楚:

1.你的执行文件在那里运行?

2.你要延时是否“死等”,还是可以切换到其他任务?

-----------------------------------------------

如果你只是学习c语言,写个小函数玩玩,可以如下:

void delay(int time)

for(;time>0;time--)

nop;//可写任何无意义的操作

死等型的延时,时间根据指令执行速度不同而不同!!!!Sleep(1000),就是延时1秒,记住Sleep的S要大写,不然报错!包含头文件

#include 就是用晶振频率算cpu指令周期,再算delay循环中有几条代码,需要多少个指令周期。除一下可以算个大概。具体你可以结合硬件资料来算。

但是用delay函数来延迟不止和cpu指令周期有关,还和你是否使用了操作系统用了哪种操作系统有关。总之受影响的因素很多,做不到特别精确的。

更多推荐

c语言延时函数(c语言延时函数delay用法)