for循环是程序语言开发中常见的技法之一,这类循环可以执行指定的次数,
for循环比较适合于指定次数的应用,在使用时,需初始化一个作为计数器的变量值
for (int i = 1; i <= 10; i++) { Console.WriteLine("{0}", i); }
声明了for的计数器变量后,使用 ; 号隔开,接着添加条件判断的表达式(应涉及计数器变量) i <= 10,继续使用 ; 号隔开,添加对计数器变量的操作 i++(不用 ; 号结尾)。尝试把i++去掉,放在循环体内,也是可行的。
int i, k; for(i = 1; i < 10; i++) { Console.Write("{0}: ", i); for(k = 1;k <= i; k++) { Console.Write("{0}x{1}={2} " ,k, i, i * k); } Console.WriteLine(" "); } Console.ReadKey();
这种for循环嵌套的方式,在实现横、纵循环的中断
以前一直没记住,倒底是该用break还是用continue,不过下面这个例子,倒是很形象地描述清楚了向循环(输出、控制)是很有用的:
int i = 1; while (i <= 10) { if (i == 6) break; Console.WriteLine("{0}", i++); } for (i = 1; i <= 10; i++) { if ( i % 2 == 0) continue; Console.WriteLine("{0}",i); } Console.ReadKey();
其实两个都可以叫中断,只不过:break是中断当前的循环体(退出循环体),而continue是中断循环体的当次循环(不会退出循环体)。
但for循环的格式使代码更易于阅读,因为其语法是在一个地方包括循环的全部规则,而不是把几个语句放在代码的不同地方.
for循环嵌套
最典型的就是九九乘法表
for (int i = 1; i <= 9; i++) { for (int j = 1; j <= i; j++) { Console.Write(j+"*"+i+"="+j*i+" "); } Console.WriteLine(); } Console.ReadLine();
还有一种循环是while循环
其实是for循环的变形写法 for(int i = 1; i<=5;i++) { 循环体; } 上面的for循环可以写成 int i= 1; for(;i<=5;) { 循环体; i++; } 写成while就是以下样式 int i= 1; while(表达式(i<=5)) { 循环体; 状态改变(i++); } do { 循环体; 状态改变(i++); }while(表达式(i<=5)) 注意:do while是不管满不满足表达式,我都会先执行一遍。
穷举法
百鸡百钱:公鸡2文,母鸡1文,小鸡半文钱 int a=0; for (int g = 0; g <= 50; g++) { for (int m = 0; m <= 100; m++) { for (int x = 0; x <= 200; x++) { if (g + m + x == 100 && g * 2 + m + x * 0.5 == 100) { Console.WriteLine(g + "只公鸡" + m + "只母鸡" + x + "只小鸡"); a++; } } } } Console.WriteLine(a); Console.ReadLine();