文档介绍:第5章语句和程序结构
主要内容
本章主要讲解C#语言中的各种语句,包括赋值语句、空语句等简单语句,选择结构、条件语句、循环结构、跳转语句等流程控制语句,条件编译概念和相关语句,异常处理的概念和相关语句,以及C#提供的新语句。C#的名空间亦有简单的介绍。
本章的学习目标是学会各种语句,能够根据具体的问题选择合适的结构和语句,理解编程中解决问题的基本技巧和传统的结构化程序设计方法,通过自顶向下、逐步求精的处理方法来编写程序。
结构化程序设计的基本结构
程序主要是通过各种语句来完成预期的步骤,语句用来向计算机系统发出操作指令。语句通常分为简单语句、流程控制语句(有时也称为结构语句)和函数调用语句。一般的简单语句是按照书写的顺序执行的,中间不能发生变化。而实际问题中却经常需要转移或者改变程序的执行过程,达到这些目的的语句称为流程控制语句。
传统的面向过程的程序设计通常采用结构化的程序设计方法,使程序结构清晰、可读性强,以提高程序设计的质量和效率。结构化的程序由若干个基本结构组成,每一个基本结构可以包含一个或若干个语句。无论程序有多大,基本结构只有三种:顺序结构、选择结构和循环结构。
面向对象的程序设计兼容了结构化的程序设计方法,面向对象的程序设计语言也包含了所有的面向过程的语句。
顺序结构和简单语句
赋值语句
空语句
复合语句
表达式语句
标号语句
声明语句
B
A
局部常量声明;或者
局部变量声明;
局部变量声明语句用于声明一个或多个局部变量。其格式可以是如下形式之一:
类型标识符;
类型标识符= 表达式;
类型标识符1,标识符2,……,标识符n;
类型标识符1 = 表达式1,标识符2 = 表达式2,……,标识符n = 表达式n;
选择结构和条件语句
选择结构
两种基本选择结构
条件p 成立?
否
B
A
是
(a)
否
A
是
条件p 成立?
B
(b)
多分支选择结构
B
A1
A2
An
果。
k
k = kn
k = k1
k = k2
if语句
if语句的格式为:if (表达式) 语句1;
if - else语句的格式为:if (表达式) 语句1;else 语句2;
语句1和语句2可以是一条简单语句,或者是复合语句,也可以是任意一种控制语句(结构语句)。因此if语句可以嵌套。例如若if - else语句中的语句2也是一个if - else条件语句,则构成如下语句:
if (表达式1) 语句1;
else if (表达式2) 语句2;
else语句3;
在这种嵌套语句中,如果没有{ }说明,else总是和离它最近的if相匹配。
switch语句
switch语句是多分支选择语句。分支语句依据控制表达式的值选择执行相关的语句。其格式如下:
switch (表达式) {
case 常量表达式1:语句1;
case 常量表达式2:语句2;
……
case 常量表达式n:语句n;
default:语句n+1;
}
switch语句的控制类型由switch表达式决定,控制类型必须为sybte、byte、short、ushort、int、uint、long、ulong、char、string或者枚举型。如果switch表达式不是以上类型,必须有一个用户自定义隐式转换语句把switch表达式的类型转换为上述控制类型中的一种。
循环结构和语句
循环结构
循环结构
(a)
(b)
是
条件p 成立?
否
A
否
A
是
条件p 成立?
有两种循环结构:直到型循环结构和当型循环结构,(a)和(b)所示。在直到型循环结构中,先执行A,然后判断条件p是否成立,若条件成立,反复执行A,若条件不成立,退出循环。在当型循环结构中,先判断条件p是否成立,若条件成立,反复执行A,直到条件不成立时退出循环。
do-while语句
do-while语句用来实现直到型循环结构,它的一般形式为:
do {
语句;
} while (表达式);
do-while语句根据其布尔表达式的值有条件地执行它的循环体语句一次或者多次。循环体中的语句可以是简单语句、复合语句,也可以是任意一种结构控制语句,因此,while语句可以嵌套其他的循环语句。
while语句
while语句用来实现当型循环结构,它的一般形式为:
while (表达式) {
语句;
}
while依据其表达式的值条件执行它的循环体语句零次或者多次。循环