c#switch语句判断成绩_C#程序流程控制 知多少?

本文指导新手如何通过扎实的编程基础和实践一万行代码,逐步学习C#的流程控制,包括顺序语句、分支选择(if-else、switch)、循环(while、do-while、for)和跳转语句。通过实例演示,帮助读者理解并熟练运用这些核心结构。
摘要由CSDN通过智能技术生成

       最近发现读书是个慢过程,很难一口吃个胖子,尤其读这种技术类的书,需要细嚼慢咽的精读,很耐心的读。迄今为止我一个像样的C#程序都没有做过,是小白中的小白,这倒不影响什么,毕竟在曾经学过C语言的,再去学习C#,基本的理论很相似,入门倒也不难。

       想要快速熟练一种编程语言,一是要有牢固的编程基础,就是基本知识要扎实!扎实!二是尽快的写一万行可以执行的代码,注意是可执行的,不是简单的抄写。

       那么,我们现在就从基本的熟悉流程控制语句开始吧,流程控制语句虽然简单,好像就那么五六种,但是它却是C#语言的核心,就像写文章一样,它是基本的脉络,能熟练的活用,倒也没有那么容易呢。

       C#的流程控制包含顺序语句、分支选择语句、循环语句和跳转语句,通过这些语句可以控制程序代码的执行次序,提高程序的灵活性,从而完成比较复杂的功能。  

1、顺序语句,最简单,只有一种类型,就是逐条执行

顺序语句
概念

在编程的世界中,程序就相当于“菜谱”,而程序的流程便是菜谱中规定的执行顺序,即先做什么,后做什么,而这种按顺序执行的过程称为顺序语句。

     顺序结构是程序代码中最基本的结构,是指程序中所有语句都是按照书写顺序逐一执行的,代码从main()函数开始运行,从上到下,一行一行地执行,不漏掉代码。

实例

using System

namespace Project1

{//注意此处的格式,这个括号需要和它对应的关键字对齐。

    class Program

    {   //这个括号的位置是上个括号往右缩一个TAB键,或者4个空格

        static viod Main(string[] args)

       {

            Console.WriteLine("请输入第一个参数");

            Console.WriteLine("请输入第二个参数");

      }

    }

}

以上代码实现的是按照顺序输入两串字符,程序一行行的执行,不漏掉任何代码。

注意事项在书写代码时注意代码的规范。‍

2、分支选择语句:if条件语句;if else语句;if....else if....else语句;嵌套if语句;switch语句;唉!类型还挺多,理解深刻,才可以熟练运用。

if条件语句
概念一种控制代码分支的结构,一个if语句的条件可以是布尔变量,也可以是表达式,但如果是表达式,则得到的结果必须是布尔值。
语法格式

if(布尔表达式)

   /*如果布尔表达式为真将执行的语句*/

}

如果布尔表达式为True,则if语句内的代码块将被执行。如果布尔表达式为False,则if语句结束后的第一组代码将被执行。

实例

using System

namespace Project1

{//注意此处的格式,这个括号需要和它对应的关键字对齐。

    class Program

    {   //这个括号的位置是上个括号往右缩一个TAB键,或者4个空格

        static viod Main(string[] args)

       {

            /*局部变量初始化*/

            int  a=10;

            /*使用if语句检查布尔条件*/

            if(a>20)

            {

                 Console.WriteLine("a大于20");

            }

             Console.WriteLine("a的值是{0}",a);

      }

    }

}

注意事项在书写代码时注意代码的规范,注意注释书写的格式/*   */
if else 语句
概念一种控制代码分支的结构,一个if语句后可以跟一个else语句。当布尔表达式为假,才会执行else后边的语句。
语法格式

if(布尔表达式)

   /*如果布尔表达式为真将执行的语句*/

}

else

{

   /*当布尔表达式为假,将会执行的语句*/

}

如果布尔表达式为True,则if语句内的代码块将被执行。如果布尔表达式为False,将会执行else语句内的代码。

条件运算符(?:),可以用来代替if.....else语句。

?:

实例

int a=8;

string b=(a<10)?"小于10":"大于10";

计算表达式可得到一个布尔值,运算符的结果根据这个值来确定是result if true,还是result if false。

using System

namespace Project1

{//注意此处的格式,这个括号需要和它对应的关键字对齐。

    class Program

    {   //这个括号的位置是上个括号往右缩一个TAB键,或者4个空格

        static viod Main(string[] args)

       {

            /*局部变量初始化*/

            int  a=50;

            /*使用if语句检查布尔条件*/

            if(a<10)

            {

                 Console.WriteLine("a小于10");

            }

            else

            {

                 Console.WriteLine("a大于10");//这行会被执行

             }

            Console.WriteLine("a的值是{0}",a);//这行会执行

      }

    }

}

注意事项在书写代码时注意代码的规范,注意注释书写的格式/*   */

if...... else    if .......else语句
概念一个if语句后可跟一个可选的else if......else语句,该语句用于执行多种条件。
语法格式

