• C#基础 循环语句【for】


    循环:反复执行某段代码。

    1、循环四要素

      初始条件,循环条件,循环体,状态改变。

    2、for 格式

    for(初始条件;循环条件;状态改变)
    { 
             循环体
    }

    break ——中断循环,跳出整个循环

    continue——停止本次循环,进入下次循环。

    3、执行步骤

      初始条件——循环条件——循环体——状态改变    ——循环条件——循环体——状态改变——

     实例

    //输出5遍“你好”,并将序号打印出来
    
     int xuhao = 1;
     for (int a = 0,a>5,a++)
     {
         Console.WriteLine( xuhao+"你好");
         xuhao++
     }
    
     //打印100以内的奇数,求和。
    
     int he = 0         //中间变量
    for(int i =1;i<=100;i++)
    {
        if (i%2==1)
         {
            Console.WriteLine(i);
            he=he + i
         }
    }
    Console.WriteLine(he);

    4、for 可以与 if  互相嵌套

       先考虑把所有的数输出来,再从所有出来的结果中筛选。

     实例

     
    //通关游戏,前十局每局对应相应的分数,十局以后每关都是20分。
    
    Console.Write("请用户输入局数:");
    int i = Convert.ToInt32(Console.ReadLine);
    int zongfen = 0;
    for(int j = 1;j<=i;j++)                            ① 
    {
           if (j<=<1010)
           {
                  zongfen = zongfen + j              ② 
           }
           else
           {
                 zongfen = zongfen + 20           ③
           }
    }
    Console.WriteLine(zhongfen);
    
    //用户输入的局数 先在①②内进行循环,当j<10后再进入 ①③进行循环
    //③中开始循环的 zongfen 是①②循环完后的结果。
    
     
    
    int a = 0
    for (int i=0 ; i<30;i++)   
    {
          a++                              ①
    } 
    for (int i=0 ; i<30;i++)   
    {
          a++                             ②
    } 
    Cosole.WriteLine(a);
    
    //输出结果为60,一个 for 循环就是一条命令,执行完①再执行②
    //当执行②时变量已经被①改变。

     打印100以内所有的质数/素数,再求和

     1           int sum = 0;
     2             //循环2-100之间所有的数
     3             for (int j = 2; j <= 100; j++)
     4             {
     5                 int count = 0;
     6                 //在这循环查看当前循环的数能被整除几次
     7                 for (int i = 1; i <= j; i++)
     8                 {
     9                     if (j % i == 0)
    10                     {
    11                         count++;
    12                     }
    13                 }
    14                 //如果被整除2次,说明就是质数
    15                 if (count == 2)
    16                 {
    17                     sum += j;
    18                     Console.WriteLine(j);
    19                 }
    20             }
    21 
    22             Console.WriteLine(sum);

     ●此案例中第二个 for 与第二个 if 平级,都同时位于一个 for 循环里,第二个 for 执行完一次后第二个 if 也会执行一次。

    2使用一个for循环,分别打印出来100以内的奇数和偶数,分别求和
    奇数:1,3,5,7.....
    偶数:2,4,6,8.....
    奇数和:xxx
    偶数和:xxx

     1             string jishu = "";
     2             string oushu = "";
     3 
     4             int jishu1 = 0;
     5             int oushu1 = 0;
     6 
     7 
     8             for (int i = 1; i <= 100; i++)
     9             {
    10                 if (i % 2 == 0)
    11                 {
    12                     oushu += i + ",";
    13                     oushu1 += i;
    14                 }
    15                 else
    16                 {
    17                     jishu += i + ",";
    18                     jishu1 += i;
    19                 }
    20             }
    21 
    22             Console.WriteLine("奇数:" + jishu);
    23             Console.WriteLine("偶数:" + oushu);
    24 
    25             Console.WriteLine();
    26             Console.WriteLine("奇数和"+jishu1);
    27             Console.WriteLine("偶数和" + oushu1);
    28 
    29 
    30             Console.ReadLine();

    ●此案例中出现的问题是如何将奇数偶数用一行打印,此案例利用隐式转换和字符的拼接

    3、猜拳(三局两胜)输出手势如
     请输入您的手势:石头
     用户手势:石头      电脑手势:剪刀
     用户胜:1      电脑胜:0

     1             int u = 0;
     2             int c = 0;
     3 
     4             for (; ; )
     5             {
     6 
     7                 #region 手势生成
     8                 Console.Write("请输入您的手势(石头、剪刀、包袱):");
     9                 string user = Console.ReadLine();
    10                 int user1;
    11 
    12                 if (user == "石头")
    13                     user1 = 0;
    14                 else if (user == "剪刀")
    15                     user1 = 1;
    16                 else
    17                     user1 = 2;
    18 
    19                 Random r = new Random();
    20                 int com = r.Next(0, 3);
    21                 #endregion
    22 
    23                 #region 输出两位选手的手势
    24                 string comEnd = "";
    25 
    26                 if (user != "剪刀" && user != "石头")
    27                 {
    28                     user = "包袱";
    29                 }
    30 
    31                 if (com == 0)
    32                     comEnd = "石头";
    33                 else if (com == 1)
    34                     comEnd = "剪刀";
    35                 else
    36                     comEnd = "包袱";
    37 
    38                 Console.WriteLine("用户手势:" + user + "	电脑手势:" + comEnd);
    39                 #endregion
    40 
    41                 #region 胜负判断
    42                 if ((user1 == 0 && com == 1) || (user1 == 1 && com == 2) || (user1 == 2 && com == 0))
    43                 {
    44                     Console.WriteLine("用户胜利!");
    45                     u++;
    46                 }
    47                 else if ((user1 == 0 && com == 2) || (user1 == 1 && com == 0) || (user1 == 2 && com == 1))
    48                 {
    49                     Console.WriteLine("用户失败!");
    50                     c++;
    51                 }
    52                 else
    53                 {
    54                     Console.WriteLine("平局!");
    55                 }
    56                 #endregion
    57 
    58                 Console.WriteLine();
    59                 Console.WriteLine("用户胜利" + u + "局,电脑胜利" + c + "");
    60 
    61                 if (u == 2)
    62   {
    63                     Console.ForegroundColor = ConsoleColor.Red;
    64                     Console.WriteLine("用户获得最终胜利!");
    65                     break;
    66   }
    67                 else if (c == 2)
    68    {
    69                     Console.ForegroundColor = ConsoleColor.Red;
    70                     Console.WriteLine("电脑完成了五杀!");
    71                     break;
    72     }
    73 
    74                 Console.WriteLine("-----------下一局开始-----------");
    75 
    76             }
    77 
    78 
    79 
    80             Console.ReadLine();

    ●此案例是在 if 猜拳案例的基础上添加 for循环形成。在解决此类问题时可以先做出完成一次所需,在添加循环让其运转

                                                   

  • 相关阅读:
    iOS 笔记-AFN使用中的遇到的问题
    iOS 笔记-incompatible pointer types initializing 'NSMutableString *' with an expression of type 'NSString *'警告处理
    iOS 笔记-SRT视频字幕的解析与同步
    iOS-笔记 字符编码
    iOS-笔记 设置导航栏的样式
    iOS 笔记-自定义的导航栏按钮
    iOS 笔记-删除插件的方法
    iOS 笔记-关于用户交互的那些事
    iOS BUG整理--[__NSCFNumber length]: unrecognized selector sent to instance 崩溃解决
    iOS BUG整理-Data argument not used by format string的警告处理
  • 原文地址:https://www.cnblogs.com/Tanghongchang/p/6442600.html
Copyright © 2020-2023  润新知