C#程序三大结构
0. 前言
- 顺序结构是最基础的一种结构,下面不展开介绍
-
在计算机中,数数都是
从0开始
的
1. 分支结构
- 分支结构——通过判断,做出不同选择
- 对于一个浮点数,判断该浮点数是不是等于5,具体操作如下:
/*1.浮点数一般情况不做等值判断,是因为浮点数是一个精度较高的数,等值判断存在一定误差
2.因此在进行浮点数等值判断时,一定要考虑误差问题
对于这个问题,我们的解决方案如下:
1.确定一个浮点数误差范围,当要比较的浮点数处于这个误差范围内,表示这个浮点数与比较值相等
2.在比较值上下都会有一个浮动,例如4.999和5.001都可以近似认为等于5,这两个数与5的偏差一正一负
3.因此,采用偏差绝对值来和定下的误差范围进行比较
*/
float damage = 3.4f;
//计算浮点数与比较值之间的偏差
double offset = damage - 5;
//取偏差值的绝对值
offset = offset >= 0 ? offset : -offset;
//比较偏差值的绝对值是否在一定误差范围内,若在,则近似表示浮点数与比较值等值
if(offset < 0.005f)
{
......
}
1.1 if语句
-
if语句一共有三种形式,下面将介绍这三种形式的格式:
-
第一种:
-
第二种:
这种形式的if语句可以用
条件运算符
来简写 -
第三种(级联式):
-
第一种:
-
if语句是支持
嵌套
的,即可以在一个 if 或 else if 语句内使用另一个 if 或 else if 语句
1.2 switch语句
-
switch语句的语法规范如下所示:
-
在if语句中,是对
条件表达式
的结果进行判断,而条件表达式的结果只有true和false两种 -
在switch中,是根据
表达式
的结果进行分支的,而表达式是一个变量(
不可以是常量
),其进行的是等值判断- 表达式允许是浮点型变量,但不推荐
-
因为浮点型存在
误差
且浮点型一般
不做等于
的判断
- 表达式的数据类型必须和case后填写的值是同一个数据类型
-
注意:
-
case后的标签
只
可以是
常量或常量表达式
- case冒号后的语句不一定要有break语句
- 冒号后的语句若没有break,则会顺序执行,直到遇到break语句
- default是可以略写的,若写则只能有一个
-
最后一个冒号后的语句
一定
要有break语句,用于跳出switch语句
-
case后的标签
2. 循环结构
- 循环结构——重复做同一件事情
-
特点:分为循环条件和循环操作两部分
2.1 while循环
-
while循环的语法如下:
- 在循环体中,需要有一个变量在变动,这是为了让循环条件能够起作用,不让循环变成无限循环;其循环操作不会变动
-
跳出循环的途径:
- 循环条件不满足
- 循环过程中不满足某个判断条件,被break跳出
2.2 do…while循环
-
do…while循环的语法如下:
-
该循环主要应用在下面这种情况的循环中:
- 条件表达式需要先执行一个内容后才能进行判断,执行过后的判断才具有意义
- eg:贪吃蛇游戏中,刚出生需要出现在一个空白区域中,先随机一个位置后,再判断位置是否是空白位置
-
与while循环的不同之处在于:
- while循环是先判断,再进入循环
- do…while循环是先进入循环,再进行判断
2.3 for循环(最常用)
-
for循环的语法如下:
-
注意:
- 括号内,第一个分号之前的语句只执行一次后,执行第二个语句
- 括号内的第二个分号后的语句是在循环体执行完后,才执行
- 循环增量执行完后,都会执行一次循环条件,来判断是否还要继续循环
2.4 foreach循环(主要用于迭代遍历)
-
foreach循环的语法如下:
-
注意:
- 迭代变量只能读,不能写(不能赋值)
- foreach性能消耗要大一点,除了必须要用foreach的,最好都用for循环遍历
- 可进行遍历的有:一维数组、二维数组、字符串
3. break语句
-
在switch语句中,break的作用:
- break语句是出switch分支语句的唯一途径
-
在循环结构中,break的作用:
-
在循环结构中的流程图如下:
4. continue语句
-
在循环结构中,continue的作用:
-
在循环结构中的流程图如下:
版权声明:本文为qingtian_111原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。