if(布尔表达式1)

   /*如果布尔表达式为真将执行的语句*/

}

else if(布尔表达式2)

{

   /*当布尔表达式2为真时,将会执行的语句*/

}

else if(布尔表达式3)

{

   /*当布尔表达式3为真时,将会执行的语句*/

}

else

{

   /*当以上条件都不为真时执行*/

}

实例

using System

namespace Project4

{

    class Program

    {   

        static viod Main(string[] args)

      {

           Console.WriteLine("请输入学生成绩:");

           String s=ReadLine();

           int a;

           a=int.Parse(s);//将字符串转化成int型数据

           /*检查布尔条件*/

           if(a>=90)

           {

                Console.WriteLine("成绩优秀:");    

           }

          else  if(a>=80)

          {

                Console.WriteLine("成绩优良:");   

          }

          else  if(a>=70)

          {

                Console.WriteLine("成绩中等:");   

          }

           else  if(a>=60)

          {

                Console.WriteLine("再接再厉:");   

          }

        else 

         {

                Console.WriteLine("继续努力:");   

         }

     }

    }

}

注意事项

1、一个if后可跟0个或一个else,它必须在任何一个else  if 之后。

2、一个if后可跟0个或1个else if ,它必须在else 之前。

3、if语句是至上而下执行,只要一个符合条件,就不会再去判断后边的语句。

4、else if 的语句个数不受限制,但是如果else if语句的个数较多,则应该考虑另外一种分支结构switch。

嵌套if语句
概念用户可以在一个if或else if语句中使用另一个if或else if语句
语法格式

if(布尔表达式)

   /*如果布尔表达式为真将执行的语句*/

   if(布尔表达式2)

   {

        /*当布尔表达式为真时执行*/

    }

}

实例

using System

namespace Project1

{//注意此处的格式,这个括号需要和它对应的关键字对齐。

    class Program

    {   //这个括号的位置是上个括号往右缩一个TAB键,或者4个空格

        static viod Main(string[] args)

