c# 第13节 迭代语句、while、do...while、for、foreach、goto

本节内容:

1:迭代语句是什么

2:迭代语句之while

3:迭代语句之 do...while

4:迭代语句之for 

5:迭代语句之foreach:

6:跳转语句break、continue、return

7:goto语句

 1:迭代语句是什么

2:迭代语句之while

注意:while一定需要给他一个退出循环的条件;否则一直死循环

实例输出:1-10 

namespace HelloWorld {
    class Hello {
        static void Main()
        {
            int a = 0; 
            while (a<10){   //退出条件a<10
                Console.WriteLine(a);
                a++;
            }
            Console.ReadKey();
        }           
    }

}

3:迭代语句之 do...while

 

实例:

判断a的值,进行循环

namespace HelloWorld {
    class Hello {
        static void Main()
        {
            int a = 11; 
            do
            {
                Console.WriteLine(a);
                a++;
            } while (a < 10);


            Console.ReadKey();
        }           
    }
}
//输出
//11

4:迭代语句之for 

 

实例1:求输入数的阶乘 

namespace HelloWorld {
    class Hello {
        static void Main()
        {          
            int sum = 1;
            Console.Write("请输入你要阶乘的数:");
            int number = int.Parse(Console.ReadLine());
            for (int i = 1; i <= number;i++ )
            {
                sum = sum * i; 
            }
            Console.WriteLine("{0} 的阶乘是{1}",number,sum);
            Console.ReadKey();
        }           
    }
}
//输出 720

实例2:利用迭代输出9*9乘法表

namespace HelloWorld {
    class Hello
    {
        static void Main()
        {
            Console.WriteLine("==========9x9乘法表==========");
            for (int i = 1; i <= 9;i++ )
            {
                for (int j = 1; j <= i;j++ )  //i<j 一直循环
                {
                    Console.Write("{0}*{1}={2} ",i,j,i*j);
                    if (i==j){   //判断i==j 输出了

                        Console.WriteLine();
                    }
                }

            }
            Console.ReadLine();
          
        }
    }
}

5:迭代语句之foreach

C# 也支持 foreach 循环,使用foreach可以迭代数组或者一个集合对象。

实例:输入一个字符串 依次打印char

string str = Console.ReadLine();
foreach (char item in str) 
    { i
f(! char.IsWhiteSpace(item)){ //新的语句判断字符是否为空   Console.WriteLine("char:{0}",item); } } Console.ReadLine(); 

6:跳转语句break、continue、return

break:退出循环

continue:结束当前循环,进入下一次循环

namespace HelloWorld {
    class Hello
    {
        static void Main()
        {

            int num = 10;
            for (int i = 0; i<num;i++ )
            {
                if (i == 5)
                {
                    //break; //退出循环
                    continue;  //结束当前循环,进入下一次循环
                }

                else {
                    Console.WriteLine(i);
                }
            }
            Console.ReadKey();
        }
    }
}

return 的作用:
1:结束函数,跳回到Main函数
2:返回函数的返回值

3:调用函数的时候,函数没有return值,就不允许赋值

实例:写个三个相加、返回平均值

 static void Main()
        {
            Console.Write("请输入三个数,按回车键进行下一次的输入:");
            int num1 = int.Parse(Console.ReadLine());
            int num2 = int.Parse(Console.ReadLine());
            int num3 = int.Parse(Console.ReadLine());
            double avage = avages(num1, num2, num3);
            Console.WriteLine("avage:{0}",avage);
            Console.ReadKey();
        }
        static double avages(int a,int b,int c) {

            return (a + b + c) / 3;
        }

    }

7:goto语句

实例:

5的阶乘等于几?根据以下选项选择正确的答案,按回车键确定

using System;

namespace HelloWorld {
    class Hello
    {
        static void Main()
        {
            Console.WriteLine("5的阶乘等于几?根据以下选项选择正确的答案,按回车键确定;");
            Console.WriteLine(" 1:5!=5
 2:5!=10
 3:5!=20
 4:5!=60
" );
            
            while (true){
                int choice = int.Parse(Console.ReadLine());
                int a = 0 ;  //a=0
                error:  //a+1=1 ,当goto语句跳转时a再加1 
                    a++;
                    if (a > 1)
                    {
                        Console.WriteLine("回答错误");
                        continue;
                    }

                switch (choice) { 
                    case 1 :
                    case 2:
                    case 3: goto error; 
                    case 4: goto right; 
                    default:
                        Console.WriteLine("您输入的选择不存在;");
                        continue;
                 }
                  right:
                     if (a==1){
                        Console.WriteLine("回答正确");
                        break;
                    }
            }
            Console.ReadKey();

        }
    }
}
//输出 720
原文地址:https://www.cnblogs.com/hero799/p/8655596.html