C#编程基础 笔记#3

程序的三种:
一、顺序结构
二、选择结构
三、循环结构
这三种结构能够解决目前已知任何问题。
这三种结构的出现是通过研究人类行为得出的结论。
顺序结构(一个人的一生)
可以称为:开弓没有回头箭。
人一旦出生则终点以现。放在程序中就是一个大的顺序结构。
例如:操作系统,你一开机就意味着一段时间的开始。如果你一关机,就表示系统重新再来一次。
大的顺序结构。
放到自己的程序中则是从程序开始执行到程序结束,就是一个大的顺序结构。
就是从Main函数执行开始到执行结束。
选择结构
依托于顺序结构不能单独存在。
以人来说,每天每时每刻你都要做出无数种选择。这些选择会改变非常小的流程
选择结构改变流程是指内部小的流程而不是整体大流程。
C#程序中选择结构帮助我们对内部的执行流程做出一定的改变。
C#为了达到改变内部小流程的目的,创造了if语句和switch语句来达到目标
if语句是C#提供的选择结构的操作语句
if语句的四种形势:
1;单分支结构
2;双分支结构
3;多分支结构
4;嵌套结构
语法:
1,单分支
if(bool表达式)
{
//表达式结果为真时要执行语句
}
2,双分支
if(bool 表达式)
{
//表达式结果为真时要执行语句
}else
{
//表达式结果为假是要执行语句
}
3,多分支
if(bool 表达式)
{
//表达式结果为真时要执行语句
}else if(bool 表达式)
{
//表达式结果为真时要执行语句
}。。。。。。
else
{
//表达式结果为假是要执行语句,这个else语句并不是必须的
}
4,嵌套
if(bool 表达式)
{
//表达式结果为真时要执行语句
if(bool 表达式)
{
//表达式结果为真时要执行语句
}
}else
{
//表达式结果为假是要执行语句
if(bool 表达式)
{
//表达式结果为真时要执行语句
}
}
-----------------------
以上就是if语句的四种结构形势。
如何选择中间的哪一种呢?
如果你只需要做一个判断,但是后面任然是继续执行并不影响其他,那么使用单分支即可。
如果你需要无论判断成立还是不成立都要做不同的事情,那么使用双分支即可
如果你需要在多种情况下选一个执行,那么使用多分支即可。
如果你需要层层递进的判断,那么使用嵌套即可
----------------------------------------------------
多分支语句的简洁形势:
switch语句
语法:
switch(表达式)
{
case 常量表达式:
break;
case 常量表达式:
break;
......
default:语句块;
break;
}
同样实现多分支语句的功能,但是switch只能进行相等的比较,不能进行范围比较,而且case后面只能是常量表达式。switch还有一个高级用法就是“贯穿”,
贯穿用法:几种情况不同但是处理方式是相同的,此时可以使用“贯穿”
switch(表达式)
{
case 常量表达式:
case 常量表达式:
case 常量表达式:
case 常量表达式:
break;
case 常量表达式:
break;
......
default:语句块;
break;
}
switch语句结构不能完全取代if多分支,因为switch不能判断复杂的条件,只能判断相等的关系。
-----------------------------------------------------------------------------------------
循环结构
C#中提供了四种循环语句来实现循环的功能。
while 循环
do...while 循环
for 循环
foreach 循环
---------------------------
while循环语句
是用来针对于不知道循环次数但是知道终止条件的情况下使用的一种很方便的语句。
while语句的特点是开始进行是否循环的判断,因此while循环可能出现一次都不循环的情况。
语法:
while(bool表达式)
{
//循环语句块,循环体
}
---------------------------------
do...while循环语句
和while循环是差不多的,但是它的特点是无论如何都会先执行一次循环然后再去判断是否继续循环。
语法:
do
{
//循环语句,循环体
}while(bool表达式);//<-----就这一个循环需要分号结束
---------------------------------------------
跳转语句:
C#中提供了四种跳转语句
1、goto语句
2、break语句
3、continue语句
4、return语句
-------------------
goto语句是和标签一起使用,用于改变程序执行流程,
程序在执行过程中一旦遇到goto语句则会立刻跳转到goto语句后面指定的标签处。执行标签后面的语句。
语法:
标签名://<---标签一般独占一行
代码行//<---跳转后要执行的代码
goto 标签名处;//<---goto 到指定的标签
例如:
label1:
Console.WriteLine("goto跳转到这里");
goto label1;
以上的示例可以形成死循环。
goto语句由于是无条件跳转所以容易照成代码结构的混乱不易阅读,因此在应用层开发中一般禁止使用goto语句。但是在底层开发受到设备的限制所以使用goto会更加方便。
-------------------
break语句主要使用在两个地方
1、switch语句中用于结束case语句
2、循环语句中用于终止break语句所在的循环
----------------------------------------
continue语句主要用于循环中
作用:结束本次循环直接进入下次循环,可以加速循环。
循环中一旦遇到continue语句则后面的语句将不再执行而立刻从头再次执行循环
=============================
综合提升---猜数字小游戏
用户输入时可能不会正确输入数字,因此程序中需要进行处理。
--------------------------------
游戏中处理用户数字输入不正确的方法:
使用 类型.TryParse 函数对用户输入的内容进行判断,如果转换成功则返回真,否则返回假。
由于是循环嵌套因此,内层循环的break语句不能退出外层,所以可以先在外层循环中增加一个bool的变量作为判断的依据,
//声明一个用户输入是否正确的变量
bool isNumber = true;//默认为真(相信玩家是正确输入的)
一旦发现玩家输入不是数字则停止当前的游戏,返回到开始,让玩家重新再来一次。
-------------------
增加游戏的背景音乐
1、导入命名空间(using System.Media;)
2、找到wav格式的音乐,存放到和exe相同的目录
3、定义SoundPlayer对象 sp
4、使用sp播放指定的音乐

posted @ 2020-06-11 16:35  古砂梦  阅读(58)  评论(0)    收藏  举报