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

       最近发现读书是个慢过程,很难一口吃个胖子,尤其读这种技术类的书,需要细嚼慢咽的精读,很耐心的读。迄今为止我一个像样的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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/487622.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

无穷存在吗?

来源&#xff1a;数学职业家无穷大的存在问题是一个令人惊讶的古老问题。亚里士多德首先引入了一个明确的区分&#xff0c;以帮助理解它的意义。他区别两种不同的无穷大。其中之一&#xff0c;他称之为潜在无穷大&#xff1a;这种无限大刻画了无止境的宇宙或一个永无休止的名单…

机器学习虽好,也要看什么场合!

来源&#xff1a;AI科技评论编译 | 王念编辑 | 丛末身为AI时代的程序猿&#xff0c;我们天生就对数据集敏感。因此&#xff0c;当我们拿到一批真实数据时&#xff0c;激动之情肯定溢于言表&#xff01;举例来说&#xff0c;我们可能拿到了一组患者正确药量的数据集&#xff0c;…

CVTE前端笔试编程题

这些题目是做完笔试之后&#xff0c;在别的地方找到的&#xff0c;现在附上。 1.(1)这题考察的怎么把参数转换为数组&#xff0c;然后再截取你想要的位数。 function C(){var a_argsArray.prototype.slice.call(argumens,0,2);var b_argsArray.prototype.slice.call(arguments,…

springboot 引入jdbc驱动_SpringBoot+MyBatis+Druid整合demo

最近自己写了一个SpringBootMybatis&#xff08;generator&#xff09;druid的demo1. mybatisgenerator逆向工程生成代码1. pom文件pom文件添加如下内容&#xff0c;引入generator插件<!-- mybatis代码生成插件 --><!--如果使用的mysql驱动是6.x的&#xff0c;那就无法…

盘点|世界流行的十大机械工程设计软件,你会用几种?

来源&#xff1a;自机械前线机械设计是机械生产的第一步&#xff0c;是决定机械性能的最主要的因素。为了满足机械产品性能的高要求&#xff0c;在机械设计中大量采用计算机技术进行辅助设计和系统分析&#xff0c;以下是目前世界上流行的十款式机械工程设计软件。1、Autodesk …

SpaceX再发射58颗星链卫星 总数达到538颗

来源&#xff1a;网易智能据外媒报道&#xff0c;在距离上次星链&#xff08;Starlink&#xff09;卫星发射仅仅10天后&#xff0c;美国太空探索技术公司SpaceX于当地时间周六再次发射了最新一批星链卫星。与以往每批发射60颗星链卫星不同的是&#xff0c;SpaceX此次只发射了58…

MVC系列——MVC源码学习:打造自己的MVC框架(一:核心原理)(转)

阅读目录 一、MVC原理解析 1、MVC原理二、HttpHandler 1、HttpHandler、IHttpHandler、MvcHandler的说明2、IHttpHandler解析3、MvcHandler解析三、HttpModule 1、HttpModule能干什么2、HttpModule的使用3、HttpModule和HttpHandler如何区分4、UrlRoutingModule解析 四、总结正…

python中的画布背景设置_教你用python画图—Turtle详细教程

Turtle模块绝对是吸引非专业代码开发者人员学习python入门的好工具通过turtle几行代码的执行软件就会画出漂亮的图形&#xff0c;美观而且有成就感&#xff0c;这样一下子对python编程就产生了兴趣。这些漂亮的图形如三角形、五角星、机器猫等。在写代码的时候改变几个参数&…

城市大脑,是工程问题,但首先是基础科学问题

2020年&#xff0c;在5G&#xff0c;大数据&#xff0c;人工智能、区块链、新基建等一轮轮科技浪潮下&#xff0c;城市大脑开始逐步成为新的城市建设和前沿科技热点。到2020年6月已经有近500多个城市宣布建设“城市大脑”&#xff0c;包括阿里&#xff0c;华为&#xff0c;百度…

JOptionPane弹框常用实例

最近在做swing程序中遇到使用消息提示框的&#xff0c;JOptionPane类其中封装了很多的方法。 很方便的&#xff0c;于是就简单的整理了一下。 1.1 showMessageDialog 显示一个带有OK 按钮的模态对话框。 下面是几个使用showMessageDialog 的例子&#xff1a; Java代码 JOption…

