码迷,mamicode.com
首页 > Windows程序 > 详细

(原创)c#学习笔记04--流程控制04--循环03--for循环

时间:2015-10-21 22:42:30      阅读:285      评论:0      收藏:0      [点我收藏+]

标签:

4.4.3 for循环

  这类循环可以执行指定的次数,并维护它自己的计数器。

  要定义for循环,需要下列信息:

    初始化计数器变量的一个起始值。

    继续循环的条件,它应涉及到计数器变量。

    在每次循环的最后,对计数器变量执行一个操作。

  例如,如果要在循环中,使计数器从1递增到10,递增量为1,则起始值为1,条件是计数器小于或等于10,在每次循环的最后,要执行的操作是给计数器加1。

  这些信息必须放在for循环的结构中,如下所示:

for (<initialization>; <condition>; <operation>) 
{ 
    <code to loop> 
} 

  它的工作方式与下述while循环完全相同:

<initialization> 
while (<condition>) 
{ 
    <code to loop> 
    <operation> 
} 

  循环输出从1~10的数字。下面看看如何使用for循环完成这个任务:

int i; 
for (i = 1; i <= 10; ++i) 
{ 
    Console.WriteLine("{0}", i); 
} 

  最后要注意的是,可以把计数器变量声明为for语句的一部分,重新编写上述代码,如下所示:

for (int i = 1; i <= 10; ++i) 
{ 
    Console.WriteLine("{0}", i); 
} 

  但如果这么做,就不能在循环外部使用变量i(参见第6章中的“变量作用域”一节)。

  下面看一个示例,他将:显示一个Mandelbrot集合(使用纯文本字符,看起来不会那么吸引人)!,代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Ch04Ex06
{
    class Program
    {
        static void Main(string[] args)
        {
            double realCoord, imagCoord;
            double realTemp, imagTemp, realTemp2, arg;
            int iterations;
            for( imagCoord =1.2; imagCoord >= -1.2; imagCoord -= 0.05 ) {
                for( realCoord = -0.6; realCoord <= 1.77; realCoord += 0.03 ) {
                    iterations = 0;
                    realTemp = realCoord;
                    imagTemp = imagCoord;
                    arg = ( realCoord * realCoord ) + ( imagCoord * imagCoord );
                    while( ( arg < 4 ) && ( iterations < 40 ) ) {
                        realTemp2 = ( realTemp * realTemp ) - ( imagTemp * imagTemp ) - realCoord;
                        imagTemp = (2 * realTemp * imagTemp) - imagCoord;
                        realTemp = realTemp2;
                        arg = ( realTemp * realTemp ) + ( imagTemp * imagTemp );
                        iterations += 1;
                    }
        
                    switch( iterations % 4 ) {
                        case 0:
                            Console.Write( "." );
                            break;
                        case 1:
                            Console.Write( "o" );
                            break;
                        case 2:
                            Console.Write( "O" );
                            break;
                        case 3:
                            Console.Write( "@" );
                            break;
                    }
                }
                Console.Write( "\n" );  // 换行
} Console.ReadKey(); } } }

  运行结果如下:

技术分享

 

(原创)c#学习笔记04--流程控制04--循环03--for循环

标签:

原文地址:http://www.cnblogs.com/wodehao0808/p/4899161.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!