《C语言编程中的for循环探索之旅》

一、for 循环基本结构形式:

基本结构:

for(表达式1;表达式2;表达式3){语句块}

     进入for循环,①首先执行表达式1,表达式1是也是初始化语句。②接着执行表达式2,如果表达式2的条件是真(或说表达式2条件成立)就执行for循环内部的语句块,语句块执行完成后自动执行表达式3(一般是是自增或自减)③表达式3执行完成后,返回判断表达式2的条件是否成立。如果是真继续第②步的操作,如果不成立则跳出循环体。for循环如果不带{}那么会执行最近的语句块。

例: 求1~100整数之间所有数的和

#include<stdio.h>
void main()
{
	int i, sum=0;	  //初始化i和sum 
for(i=1;i<=100;i++){  //注意for内部的分号 
	sum=sum+i;
	}
	printf("%d",sum);
}

二、for循环二层嵌套

#include<stdio.h>
void main()//打印乘法口诀表 ,for循环的嵌套 
{
/* 精典的99乘法口诀表控制程序*/ 
int i,j;					//初始化变量i、j -----------------------------①
for(i=1;i<=9;i++){			//控制显示列,(外圈循环的次数 )----------------②
		for(j=1;j<=i;j++){	//控制每一行显示的个数 可以给本行的i改成9试试看--③
			printf("%d*%d=%d \t",i,j,j*i); //打印算式---------------------④
		}
		printf("\n"); 		                //打印外层的换行---------------⑤
	}
}

上面一个例子是99乘法口诀表:

①首先初始化变量i和j

②控制外层的循环,首先给i赋值为1,i<=9成立,执行③的for循环体

③语句(控制每一行乘法的个数,执行j次循环)第1次循环时(i=1)那么j也是1,就执行1次④printf函数,然后跳出③的for循环体,执行⑤换行程序;——第9次循环时(i=9)那么j也是9,就执行9次④printf函数,然后跳出③的for循环体,执行⑤换行程序;

可以给i和j换成不同值测试,看看打印出的效果如下图

 for循环可以多层嵌套,但是工作中以二层嵌套居多,多层嵌套程序的可读性变差。可以将二层嵌套分解为单层嵌套:先是外层for循环②执行一次,内层for循环③执行j次,执行完成后跳出内层循环;外层循环执行第二次,内存循环执行j次,执行完成后跳出内层循环,重复此操作;直到外层循环i次执行完毕,跳出整个大循环 

嵌套图解

 例1:求出 1!+2!+3!+…+n!的和。

#include<stdio.h>
void main(){
/*1、求出 1!+2!+3!+…+n!的和  n!=1*2*3*/
int n ; //存储1!+2!+3!+…+n!中n的值
int i, j; //循环变量
int y = 1;//用于计算每个数的阶乘初始化 
unsigned long sum=0;
printf("请输入n的值:");
scanf("%d", &n); 
for(i=1;i<=n;i++){			//控制阶层的加法,
		for(j=1;j<=i;j++){	//计算单个阶层 n! (n!=n*(n-1)) 
			y=y*j;
			printf("内循环 %d 次 \t",y); 
		}
	sum=sum+y;
	y=1;      //这句很关键,为下一个循环初始化y 
	printf("外循环 %d 次和是 %d \n",i,sum); 	
	}
}

 输出结果

友情提示:技术交流及代码分享QQ群号码:255864236

物联沃分享整理
物联沃-IOTWORD物联网 » 《C语言编程中的for循环探索之旅》

发表评论