(篇四)C语言静态变量法,求各阶乘,的和


本篇仍然是C语言的相关知识,主要分析了用C语言的静态变量来求各个阶乘的和;当然也包括了阶乘和静态变量的相关分析

静态变量求阶乘相加

1、阶乘的概念:

From“科普中国”
一个正整数的阶乘(factorial)是所有小于及等于该数的正整数的积,并且0的阶乘为1。自然数n的阶乘写作n!。1808年,基斯顿·卡曼引进这个表示法。
亦即n!=1×2×3×…×(n-1)×n。阶乘亦可以递归方式定义:0!=1,n!=(n-1)!×n。
阶乘

2、静态变量的概念:

From“科普中国”
静态变量(Static Variable)在计算机编程领域指在程序执行前系统就为之静态分配(也即在运行时中不再改变分配情况)存储空间的一类变量。与之相对应的是在运行时只暂时存在的自动变量(即局部变量)与以动态分配方式获取存储空间的一些对象,其中自动变量的存储空间在调用栈上分配与释放。

3、静态变量大白话:
(1)说白了静态变量就是作用域无法影响其值的变量,比如在C语言的函数中,形参都是临时变量,函数调用结束后,临时变量的内存空间就会被释放掉;
(2)可是静态变量就不会,它会一直存在,知道整个程序运行结束;
(3)如果你在函数中定义一个静态变量,该静态变量的内存空间也不会随着函数调用结束而消失;
(4)静态变量只能在定义它们的函数中引用,跳出该函数后其值不变,下一次再调用该函数时,其值仍为上次结束时的值
(5)在C语言中,静态变量是由static存储类声明的变量

4、题:
求1到n的阶乘相加

5、分析用静态变量求阶乘:
(1)原本求阶乘就是需要两个变量,一个用来保存每一项阶乘的值,一个用来保存各阶乘的和;
(2)求每一项阶乘中,又需要让前一项阶乘的值保持不变;所以这时候就可以用静态变量来处理;
(3)比如用s来做每一项的阶乘,n2表示该阶乘的下一项数字,则求阶乘的函数中应该用s= s*n2;来求下一项的阶乘;

//求阶乘 
long factor(int n2)
{
   
   
	static long s= 1;		
	//定义静态变量s:静态变量只能在定义它们的函数中引用,跳出该函数后其值不变,下一次再调用该函数时***其值仍为上次结束时的值*** 
	
	s= s*n2;
	return s;
}

(4)然后每次返回s的值,加到求和变量sum中,在循环条件下,n2的值会加1,一直加到我们指定的那个值才停,循环结束,求和完成

//求阶乘的和 
long sum(int n1)
{
   
   
	int i;
	long sum= 0;
	for(i=1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鸿蒙Next

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值