从5G到6G的思考:需求、挑战、技术趋势

来源&#xff1a;5G作者&#xff1a;易芝玲&#xff1a;中国移动首席科学家。王森&#xff0c;韩双锋&#xff0c;崔春风&#xff1a;中国移动通信研究院。王亚峰&#xff1a;北京邮电大学信息与通信工程学院。未来智能实验室的主要工作包括&#xff1a;建立AI智能系统智商评测…

VS2017C++单元测试

0、欢迎食用 希望对点进来的你有所帮助。全文记流水账&#xff0c;内心想法如示例项目名称。1、建立需测试的项目 新建项目正常书写.h 和.cpp文件2、新建单元测试 右击解决方案 -> 添加 -> 新建项目 Visual C -> 测试 -> 本机单元测试项目点击确定出现3、添加被测项…

ncf 推荐系统_浅析神经协同过滤NCF在推荐系统的应用

NCF在推荐领域应用背景CF&#xff0c;也就是协同过滤&#xff0c;在推荐领域有极其广泛的应用&#xff0c;应该没有谁的智能推荐系统是没用到过CF的。CF其实就是挖掘user和item的交互关系&#xff0c;然后生成I2I或者U2I表示向量。传统的CF从数学角度上还是偏行为统计计算的&am…

2020身高体重标准表儿童_2020年儿童标准体重表出炉!过胖影响发育!(附身高体重标准表)...

近年来&#xff0c;孩子们长胖的趋势越来越明显&#xff0c;一些疾病也有年轻化的趋势。很多家长们平时也很注意饮食搭配和运动&#xff0c;但孩子还是一不小心就“超重”了&#xff0c;真的防不胜防。相信和我一样担忧孩子家长肯定不少。今天就来和大家讲讲&#xff0c;关于孩…

游戏的未来是什么?

“我们还没有真正跨过VR 1.0&#xff0c;无绳VR要么不可靠要么非常贵。我们正在朝VR 2.0发展&#xff0c;用的是眼球追踪&#xff0c;有更大的视野、更高的分辨率、更好的音频和六个自由度&#xff0c;但这些领域仍需要进一步研究。”来源丨Forbes作者丨Matt Gardner编译丨科技…

AI仿生:人类进化新可能

来源&#xff1a; 脑极体看过《银翼杀手》这部开创赛博朋克风格科幻电影的人&#xff0c;一定会对电影中仿生人罗伊贝蒂印象深刻&#xff0c;尤其是电影结尾时反派男主在滂沱大雨中的临终独白&#xff1a;我目睹过你们绝对不会相信的东西&#xff1a;战舰在猎户星座的边缘燃烧&…

python 获取 字典中的指定键_python中字典方法的详细教程

上篇文章讲到了python字典的基础知识&#xff0c;今天继续python中哈希(字典的应用)方法的应用。前章回顾&#xff1a;python字典的应用及案例分析字典方法&#xff1a;dict.clear() 删出字典内所有的元素。dict.copy() 返回字典的一个浅复制。dict.fromkeys(seq[,val]):创建一…

事务基本信息

一、事务的定义 事务&#xff08;Transaction&#xff09;是由一系列对系统数据进行访问与更新的操作所组成的一个程序执行逻辑单元&#xff08;Unit&#xff09;&#xff0c;侠义上的事务特质数据库事务。1&#xff09;当多个应用程序并发访问数据库时&#xff0c;事务可以在这…

android 人脸识别_小模型,高精度!小视科技推出极致轻量型人脸识别SDK

AI 落地为王时代的到来&#xff0c;使得人脸识别的精度和速度备受人们关注。近年来&#xff0c;随着模型压缩、量化技术的进步&#xff0c;模型运行速度也越来越快。对于一些特定的人脸检测任务&#xff0c;轻量型的人脸识别SDK即可满足需求。▲图源网络轻量级架构的显著特征便…

机器视觉基础知识详解

来源&#xff1a;工业机器人随着工业4.0时代的到来&#xff0c;机器视觉在智能制造业领域的作用越来越重要&#xff0c;为了能让更多用户获取机器视觉的相关基础知识&#xff0c;包括机器视觉技术是如何工作的、它为什么是实现流程自动化和质量改进的正确选择等。小编为你准备了…