#include“stdio.h” #include“conio.h” void main() {int i,sum-0; for(i=1;i<=100;it+) sum +=i; /*累加*) printf("sum=%d n",sum) getchO); 2024/10/28 6
2024/10/28 6 #include “stdio.h” #include “conio.h” void main( ) { int i, sum=0; for( i = 1; i <= 100; i++) { sum += i;} /*累加*/ printf("sum=%d\n",sum); getch(); }
1.for语句的一般格式 for([循环变量赋初值];[循环条件];[循环变量增值]) {循环体;} 表达式可以部分 或全部缺省,但其间 的分号不能省略。 仅有1条语句, 可缺省大括号 2024/10/28 7
2024/10/28 7 1.for语句的一般格式 for([循环变量赋初值];[循环条件];[循环变量增值]) { 循环体;} 表达式可以部分 或全部缺省,但其间 的分号不能省略。 仅有1条语句, 可缺省大括号
2.for语句的执行流程 计算循环变量赋初值表达式 循环条件表达式=0? N 循环体语句组 计算循环变量增值表达式 2024/10/28 8
2024/10/28 8 计算循环变量赋初值表达式 计算循环变量增值表达式 循环体语句组 循环条件表达式=0? Y N 2.for语句的执行流程
(1)求解“循环变量赋初值”表达式。 (2)求解“循环条件”表达式: 非0,执行(3) 循环条件表达式= 0,转至(4) (3)执行循环体语句组,并求解“循环变量增值” 表达式,然后转向(2)。 (4)执行for语句的下一条语句。 2024/10/28 9
2024/10/28 9 (1)求解“循环变量赋初值”表达式。 (2)求解“循环条件”表达式: 循环条件表达式= (3)执行循环体语句组,并求解“循环变量增值” 表达式,然后转向(2)。 (4)执行for语句的下一条语句。 非0,执行(3) 0,转至(4)
[案例5.3]求n的阶乘nl(nl=1*2*.*n)。 #include“stdio.h” #include“conio.h void main( int i,n; long fact=1; /*初始化累乘器fact为1*/ printf("Input n:") scanf%d”,&n); for(i=1;i<=n;i++)/*实现累乘*/ fact *=i;} printf("%d =%ld n",n,fact); getchO); 2024/10/28 10
2024/10/28 10 [案例5.3] 求n的阶乘n!(n!=1*2*.*n)。 #include “stdio.h” #include “conio.h” void main() { int i, n; long fact=1; /*初始化累乘器fact为1*/ printf(“Input n: ”); scanf(“%d”, &n); for(i=1; i<=n; i++) /*实现累乘*/ { fact *= i; } printf("%d ! = %ld\n", n, fact); getch(); }