C#程序流程控制(3)

文章目录

嵌套循环语句

嵌套循环语句,是指一个循环结构的循环体内又包含另一个完整的循环结构。内嵌的循环中还可以嵌套循环,这样就构成了多层嵌套循环。

  1. C#中嵌套for循环语句
  2. C#中嵌套while循环语句
  3. C#中嵌套do…while循环语句
using System;
namespace Project12
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("请输入要打印的行数:");
            int n = Convert.ToInt32(Console.ReadLine());
            //这层循环控制打印的行数
            for (int x = 1; x <= n; x++)
            {
                //这层循环控制每行前面打印的空格数
                for (int y = 1; y <= n - x; y++)
                {
                    Console.Write(" ");
                }
                //这层循环控制每行前面打印*的个数
                for (int z = 1; z <= 2 * x - 1; z++)
                {
                    Console.Write("*");
                }
                //每打印完一行换一下行
                Console.Write("\n");
            }
            Console.ReadKey();
        }
    }
}

【程序分析】本例演示了嵌套for循环的使用。在代码中利用双重for循环,外层循环通过变量x控制行数。内层有两个for循环,第一个for循环通过变量y控制每行前面打印的空格数,每降低一行就会少一个空格,所以与行之间的关系用y=n-x表示;第二个for循环通过变量z控制星号的个数,每行的星号数是不同的,与行的关系可以用公式z=2*x-1表示。

请输入要打印的行数:
5
    *
   ***
  *****
 *******
*********
using System;
namespace Project13
{
    class Program
    {
        static void Main(string[] args)
        {
            int x = 0;
            do
            {
                Console.WriteLine("输入一个整数:");
                x = int.Parse(Console.ReadLine());
                long y = 1;
                for (int i = 1; i <= x; i++)
                {
                    y *= i;
                }
                Console.WriteLine(y);
            } while (x >= 0);
            Console.ReadKey();
        }
    }
}

【程序分析】本例演示了循环嵌套语句的使用。在代码中,变量x接收用户输入的数值,变量y通过嵌套的for循环计算用户输入值的阶乘,直到输入一个负数为止。

输入一个整数:
5
120
输入一个整数:
9
362880
输入一个整数:
-4
1

跳转语句

break跳转语句

C#中break语句有以下两种用法:
(1) 当break语句用于do…while、for、while等循环语句中时,可使程序终止循环而执行循环结构后面的语句。通常break语句总是与if语句联在一起,即满足条件时便跳出循环。
(2) 它可用于终止switch语句中的一个case。

continue跳转语句

C#中的continue语句有点像break语句。但它不是强迫终止,continue会跳过当前循环中的代码,强迫开始下一次循环。
对于for循环,continue语句会改变执行条件测试和循环增量部分。对于while和do…while循环,continue语句会导致程序控制回到条件测试上。通常情况下,continue语句总是与if语句联在一起,用来加速循环。

using System;
namespace Project15
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("10到30之间,不能被3和7同时整除的数:");
            int i, n = 0;               /*n计数*/
            for (i = 10; i <= 30; i++)
            {
                if (i % 3 == 0 && i % 7 == 0)       /*如果能同时整除3和7,不打印*/
                {
                    continue;           /*结束本次循环未执行的语句,继续下次判断*/
                }
                Console.Write("{0}  ", i);
                n++;
                if (n % 10 == 0)            /*10个数输出一行*/
                    Console.WriteLine('\n');
            }
            Console.ReadKey();
        }
    }
}

【程序分析】本例演示了continue语句的使用。在代码中首先定义两个变量i和n,变量i作为循环变量,变量n用于计数。只有当i的值能同时被3和7整除时,才执行continue语句,执行后越过后面的语句,直接判断循环条件i<=30,再进行下一次循环。

10到30之间,不能被3和7同时整除的数:
10  11  12  13  14  15  16  17  18  19

20  22  23  24  25  26  27  28  29  30

return跳转语句

return语句就是用于指定函数返回的值。return语句只能出现在函数体内,出现在代码中的其他任何地方都会造成语法错误。
return语句后面可以是常量,变量,表达式,方法,也可以什么都不加。一个方法中也可以出现多个return,但只有一个会执行。当return语句后面什么都不加时,返回的类型为void。

goto语句

goto语句是跳转到的意思,它的作用是当程序执行到goto语句时,程序会直接跳转到标识符所标识的程序位置,继续执行代码。

上一篇:continue、break、和 return 的区别是什么?


下一篇:C语言 while 循环 - C语言零基础入门教程