C语言第五讲循环结构.ppt
break和continue#includestdio.hintmain(void){charc;inti;for(i=0;i10;i++){c=getchar();if(c==\n)break;putchar(c);}}abc↙efgh↙123↙abcabcefgh1continue;C语言程序设计网络信息与计算中心教研室4.4求1!+2!+….+100!for(i=1;i=100;i++){item=i!sum=sum+item;}4.4.1程序解析调用函数fact(i)计算i的阶乘4.4.2嵌套循环用循环计算i的阶乘#includestdio.hdoublefact(intn);intmain(void){ inti;doublesum; sum=0;for(i=1;i=100;i++) sum=sum+fact(i);printf(1!+2!+3!+…+100!=%e\n,sum);return0;}doublefact(intn){inti; doubleresult=1;for(i=1;i=n;i++) result=result*i;returnresult;}4.4.1程序解析
求1!+2!+….+100!C语言程序设计网络信息与计算中心教研室4.4.2嵌套循环for(i=1;i=100;i++){item=i!sum=sum+item;}for(i=1;i=100;i++){item=1; for(j=1;j=i;j++) item=item*j;sum=sum+item;}例4-6源程序#includestdio.hintmain(void){ inti,j; doubleitem,sum;/*item存放阶乘*/ sum=0;for(i=1;i=100;i++){item=1;/*每次求阶乘都从1开始*/ for(j=1;j=i;j++) /*内层循环算出item=i!*/ item=item*j; sum=sum+item; } printf(1!+2!+3!+…+100!=%e\n,sum);}C语言程序设计网络信息与计算中心教研室内层循环的初始化for(i=1;i=100;i++){item=1; for(j=1;j=i;j++) item=item*j;sum=sum+item;}求1!+2!+….+100!item=1;for(i=1;i=100;i++){for(j=1;j=i;j++)item=item*j;sum=sum+item;}求1!+1!*2!+……+1!*2!*……*100!C语言程序设计网络信息与计算中心教研室分析嵌套循环的执行过程for(i=1;i=100;i++){item=1; for(j=1;j=i;j++) item=item*j;sum=sum+item;}外层循环变量i的每个值内层循环变量j变化一个轮次;内外层循环变量不能相同分别用i和jC语言程序设计网络信息与计算中心教研室for(i=1;i=100;i++)