最近发现读书是个慢过程,很难一口吃个胖子,尤其读这种技术类的书,需要细嚼慢咽的精读,很耐心的读。迄今为止我一个像样的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分,今天就先写到这儿吧,要整理整理入睡了,未完待续!

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

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

  1. c#switch语句判断成绩_Go的条件判断语句

    现实时间中,我们如果想去购物,可以选择网上或者线下去购物,甚至说,要购买的物品都有许多选择,选价格便宜的,选质量好的,选不用运费等等 那么在计算机语言中,我们要怎么实现现实中,这些选择呢? Go语言支 ...

  2. PHP Switch 语句判断成绩

    初入PHP,就想简单的利用switch语句写一个关于成绩等级的判断,整个过程分为两部分一是前端数据,二是后台的计算. [HTML代码] <!-- * * * @Author: wyy * @Da ...

  3. c#switch语句判断成绩_switch语句成绩等级例子

    求 用C语言中switch语句编写学生成绩问题 #include void main() { double score; printf("请输入分数:\n"); scanf(&qu ...

  4. c语言判断学生成绩等级用switch,switch语句判断学生成绩

    下面通过判断学生成绩来展示switch语句的使用. Q:判断学生成绩的等级,90-100分为A级,80-89为B级,70-79为C级,60-69为D级,60以下不及格. package main im ...

  5. Java架构师成长之道之Java程序流程控制

    Java架构师成长之道之Java程序流程控制 Java架构师成长之道 4.1 程序流程控制概述 之前编写的绝大多数程序都是顺序执行,也就是从main函数开始,由上到下一行一行的执行,也被称为顺序结构. ...

  6. 判断成绩linux程序编程,程序输入输出 ,编写判断成绩的程序

    程序输入输出 1.1 问题 编写login.py脚本,实现以下目标: 提示用户输入用户名 将用户名保存在变量中 在屏幕上显示欢迎用户的信息 1.2 方案 编写程序时,很多情况下都需要程序与用户交互.在 ...

  7. 学习 尚硅谷_宋红康_第2章_Java基本语法(下):程序流程控制超详细课件

    文章目录 程序流程控制 练习题 笔试题 彩票 结婚判断 switch-case结构的基本使用 练习题 程序流程控制 流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组 合成能完成一定功能的 ...

  8. 第2章_Java基本语法(下):程序流程控制

    文章目录 程序流程控制 练习题 笔试题 程序流程控制 流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组 合成能完成一定功能的小逻辑模块. • 其流程控制方式采用结构化程序设计中规定的三种 ...

  9. 【Java基础】· Java基本语法:程序流程控制习题总结

    写在前面 Hello大家好, 我是[麟-小白],一位软件工程专业的学生,喜好计算机知识.希望大家能够一起学习进步呀!本人是一名在读大学生,专业水平有限,如发现错误或不足之处,请多多指正!谢谢大家!!! ...

最新文章

  1. Alibaba Dubbo框架同步调用原理分析-1
  2. CSP认证201712-1 最小差值[C++题解]:遍历
  3. 优化案例(part4)--A novel consensus learning approach to incomplete multi-view clustering
  4. 【Flink】Object Reuse 模式(Stream API) 性能优化 chain 数据重用 不深拷贝
  5. layer 父弹出框上弹出子弹框窗体大小问题
  6. php fpm listen.owner,nginx 与 php-fpm socket 所有者权限问题
  7. DSOFramer原有的接口说明
  8. HarmonyOS笔记
  9. 2030年中国GDP将超越美国成为世界第一?
  10. 迅盘技术(Robson)、Ready Boost和Ready Drive的区别
  11. 用插值法求国债收益率
  12. linux宕机故障分析案例,[文章]Linux宕机故障分析案例
  13. 电信设备商进入企业网市场需适应不同渠道模式(转载)
  14. 内存卡损坏怎么修复?分享实际经验
  15. 微信小程序直接引用外部地图(腾讯地图、高德地图导航)附代码!!
  16. 支付宝个人收款解决方案之支付宝签约方案
  17. 网站代码该如何优化?
  18. linux里添加网卡,Linux添加虚拟网卡的多种方法
  19. 系统出现0x80004005错误代码快速解决方法
  20. 2.4 FrozenLake使用cross-entropy方法

热门文章

  1. java sftp mget_总结三种Shell脚本编程中避免SFTP输入密码的方法
  2. redis 计数 java_redission计数器实现,redisTemplate计数器
  3. JavaScript 书写方式与注释
  4. python中迭代器的应用场景
  5. android p dp5,谷歌释出Android P第5个开发者预览版更新!
  6. centos6.5装mysql好难_CentOS6.5 下MySQL傻瓜式安装
  7. mysql new map_使用构造器模式动态构建Map作为mybatis的查询条件
  8. linux 串口工具_会C++就能开发Linux/Android应用!这款Yoxios X3串口屏火了...
  9. jmeter性能测试报告_用 JMeter 做接口测试的优劣浅析
  10. 海洋分享lol皮肤插件_LOL战斗之夜客户端BUG频出服务器爆满!如何提前领取皮肤?...