for循环的用法

for循环的基本用法:

定义:对某些代码重复执行

基本结构:for(A; B; C)

                            语句1;

控制的范围:只能控制一个语句。若要控制多个语句则需要加{}花括号。

如何运行:首先执行A,在执行B,然后执行语句1,接着执行C,接着判断B若符合条件,

则继续执行循环,再执行语句1。否则,退出循环。在整个过程中A只执行一次。

for循环的嵌套使用:

由一下这个例子进行说明:

              for(A; B; C)

                            for(D; E; F)

                            语句1;

                            语句2;

首先 执行 A B,接着执行D E,接着执行语句1,再执行F,判断条件是否符合E,若成立,则

进入循环,执行语句1,一直执行到不符合条件为止。若不符合条件,则退出第二个循环,执行C,再判断B是否符合条件,符合就执行D,E语句1,进行循环,同上。若不符合则退出循环,执行语句2。

注意:在以上循环中第一个for中的A是只执行一次,而第二for是执行多次的。

验证循环是否成立可用小数代替大数检验,小数成立一般大数也成立。

浮点型在for循环中的使用:

循环中更新的变量不能定义成浮点型,因为些数并不能准确的存储,是近似值,最好不用浮点型,会导致不准确。

浮点数的存错所带来的问题

       float和double都不能保证可以精确的存储一个小数

       举例:

有一个浮点型变量x,如何 判断x的值是否是零:

       if (|x-0. 000001 | < 0. 000001)                  令这个与某个很小的数相减的绝对值足够小

              是零

       else

              不是零

       为什么循环中更新的变量不能定义成浮点型

因为有些数不能准确的存储,最好不用浮点型。

# include <stdio.h>
//时间;2021年10月13日09点15分 				
//目的;总结for的简单用法 
int main (void)

{
/*	int i ;							
	int sum = 0;					for循环是如何运行的? 	
									1.先运行i=1,再运行i<100,接着是 sum=sum+i 最后才是 ++i 
	for (i=1; i<=100; ++i )		    i<=100运行完代表一个循环结束,若任然成立,则接着循环,运行sum=sum+i 
		sum= sum + i;				i=1只运行一次,即进行一次循环。 
		
	printf("sum = %d ",sum );		ps:for也是只能控制一个语句,while等也一样。 
		
		for的基本格式; for( A; B; C) 			范围用法与if相同 
								语句A ;
		
*/	return 0 ;
 } 

 

浮点型在for循环中:

# include <stdio.h>

int main (void)

{
	int i;
 	float sum = 0;
	
	for (i=1; i<=100; ++i)
		{
			sum = sum + 1 / (float) (i);//这样是可以的 ,(数据类型)(表达式)为强制类型转化 
			sum = sum+ (float) (1/i);	// 错误, (1/i)中1是整形,i也是,除出来也还是整形 
										//更简单的写法是: sum = sum + 1. 0/i;
		}
	
	printf(" sum = %f\n",sum); //float必须用%f输出
	
	return 0;
	
}
# include <stdio. h>
/*
时间;2021年10月13日20点40分 
目的;探究浮点型在循环中
*/ 
int main (void)
{
	float i;						//本程序不对,因为 循环中更新的变量不能定义成浮点型
	float sum = 0;					//原因; 因为有些数并不能准确的存储,是近似值,最好不用浮点型,会导致不准确 
	for (i=1.0; i<=100; ++i) 		//	浮点数的存错所带来的问题
		sum= sum + 1/i;				//	float和double都不能保证可以精确的存储-一个小数
									//	举例:
	printf(" sum = %f\n",sum) ; 	//	有一个浮点型变量x,如何 判断x的值是否是零:
									//	if (|x-0. 000001 | < 0. 000001)			令这个与某个很小的数相减的绝对值足够小 
		return 0 ; 					//	是零
	}								//	else
									//	不是零
									//	为什么循环中更新的变量不能定义成浮点型
									//	因为有些数不能准确的存储,最好不用浮点型sum= sum + 1/i;

for循环的多个嵌套使用:

# include <stdio.h>
/*
时间:2021年10月14日16点54分 
目的;总结单个与多个for循环的嵌套使用 
*/
int main (void)

{									//此程序为举例说明,程序可能有些问题。 
	int i ,j;						//定义i=1为1,i<=100为2,i++为3, j=2为4,j<=50为5,j+=2为6 
	int sum = 0 ;					//print("%d",j)为A,print("%d",i)为B 
										
	for (i=1; i<=100; i++)			//此程序是如何运行的?流程分析如下; 
		for (j=2; j<=50; j+=2)		//先 1 2 再 for (j=2; j<=50; j+=2)进行循环,即运行 4 ,5,A再6 如果 
			print("%d",j);			//j还满足 5,则运行A , 6 一直循环下去,直到不满足条件。然后退出这个循环 
			print("%d",i);			//运行3 ,若满足2 ,则运行 for (j=2; j<=50; j+=2),从4开始重复,直到不满足 
									//直到 2 也不满足,退出循环,运行 B 
									//ps:注意第二次的循环中的 6和单个for循环的使用不同,单个for只运行一次,而它 
	return 0 ;						//是在第一个for 满足条件后运行 4 ,当第二个for不满足后退出,但仍满足第一个for的条件 
}									//则它会运行 4 。 

/*	这个程序是2个语句(不算上面的定义变量), 12 13 14 是第一个,15 是第二个。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值