C# 第三篇 流程控制
一、决策分支
在程序中使用选择结构语句来做决策,选择结构语句是编程语言的基础。
1、IF语句
C#中使用if关键字来组成选择语句,例如:
if(表达式) { ... }
在使用if语句时,如果只有一条语句,可省略{},但是建议不省略!
表达式必须使用()括起来,它可以是布尔值、常量、关系表达式。
2、if...else语句
用来解决类似“二选一”的问题,例如:
if(表达式) { ... } else { ... }
3、if...else if...else语句
用来解决类似“三选一”的问题,例如:
if(表达式) { ... } else if(表达式1) { ... } else if(表达式2) { ... } else { ... }
PS:以上三种IF语句可嵌套使用
4、switch语句
swicth语句是多分支条件判断语句,它根据参数的值使程序从多个分支中选择一个用于执行的分支。
swicth() { case 常量值1: 语句块1 break; case 常量值2: 语句块2 break; case 常量值3: 语句块3 break; ... default: 语句块4 break; }
每个case语句的顺序可以随机,case后的常量值不可以相同,case后的语句可以多条,不必使用{}括起来。建议default语句不要省略,用于处理意外情况。
表达式的值不可以是浮点型。
5、while循环语句
while语句用来实现“当型”循环结构,例如:
while(表达式) { ... }
表达式一般是一个关系表达式或一个逻辑表达式,表达式的值应该是一个逻辑值真或假,为真时执行语句,为假时,退出循环。
6、do...while虚幻
无论条件成立不成立,都会执行一次循环体,就会使用到do...while循环语句,例如:
do { 语句 } while(表达式);
while语句适用于先进行条件判断,再执行循环结构;do...while适用于先执行循环结构,再执行条件判断
7、for循环
for循环可用于循环次数已知或未知的循环情况。
for(表达式1;表达式2;表达式3) { 语句组 }
以上语句执行方式:求解表达式1,求解表达式2,若为真,则执行循环体内的语句,求解表达式3,转回求解表达式2;若为假,则结束循环;
for(循环变量赋初值;循环条件;循环变量增值) { 语句组 }
8、for循环的变体
for循环在具体使用时有多种变体形式,例如省略“表达式1”、“表达式2”、“表达式3”,或者三个表达式都省略。
8.1 省略“表达式1”的情况
若省略表达式1,则需要在for循环的前面为循环条件赋值,例如:
for(;iNum <= 100;INum++) { sum +=iNum; }
8.2 省略“表达式2”的情况
若省略表达式2,则循环会无限循环下去,可使用break语句结束循环,例如:
for(int iNum = 0;;INum++) { sum +=iNum; break; }
8.3 省略“表达式3”的情况
若省略表达式3,应设法保证循环的变量改变,例如:
for(int iNum = 0;iNum <= 100;) { sum +=iNum; INum++; }
8.4 3个表达式都省略的情况
全省路的情况与8.2类似,需要break配合结束循环,例如:
int i=100; for(;;) { Console.WriteLine(i); break; }
8.5 for循环中逗号的应用
for循环中,在“表达式1”和“表达式3”出都可以使用逗号表达式,例如:
for(iSum = 0,iNun = 1;iNum <= 100 ; INum++) { sum +=iNum; {
3种循环(while循环、do...while循环和for循环)可以相互嵌套
8.6 跳转语句
C#中跳转语句主要包括break语句和continue语句,跳转语句用于提前结束循环。
break语句时结束循环体,而continue语句是结束本次循环继续下次循环。