       {

               Console.WriteLine("请输入机票原价");

               string str1 = Console.ReadLine();

               double money=double.Parse( str1);

               Console.WriteLine("请输入月份");

               String str2 = Console.ReadLine();

               int month=int.Parse( str2 );

             Console.WriteLine("选择仓位:1头等舱 2经济舱");

               string  str3=Consle.ReadLine();

               int type = int.Parse(str3);

               if(month>=5&&month<=10)

              {

                  if(type==1)

                  {

                  Console.WriteLine("您的机票价格为{0}",money*0.9);

                 }

                else if(type==2)

                {

                Console.WriteLine("您的机票价格为{0}",money*0.75);

               }

             }

          else 

           {

               if(type==1)

               {

                      Console.WriteLine("您的机票价格为{0}",money*0.6);

              }

              else if(type==2)

              {

                    Console.WriteLine("您的机票价格为{0}",money*0.3);

              }

          }        `

       }

    }

}

注意事项当需要判定多个维度的条件时,需要用到嵌套if语句。

Switch语句
概念允许测试一个变量等于多个值时的情况,每个值称为一个case,且被测试的变量会对每个case进行检查。
语法格式

switch(控制表达式)

{

    case 测试值1:

    break;

    case 测试值2:

    break;

    case 测试值3:

    break;

   .......

    case 测试值n:

    break;

    default:

    break;

}

实例1

using System

namespace Project1

{//注意此处的格式,这个括号需要和它对应的关键字对齐。

    class Program

    {   //这个括号的位置是上个括号往右缩一个TAB键,或者4个空格

        static viod Main(string[] args)

       {

           Console.WriteLine("请输入第一个数字");

           int x=Convert.ToInt32(Console.ReadLine()); 

           Console.WriteLine("请输入运算类型");

           char z=char.Parse(Console.ReadLine());

           Console.WriteLine("请输入第三个数字");

           int y=int.Parse(Console.ReadLine());

           switch(z)

           {

               case '+':

              Console.WriteLine("计算结果为:{0}",x+y);

              Console.ReadKey();

              break;

              case '-':

              Console.WriteLine("计算结果为:{0}",x-y);

              Console.ReadKey();

              break;

              case '*':

              Console.WriteLine("计算结果为:{0}",x*y);

              Console.ReadKey();

              break; 

              case '/':

              Console.WriteLine("计算结果为:{0}",x/y);

              Console.ReadKey();

              break;

              default:

              Console.WriteLine("运算类型输入错误");

              Console.ReadKey();

              break;

          }

       }

    }

}

实例2

using System

namespace Project1

{//注意此处的格式,这个括号需要和它对应的关键字对齐。

    class Program

    {   //这个括号的位置是上个括号往右缩一个TAB键,或者4个空格

        static viod Main(string[] args)

       {

           char c1='A';

           char c2='B';

           switch(c1)

           case 'A':

           Console.WriteLine("这是外部switch的一部分");

           switch(c2)

           {

                 case 'B':

                 Console.WriteLine("这是内部switch的一部分");

                 break;

           }

           break;

       }

          Console.WriteLine("c1的字符为{0}",c1);

         Console.WriteLine("c2的字符为{0}",c2); 

    }

}

注意事项

用户可以把一个switch语句嵌套在另一个switch语句内,即使内部和外部的case常量包含相同的值也不冲突。

由于C#存在不准贯穿的原则,所以需要一条跳转语句来阻止贯穿,而break语句则是最常见的方式,但是也可以用一条return语句或者一条throw语句来替代它。

3、循环语句

while循环语句
概念只要给定的条件为准,while循环语句会重复执行一条目标语句。
语法格式

while(表达式)

{

    语句或语句块;

}

实例

using System

namespace Project1

{//注意此处的格式,这个括号需要和它对应的关键字对齐。

    class Program

    {   //这个括号的位置是上个括号往右缩一个TAB键,或者4个空格

        static viod Main(string[] args)

       {  

           int x=3;

           while(x<13)

           {

                Console.WriteLine("x的值{0}",x);

                x++;

           }

        }        

    }

}

注意事项循环体包含一条以上的语句时,应用{},括起来,以复合语句的形式出现,否则,它只认为while后面的第一条语句是循环体。
do   while循环语句
概念do while循环和while循环类似,但是do.....while循环会确保至少执行一次循环。
语法格式

do

{

    语句或语句块;

}while(表达式);

实例

using System

namespace Project1

{//注意此处的格式,这个括号需要和它对应的关键字对齐。

    class Program

    {   //这个括号的位置是上个括号往右缩一个TAB键,或者4个空格

        static viod Main(string[] args)

       {  

           int x=3;

           {

                Console.WriteLine("x的值{0}",x);

                x=x+1;

           } while(x<16);

        }        

    }

}

注意事项

1、do while 语句是先执行循环体语句,后判断循环终止条件,与while语句不同,二者的区别在于当while后边的表达式为假时,while语句的循环体一次也不执行,而do while 语句的循环体至少要执行一次。

2、在书写格式上,循环体部分要用{}括起来,即使只有一条语句也如此,do while 语句最后以分号结束。

3、do while语句是从后面控制表达式退出循环,但它也可以构成无限循环,此时要利用break语句或return 语句直接从循环体内跳出循环。

for循环语句
概念for循环是允许用户编写执行特定次数的循环控制结构。
语法格式

for(;;)

{

    语句或语句块

}

for循环的3个表达式都是可以省略的,但;不能省略。

实例

using System

namespace Project1

{//注意此处的格式,这个括号需要和它对应的关键字对齐。

    class Program

    {   //这个括号的位置是上个括号往右缩一个TAB键,或者4个空格

        static viod Main(string[] args)

       {  

           for (int x=10;x<20;x++)

           {

               Console.WriteLine("x的值{0}",x);

           }

        }        

    }

}

注意事项

                                          foreach循环语句

概念foreach循环用于列举出集合中所有的元素,foreach语句中的表达式由关键字in隔开的两个项组成,in右边的项是集合名,in左边的项是变量名,用来存放该集合中的每个元素。
语法格式

foreach(类型 标识符 in 集合)

{

    循环代码;

}

实例

using System

namespace Project1

{//注意此处的格式,这个括号需要和它对应的关键字对齐。

    class Program

    {   //这个括号的位置是上个括号往右缩一个TAB键,或者4个空格

        static viod Main(string[] args)

       {  

           int  x=0,y=0;

           char[]ch=new char[]{'0','1,'0','1','1','0'};

           foreach(char a in ch)

           {

               if(a=='0')

                   x++;

              else 

                  y++;

           }

           Console.WriteLine(ch);

          Console.WriteLine("0的个数为{0}\n1的个数为:{1}",x,y);     

        }        

    }

}

注意事项

                               嵌套循环语句

概念一个循环结构的结构体内又包含另一个完整的循环结构。内嵌的循环中还可以嵌套循环,这样就构成了多层嵌套循环。
语法格式

嵌套for循环语句

for(;;)

    语句或语句块;

    for(;;)

    { 

       语句或语句块;

    }

}‍‍

语法格式2

嵌套While循环语句

while(表达式1)

{

    while(表达式2)

   { 

       语句或语句块;

  }

   语句或语句块;

}

语法格式3

嵌套do while循环语句

do

{

    语句或语句块;

    do

   {

       语句或语句块;

  }

   while(表达式1);

}while(表达式2);

实例

实例比较多,这里就不给大家一一列举了,只要深刻理解基本的循环结构,嵌套结构理解起来就特别容易了。

注意事项

另外,还有跳转语句,break,continue,return,goto,后面会重点介绍。

现在是21点44分,今天就先写到这儿吧,要整理整理入睡了,未完待续!

也友善的提醒各位程序员朋友们,不要熬夜!保重身体!毕竟身体是革命的本钱,保持充足的精力,迎接明日的朝阳。朋友们,晚安!明日的阳光很美,值得期待。

8a416df1de7a52d88a434a6e601fd699.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值