《c语言累加累乘.ppt》由会员分享,可在线阅读,更多相关《c语言累加累乘.ppt(17页珍藏版)》请在三一办公上搜索。
1、循环语句运用,累加累乘 南通大学 徐丹,while,while(表达式)语句;只要表达式的值为非0,就重复执行语句,直到表达式值为0时止。先判断后执行,循环次数=0。,do-while,do 语句;while(表达式);首先执行语句,然后判断表达式的值。如果表达式为0,继续向下执行,否则,再次执行语句,再次判断表达式的值。语句会被至少执行一次。,for,for(表达式1;表达式2;表达式3)语句;“表达式1”用来实现循环变量初始化工作;“表达式2”作为循环条件;“表达式3”用于循变量的更新。若循环体只有一条语句,则“”可省略。循环次数=0。,选择三种循环的一般原则,如果循环次数已知,用for如
2、果循环次数未知,用while如果循环体至少要执行一次,用do-while这只是“一般”原则,不是“原则”,1+2+3+1001-2+3-4+99-1001-1/3+1/5-1/19+1/211*2*3*202*4*6*20累加:就是定义一个变量(s=0)来保存结果,另定义一个变量(i)实现数值的变化。把数值变化的那个变量(i)的值每次和保存结果的变量(s)进行加运算,结果赋给s.比如1-10的累加,就是先把1赋给i,和s相加结果给s,之后i变成2,再和s相加结果给s。如此反复就是累加。累乘也一样,但变量p=1。,累加累乘基本知识:,现场编程,题目1求 1+2+3+n分析1、n个数求和问题,用到
3、累加;2、用循环语句反复累加,循环体内用S=S+X形式赋值语句;3、变量S初值为0。,代码#include main()int i,n,s;scanf(%d,同学练习,求一百以内奇数和sum=1+3+5+99#includemain()int n,i,sum;n=100;sum=0;for(i=0;i n;i+)if(i%2=1)sum=sum+i;Printf(“sum=%d n”,sum);,现场编程,题目2 求n!=1*2*3*n的值分析1、运用到累乘,循环体内用P=P*I形式赋值语句;2、变量p初值为1;3、当n较大时,阶乘可能超出整形范围,所以可将累积值设为doouble型。,代码#
4、include main()int i,n;double p;scanf(%d,同学练习,计算二十以内偶数积P=2*4*6+*20#includemain()int n,i,P;n=20;P=1;for(i=0;i=n;i+)if(i%2=0)p=p*i;Printf(“p=%.0fn”,p);,现场编程,题目3求1!+2!+3!+.+20!分析1、20个数求和问题,用到累加;每个数是一个阶层,又要用到累乘。2、循环体内用到S=S+X和P=P*I赋值语句。3、S初值为0,P而初值为1。,代码#includemain()int i,p,s;p=1;s=0;for(i=1;i=20;i+)p=p*i;s=s+p;printf(1!+2!+20!=%d,s);,总结,1、在求和求积问题中,一般都要用到累加器和累乘器。2、循环体中的赋值语句应根据题目中要求的各项特点而定。3、循环体内有些变量往往要事先给定初始值。4、对变量赋值初始值的语句应放在循环体之外,即在for语句循环之外。,作业,求 xn。求 1-1/3+1/5-的前n项和。,