|
程序的执行过程控制是算法思路实现的逻辑路径,是程序设计的核心。根据结构化程序设计思想,程序的流程主要由3种基本结构组合而成:顺序结构、选择结构和循环结构,它们是现代程序设计的基础。
|
|
|
|
在C#语言中,提供了两种选择结构程序设计的语句结构:if-else语句和switch语句。它们的作用就是根据某个条件是否成立,控制程序的执行流程。
|
|
|
|
if语句是最常用的选择语句,它的功能是根据所给定的条件(常由关系、布尔表达式表示)是否满足,决定是否执行后面的操作。
|
|
|
|
功能:如果表达式的值为真(即条件成立),则执行if语句所控制的语句块;如果表达式的值为假(即条件不成立),则直接执行语句块后面的语句。
|
|
|
|
|
|
|
|
功能:如果表达式成立,则执行语句组1,然后执行语句组2的下一条语句。如果表达式不成立,则跳过语句组1,执行语句组2,然后执行语句组2的下一条语句。
|
|
|
|
|
|
|
|
功能:当表达式1为真时,执行语句组1,然后跳过整个结构执行下一个语句;当表达式1为假时,跳过语句组1去判断表达式2。若表达式2为真时,执行语句组2,然后跳过整个结构去执行下一个语句;若表达式2为假时,则跳过语句组2去判断表达式3。以此类推,当表达式1、表达式2……表达式n-1全为假时,则执行语句组n,再转而执行下一条语句。
|
|
|
|
|
|
|
|
|
|
“表达式”也可以是变量,但必须是能计算出具体的“常量表达式”表示的量。
|
|
|
“常量表达式”是“表达式”的计算结果,可以是整型数值、字符或字符串。switch语句的执行过程:首先计算switch后面的表达式的值。其次,将上述计算出的表达式的值依次与每一个case语句的常量表达式的值比较。如果没有找到匹配的值,则进入default,执行语句组n+1;如果没有default,则执行switch语句后的第一条语句;如果找到匹配的值,则执行相应的case语句组语句,执行完该case语句组后,整个switch语句也就执行完毕。因此,最多只执行其中的一个case语句组,然后将执行switch语句后的第一条语句。
|
|
|
|
在程序中除了使用语句改变流程外,有时还需要重复执行某个代码段多次。为了实现重复执行代码的功能,C#提供了while、do-while、for和foreach-in 4种循环语句。
|
|
|
|
while语句可用来实现当条件为“真”时,不断重复执行某个代码块的功能,其语句格式为:
|
|
|
|
|
|
②如表达式的值为真,则执行循环体“语句块”,并改变控制循环变量的值。
|
|
|
③返回while语句的开始处,重复执行步骤a和b,直到表达式的值为假,跳出循环并执行下一条语句。
|
|
|
|
|
|
|
do-while语句的特点是先执行循环,然后判断循环条件是否成立。其语句格式为:
|
|
|
|
|
①当程序执行到do语句后,就开始执行循环体语句块,并改变循环变量的值。
|
|
|
②执行完循环体语句后,再对while语句括号内的条件表达式进行判断。若表达式条件成立(为真),转向步骤a继续执行循环体语句;否则退出循环,执行下一条语句。
|
|
|
|
|
|
|
do-while语句不论条件表达式的值是什么,其循环体语句都至少要执行一次,而while语句只有当条件表达式的值为真时,才执行循环体语句,如果条件表达式一开始就不成立,则循环体语句一次都不必执行。总之,do-while循环是先执行循环体,后判断条件表达式是否成立;而while语句是先判断条件表达式,再决定是否执行循环体。
|
|
|
|
for语句是构成循环最灵活简便的一种方法。for语句的一般格式为:
|
|
|
|
|
|
②求解表达式2的值,若表达式2条件成立,则执行for语句的循环体语句组,然后执行下面的第c步;若条件不成立,则转到第e步。
|
|
|
|
|
|
|
|
|
|
break语句通常用在switch语句和各种循环语句中。
|
|
|
|
在switch语句中,break语句的作用是使程序流程跳出switch语句结构。在各种循环语句中,break语句的作用是使程序中止整个循环。注意,如是多重循环,break不是使程序跳出所有循环,而只是使程序跳出break本身所在的循环。
|
|
|
continue语句用于各种循环语句中,continue语句的使用格式为:continue;
|
|
|
continue语句的作用是跳过循环体中剩余的语句而强行执行下一次循环。
|
|
|
continue语句与break语句的区别:continue语句用于结束本次循环,即跳过循环体中continue语句下面尚未执行的语句,再判断表达式的条件,以决定是否执行该循环体的下一次循环。而break语句则是终止当前整个循环,不再进行条件表达式的判断。在while和do-while语句中,continue语句用于把程序流程转至执行条件测试部分,而在for循环中,则转至表达式3处,以改变循环变量的值。
|
|
|