《C#程序设计基础》讲义_第1页
《C#程序设计基础》讲义_第2页
《C#程序设计基础》讲义_第3页
《C#程序设计基础》讲义_第4页
《C#程序设计基础》讲义_第5页
已阅读5页,还剩72页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《C#程序设计语言》

讲义

目录

.Net概述及VS2005使用......................................................................4

1、Net概述..................................................................................4

i.Microsoft.Net........................................................................................................................................................4

ii..NetFramework的概述...................................................................4

iii..NetFramework的版本....................................................................5

iv.C#语言与.Net的关系.....................................................................6

2、VS2005使用...............................................................................6

i.VisualStudio-fg.Net..............................................................................................................................................6

ii.开始使用VS2005..................................................................................................................................................7

iii.从控制台程序开始.......................................................................13

二、C#语法....................................................................................14

1、基础语法..................................................................................14

i.语句....................................................................................14

ii.常数、变量和常量......................................................................15

iii.表达式.................................................................................16

2、流程控制语句..............................................................................17

iv.顺序流程.............................................................................17

v.分支流程.............................................................................18

vi.重复流程...........................................................................19

vii.调用流程...........................................................................20

三、数据类型..................................................................................21

1、数据类型概述..............................................................................21

i.概述...................................................................................21

ii.数据类型的分类........................................................................22

iii.数据类型的转换.........................................................................23

2、单一的数据类型............................................................................24

i.存值数据类型的处理.....................................................................24

ii.整数类:存值、单一、系统预定义........................................................25

iii.实数类:存值、单一、系统预定义.......................................................25

iv.字符型:存值、单一、系统预定义........................................................26

V.数值数据类型间的转换..................................................................27

vi.布尔型:存值、单一、系统预定义.......................................................28

3、自定义的数据类型..........................................................................28

i.使用命名空间组织自定义类型............................................................28

ii.自定义数据类型的处理..................................................................29

iii,枚举:存值、单一、自定义..............................................................30

iv.存引用数据类型的处理..................................................................31

V.复合数据类型的处理....................................................................32

vi.类:存引用、复合、自定义..............................................................32

vii.结构体:存值、复合、自定义...........................................................34

4、集合的数据类型............................................................................34

i.数组:存引用、集合、系统预定义......................................................34

5、类型间的关系..............................................................................37

i.类型中成员的访问级别...................................................................37

ii.类型的访问级别........................................................................37

iii.使用关系...............................................................................38

iv.内嵌关系..............................................................................38

v.继承关系..............................................................................39

vi.类的数据类型间的转换..................................................................42

vii.值类型与object的转换..................................................................44

四、方法......................................................................................45

1、方法的使用................................................................................45

i.方法概述...............................................................................45

ii.方法的定义............................................................................46

iii.this变量...............................................................................47

iv.方法的调用............................................................................48

V.各种参数模式..........................................................................49

vi.方法重载..............................................................................52

vii.构造方法、析构方法与readonly数据成员.................................................53

2、继承关系中的方法.........................................................................56

i.方法的继承、覆盖与base变量...........................................................56

ii.构造函数...............................................................................57

iii.方法的虚拟化和重写....................................................................59

iv.抽象方法和抽象类......................................................................64

3、方法的高级应用...........................................................................65

i.操作符重载.............................................................................65

ii.属性...................................................................................67

iii.索引指示器............................................................................70

iv.委托:存引用、集合、自定义............................................................71

v.委托变量与事件........................................................................73

vi.接口:存引用、复合方法成员、自定义...................................................74

五、面向对象编程..............................................................................76

1、面向对象编程.............................................................................76

.Net概述及VS2005使用

1、.Net概述

i.Microsoft.Net

教学目标:

♦什么是Microsoft.Net[概念][记忆]

♦.Net的主要特点[概念][记忆]

Microsoft.Net(以下简称.Net)是Microsoft公司为适应Internet的快速发展而

推出的一种面向网络、支持各种用户终端的开发平台环境。.Net平台提供了强大的网

络交互能力,能开发出强大的交互式系统。.Net平台并且统一了各种类型项目的开发

模型,使得程序员非常容易开发各种用户终端的系统。

对于开发人员,.Net的主要特点有:

♦完全的面向对象编程

♦功能齐全的基础类库

♦WinForm和WebForm的统一编程模型

♦各种高级功能的集成支持:

数据库(ADO.Net)、Xml、Web和WebService(ASP.Net)等

♦多种开发语言的无缝交互支持:

C#、VB.Net、C++.Net>JScript.Net、J#等

♦完善的内存管理

♦对移动设备的无缝支持

ii..NetFramework的概述

教学目标:

♦.NetFramework作用[概念][记忆]

♦.NetFramework架构[概念][记忆]

.NetFramework是.Net平台的基础,它为所有的.Net程序的运行提供支持和环境。

因此,所有.Net程序,必须运行在.NetFramework之上,没有安装.NetFramework的

机器是不能运行.Net程序!

.NetFramework的安装包主要分两种:

♦RedistributablePackage(可再发行组件包):提供给最终用户使用,只包含

基本的.NetFramework功能。

♦SDK(软件开发工具包):提供给开发人员使用,除了基本的.NetFramework

功能外,还提供了开发相关的工具,如代码编译器。

.NetFramwwork的架构如下图:

C#VB.NetC++.NetJScript.NetJ#

CommonLanguageSpecification(公共语言规范)

ASP.NetWindowsForms

ADO.Net和Xml

8aseClassLibrary(基础类库)

CLR(公共语言运行时)

WindowsCOM+Services

对于.NetFramework的学习,就是应用它所提供给我们的各种功能。表现在程序

开发上,就是语法与类库的使用。

在.NetFramework的学习中,我们会学习BaseClassLibrary、ADO.Net、Xnd、

ASP.Net、事indowsForms和C#。(图中字体加粗,带有下划线的部分)。

对于C#的学习,我们是学习它的语法,使用C#来编写程序;对于BaseClass

Library、ADO.Net的Library>Xml的Library、ASP.Net的Library和WindowsForms

的Library,我们都是学习它们功能,并应用在我们的程序当中。

iii..NetFramework的版本

教学目标:

♦.NetFramework各个版本[概念][记忆]

♦我们学习的.NetFramework版本[概念][记忆]

.NetFramework从发布到现在,一共有以下的版本:

♦1.0版本及1.1版本:实现了整个.Net架构,为.Net平台打下基础

♦2.0版本:L0\l.1版本的延续,主要增加了泛型语法的支持,完善了各种类库。

♦3.0版本及3.5版本:2.0版本的扩展,以2.0版本为基础,增加了WPF、WCF、WWF

和InfoCard的功能。

下图是.NetFramework3.0的主要内容:

WindowsWindowsWindows

PresentationCommunicationWorkflow

InfoCard

FoundationFoundationFoundation

(WPF)(WCF)(WWF)

.NetFramework2.0

所以,我们将学习处于承前启后位置的.NetFramework2.0。

iv.C#语言与.Net的关系

教学目标:

♦C#语言与.Net的关系[概念][记忆]

由于.NetFramework采用了CommonLanguageSpecification(CLS,公共语言规范),

使得程序员可以使用多种语言的语法进行.Net程序的开发,并能无缝的融合在一起。

但除了C#语言,其他语言都会为了迁就旧语言的语法而作出妥协。而C#语言是伴

随着.Net平台而产生的,是.Net平台的原生语言,不存在任何语法上的限制。而它使

用最流行的类C++的语法,与C++、Java的语法非常相似。

所以C#语言是我们的学习对象。

2、VS2005使用

i.VisualStudio与.Net

教学目标:

♦VisualStudio的版本[概念][记忆]

♦我们使用的VS.Net版本[概念][记忆]

VisualStudio开发工具系列,是Microsoft提供的可视化IDE(Integrated

DevelopmentEnvironment,集成开发环境)。它为软件开发提供了强大的支持。

在之前的VS6.0版本,分为了大家熟悉的VC++、VB、VFP等。

而.Net是Microsoft的重头戏,Microsoft当然令到新版本的VisualStudio对.Net

有强大的支持。新版本的VS把多种语言的开发环境集中在一起,并以年份进行命名,

至今有:VS2002(.NetFramework1.0)、VS2003(.NetFramework1.1)、VS2005(.Net

Framework2.0)、VS2008(.NetFramework3.5)0

当然,我们学习的正是VS2005版本。

开始使用VS2005

教学目标:

了解HelloWorld程序[概念][理解]

编写HelloWorld代码[步骤][记忆]

生成HelloWorld程序[步骤][记忆]

运行HelloWorld程序[步骤][记忆]

VS2005的启动[步骤][应用]

VS2005的菜单[概念][应用]

新建控制台项目[步骤][应用]

项目的概念[概念][记忆]

♦解决方案的概念[概念][记忆]

♦文档窗口[概念][应用]

♦解决方案资源管理器[概念][应用]

♦代码源文件[概念][应用]

♦执行文件[概念][应用]

♦VS2005的项目生成功能[步骤][应用]

♦VS2005的项目运行功能[步骤][应用]

HelloWorld程序是最经典的编程入门示例,我们也从这个示例开始。

下面是HelloWorld示例程序的运行界面:

HelioWorld是一个命令行的程序,与用户的交互是通过文字形式一行一行进行的。

这个程序首先提示用户输入名字,然后显示输入的名字,并显示“你好,欢迎来到C#

的世界!最后等待用户按回车键结束程序。

现在我们开始一步步编写这个HelloWorld程序:

a)在“C:\”下,新建一个文本文件:

b)把文件名改为“HelloWorld.cs”:—

c)双击文件,会自动启动VS2005进行编辑。(当然,如果愿意也可以使用记

事本进行编辑。)

d)在文件内输入以下内容(在VS2005会有颜色显示,在记事本当然就没有了)

注意:必须严格区分大小写:

classProgram

staticvoidMain(string[]args)

stringname;

System.Console.Write("请输入你的名字(按回车结束输入):“);

name=System.Console.ReadLine();

System.Console.WriteLine(name+”你好,欢迎来到C#的世界!”);

System.Console.WriteLine("按回车键结束...”);

System.Console.ReadLine();

e)把编写好的CS文件保存好。

至此,我们已经编写好HelloWorld的代码了。在这里CS文件就是C#源文件,CS

是CSharp的缩略。

源文件是一堆文字,虽然它符合C#的语法要求,但此刻.Net平台并不认识它,不

能在.Net平台能上运行。要令源程序能在.Net平台上运行,必须进行生成的步骤。

生成就是根据.Net的要求,通过源文件产生相应的.Net平台代码。那些生成后的

代码就能在.Net平台上运行。我们通过以下步骤把刚才编写的源文件产生相应的.Net

平台代码:

a)运行“开始”->“程序”->"MicrosoftVisualStudio2005M->Visual

StudioTools"的"VisualStudio2005命令提示”:

b)输入"cd\",并按回车:

c)输入“escHelloWorld.cs",并按回车。此时,就开始cs文件的生成处理:

CAVisualStudio2005命令提示日日口

SettingenuironnentforusingMicrosoftUisualStudio2005x86tools.|---

C:\ProgramFilesXMicrosoftUisualStudio8\UC>cd\

C:\>cscHelloWorld.es

Microsoft<R>UisualCtt2005编译器版本8.00.50727.42

用于Microsoft<R>Windovis<R>2005Framework版本2.0.50727

<C〉MicrosoftCorporation2001-2005«保南所有权利°

注意:只有cs文件的内容完全正确,才会和图片的内容一致。否则会出现错

误提示的信息。如果出现错误提示信息,请检查CS文件的内容,特别是大小

写。

d)如果生成没有错误,即如上图所示,那么在“c:\”下会产生符合.Net平台

的代码程序“Helloworld,exe":」

现在,我们已经产生了可以在.Net平台上运行的HelloWorld程序,只要双击

“HelloWorld.exe”就可以运行。

这个就是我们编写的第一个C#程序!

下面,我们使用VS2005来编写、生成和运行我们的HelloWorld程序。

首先,我们运行"开始程序"-"MicrosoftVisualStudio2005"的"Microsoft

VisualStudio2005”来启动VS2005:

下一步,我们建立一个新的VS2005的项目,

选择“文件”菜单->“新建"项目…”:

••起的质licrosoftVisualStudio

文件包)同银⑥饭困电)工小©宣口包)社区©砂助纵

*<1)川:jJia(J)...Ctrl+Shitfi;

打开®►*..

关闭IE)」文件9..Cirl+M

从现有代码班项目II)

此时会出现“新建项目”对话框:

如上图的红框所示进行选择或输入:

♦项目类型:Windows

♦模板:控制台应用程序

♦名称:He11World

♦位置:D:\MyProjects

♦解决方案名称:MySolution

点击“确定”后,就会生成MySolution的解决方案和HelloWorld的项目,它们位

置在D:\MyProjects的目录下。

在VS2005里面,“项目”是最小的生成单位,项目里面可以包含一个或多个源文件。

我们的系统是由一或多个项目组成。而项目是组织在“解决方案”里面,一个解决方

案可以包含一个或多个项目。

创建项目后的VS2005界面,会分为三大部分:功能区域、文档区域和功能窗口区

域。

♦功能区域:包括菜单和工具栏,上面红色框的部分

♦文档区域:各个文档的处理区域,中间蓝色框的部分

♦功能窗口区域:包括左边的“工具箱”和右边的“解决方案资源管理器”、“类视图”、

“属性”等,粉红色框的部分

通过功能区域和功能窗口区域,我们可以对当前的解决方案、项目、文档进行处理,

而文档的编辑则是在文档区域里面进行。

下一步,我们在Program,cs里面,编写同样的HelloWorld程序。把Program,cs

里面的内容全部删除,输入下面的内容:

classProgram

staticvoidMain(string[]args)

stringname;

System.Console.Write(〃请输入你的名字(按回车结束输入):〃);

name=System.Console.ReadLineO;

System.Console.WriteLine(name+〃你好,欢迎来到C#的世界!〃);

System.Console.WriteLine(〃按回车键结束・・・〃);

System.Console.ReadLine();

保存好输入的内容。

下一步,我们就生成HelloWorld程序:

选择“生成'菜单"生成解决方案”•・

生成⑤)调,6)数据R)工具建)

画至成解决方运④F6

重新生成解决方案国)

清理解决方案C)

'迷择"生成解决方案”后,在VS2005的左下角,会出现解决方案生成进度的提示。

如果没有错误,会出现下图的“生成成功”提示。如果出现任何错误,会出现错误提示。

如果出现错误提示信息,请检查CS文件的内容,特别是大小写。

生成成功

下一步,我们可以在D:\MyProjects目录下,找到解决方案的目录“MySolution”,

并在里面能找到HelloWorld项目的目录“H在里World”。在“H在里World”目录里面,

就能看到Program.cs这个源文件。如果生成成功,我们会在“HelloWorld”目录下的

“bin”->“debug”里面找到我们所认识的HelloWorld.exe0此时双击运行,查看效

果。(法:VS2005会同时产生一个HelloWorld.vshost.exe文件,此文件是VS2005所

需要,但对于我们没有任何作用。)

当然,VS2005非常强大,我们并不需要找到生成的exe双击后才能运行,我们在

VS2005里面就可以运行相应的exe:

选择“调试”菜单->“开始执行(不调试)”:

调试@)I数据®工具d)窗口⑥

窗口®)►

►启动调试⑤)F5

|»开始执行坏调试)Of)Ctrl+F5|

晶附加到进程电)

异常现).一Ctrl+D,E

运峰“开始执行(不调试)”后,就会运行HelloWorld程序,并在结束前增加“请

按任意键继续••.”的等待功能。

iii.从控制台程序开始

教学目标:

♦Console.Write和Console.WriteLine的作用[概念][记忆]

♦Console.ReadLine的作用[概念][记忆]

♦变量的作用[概念][记忆]

命令行程序,也称为控制台程序(ConsoleApplication),它是历史久远的应用类

型。由于控制台程序的用户交互形式简单,在当今最求视觉效果和用户体验的时代,它

已经逐渐远离人们的视线。但正是由于控制台程序的简单交互的特性,使得代码开发简

洁高效,不需要繁复的界面交互控制处理,它成为了程序员的有力工具。使用控制台程

序,我们可以专注于系统自身的处理,专注于算法的开发和验证,专注于与新技术的学

习,而不受其他影响。

所以我们的教学,也使用控制台程序进行。

下面,我们试着修改HelloWorld程序,改变它的行为。我们增加年龄的输入和显

力、O

首先,修改源代码的内容为:

classProgram

(

staticvoidMain(string[]args)

(

stringname;

System.Console.Write("请输入你的名字(按回车结束输入):");

name=System.Console.ReadLine();

stringage;

System.Console.Write("请输入你的年龄(按回车结束输入):”);

age=System.Console.ReadLine();

System.Console.WriteLine(name+”你好,欢迎来到C#的世界!”);

System.Console.WriteLine(“你的年龄是:"+age);

System.Console.WriteLine("按回车键结束...”);

System.Console.ReadLine();

下一步就是生成解决方案,然后执行程序。

在HelloWorld的代码中,我们使用了两种信息输出的功能,分型是

System.Console.Write和System.Console.WriteLine。它们的区别在于Write显示信

息后,还可以在后面继续输入信息,一行并没有结束而WriteLine就自动结束一行。而

两种输出功能,都是在()里面放置需要输出的内容。

而用户输入的信息,使用的是System.Console.ReadLine,它要求用户用回车结束

输入。由于用户输入的内容是不确定的,我们使用一个变量(一个名字,可以使用它保

存任意内容)保存用户输入的内容。提示:变量要说明所保存内容的类型,例子中的是

string(字符串)。

文字信息,需要用双引号(")括起来。由于用户从界面输入的是文字类型的信息(在

控制台里面,输入的年龄信息也是文字),所以使用加号(+)把两个文字信息连起来。

、C#语法

1、基础语法

i.语句

教学目标:

♦语句空白与语句结束[概念][应用]

♦语句块[概念][应用]

♦注释[概念][应用]

c#程序是通过一条一条语句累积起来,完成我们所希望的功能。下面我们就学习

C#的语句要求。

C#语句是一些文字的内容,可以由数据、字母(包括英文、中文、日文等)、符号

组成。每条C#语句,都必须使用分号(;)结束。注意:分号必须是英文半角。例如:

System.Console.WriteLine(name+”你好,欢迎来到C#的世界!");。一条语句没有

结束之前,中间可以增加空白(空格和换行),令到人们阅读更加方便。注意:一个完

整单词中间不能有空格。例如:name=System.Console.ReadLine();o

如果程序由多条语句组成,就需要使用大括号({})括起来,组成语句块。语句块里

面可以包含其他语句块。

虽然代码已经存在程序的逻辑,通过代码的分析可以知道程序的作用。但为了更方

便人的阅读,我们可以增加注释来说明代码的意思。而注释在源代码生成的时候,会自

动被忽略掉,所以注释对程序的执行逻辑没有任何影响。但代码有了注释的说明,会大

大方便我们去阅读代码。

注释分为两种:

♦单行注释:使用〃开始,这一行后面所有的文字都是注释。例如:

stringname;〃这个是保存名字的变量

♦多行注释:使用/*开始,使用*/结束,中间部分的所有内容都是注释内容,内

容可以是多行。例如:

/*

这个是注释的示例

它有多行

*/

常数、变量和常量

教学目标:

♦常数[概念][应用]

♦常量[概念][应用]

♦变量[概念][应用]

♦声明语句[概念][记忆]

♦命名规则[概念][应用]

♦常量、变量的生存范围和使用范围[概念][理解]

♦程序调试查看变量[概念][应用]

♦引用示例图表示变量[概念][应用]

计算机程序的作用,就是加工处理一系列信息。这些信息有的是固定的,有的是会

在程序的运行期间发生变化。

对于固定内容的信息,我们采用常数和常量来表示

♦常数:固定的内容。可以是数值,如10、15.9;也可以是文字,如〃你好,欢迎来

到C#的世界!常数之间是没有任何联系的,就算他们的内容一样,例如都是10,

但一个变化不会引起另一个产生变化。

♦常量:指向常数的一个名字,这个名字可以在其他语句中使用,但其他语句使用中

不能改变名字所指向的内容。常量使用const关键字标记。如:conststringwelcome

="欢迎来到CSTP”;。

提示:除了最简单的程序外,我们都应该使用常量而不是常数,因为常量有批量修

改和表明意义的功能。

对于可变内容的信息,我们采用变量来表示。

♦变量:指向一个数值的名字,这个名字可以在其他语句中使用,并且可以改变名字

所指向的内容。

无论变量还是常量,都必须先告诉程序这个名字的存在后,才能被其他语句使用。

告诉程序存在的语句,称为声明语句。

♦变量声明:数据类型变量名字;

♦常量声明:const数据类型常量名字;

注意:如果变量或常量没有声明,使用它们的语句在生成的时候会出错。

变量或常量的名字必须遵循以下规则:

♦必须以字母(包括英文、中文、日文等)或下划线开始

♦只能由字母、数字、下划线组成,而不能包含空格、标点符号、运算符等其他符号

♦不能与C#中的关键字相同,如const、string>class、static、void等。关键字

是C#所需要使用的名字,在VS2005里面是蓝色字体。

变量'常量声明后,就能在后面的语句中使用,但这个使用是有限制的,这个限制

与变量、常量的生存范围和访问范围相关。

♦生存范围:从该变量,常量声明开始,到它所在的语句块结束位置。

♦访问范围:从该变量'常量声明之后,到它所在的语句块结束位置之前。包括里面

子语句块。

变量/常量在同一个语句块里面,不能重复声明同一名字。但可以声明一个外层语

句块已经存在的变量/常量,此时在该变量/常量的访问范围内,会屏蔽外层的同名变量

/常量。

在程序的语句执行过程中,变量的内容会跟着发生变化,而这些变化会对程序的执

行结果产生影响。因此,我们需要工具去分析变量的内容变化情况。我们有两种工具去

分析变量的变化:

♦一种是在程序运行的时候进行动态分析,这种是调试工具

♦一种是在程序还没有运行的时候进行静态分析,这种是引用示例图。

每款好的IDE(集成开发环境)都会提供功能齐全的调试工具,这些调试功可以让

开发人员控制程序的运行,并查看各种运行时候的信息。注意:要程序进入调试状态,

必须先让源代码能成功生成程序。

启动调试后,我们通过(程序执行)断点的设置,让程序在执行到某个语句的时候

停止。当程序停止在某个语句的时候,程序就处在一个静止的状态,各种信息停止处理。

此时,我们就能查看变量在这一刻的内容。

引用示例图是为每一程序语句标出当前各个变量的内容,通过逐步分析,我们可以

更深刻的理解程序的执行。引用示例图是使用。出iceExcel进行绘制。

iii.表达式

教学目标:

♦表达式语句[概念][记忆]

♦操作符及操作数[概念][记忆]

♦赋值操作符[概念][应用]

♦算术操作符[概念][应用]

♦位操作符[概念][应用]

♦复合赋值操作符[概念][应用]

♦比较操作符[概念][应用]

♦逻辑操作符[概念][应用]

♦操作符优先级[概念][应用]

计算机程序对信息进行加工处理,就是对信息中的数据进行各种操作,这些操作的

语句就是表达式语句。在程序代码中,主要是表达式语句。

表达式是由一系列的操作符和操作数组成,这些操作符按照一定的顺序执行,表达

式运行后会产生操作结果。

♦操作符:对操作数的操作方式

♦操作数:数据或产生数据的任何形式,例如常量、变量和表达式。

操作符一定要操作数进行操作,操作符可以带多少个操作数是由不同操作符本身决

定的。操作符带的操作数数量可以是1个、2个或3个,相应的操作符分别称为1元操

作符、2元操作符和3元操作符。

操作符主要有以下几类:

♦赋值操作符和复合赋值操作符:令变量或常量指向操作数。

♦算术操作符:对操作数进行数学运算,包括加(+)、减(-)、乘(*)、除(/)、取

余数(Q和取负数(-)o

♦位操作符:对操作数按照二进制的形式,进行二进制位的运算,包括与(&)、或(|)、

异或O、取补数(、)、左移(«)和右移(>>)。

♦比较操作符:对操作数进行比较,比较后的结果是true或false,包括等于(==)、

不等于(!=)、小于(<)、小于等于(<=)、大于(>)和大于等于(>=)o

♦逻辑操作符:对操作数进行逻辑运算,运算后的结果是true或false,包括逻辑与

(&&)、逻辑或(||)和逻辑非(!)0

♦自增、自减操作符:运算符对整数型变量进行操作,令变量的值增1(++)或减1

(一)o

表达式可以由多个操作符组成,这些操作符之间存在执行的优先级关系。默认的优

先级由C#语法决定,我们可以通过添加小括号来控制操作符之间的顺序。

2、流程控制语句

iv.顺序流程

教学目标:

♦多条语句按顺序执行[概念][应用]

C#程序由多条语句组成,这些语句是一条一条执行的,默认的执行顺序就是按照编

写的顺序,从上往下执行。顺序流程就是指C#语句按照从上往下的顺序一条一条执行,

它是C#程序的主要流程。

分支流程

教学目标:

♦多条语句按条件选择性执行[概念][应用]

♦if语句及其形式[概念][应用]

♦switch语句及其形式[概念][应用]

在有些情况下,对于多条语句,我们是有选择性的执行,并不能按顺序全部执行。

这个时候,我们就需要使用分支流程。分支流程就是指C#语句根据条件,有选择性的

执行一部分(一条或一个语句块)语句。控制分支流程的语句也称为条件语句。法意:

对于语句块里面的多条语句,默认的执行流程还是顺序流程,但语句块也可以包含分支

流程、重复流程和调用流程。

在C#里面有两种分支流程的控制语句,它们是if语句和switch语句。if语句:

如果选择的条件成立,执行紧跟着的语句或语句块,否则不执行;switch语句:根据

条件,执行符合条件要求的语句或语句块。

if语句的形式:

if(判断表达式)〃判断表达式必须能产生true\false

〃判断表达式的值为true时执行

else

〃判断表达式的值为false时执行

注意:else是可选的内容;如果语句块中只有一条语句,可以不用{};每个else

必须有一个对应的if,else和if使用最近匹配原则。

switch语句的形式:

switch(表达式)

case值1:

〃表达式的值等于值1时执行

break;

case值2:

//表达式的值等于值2时执行

break;

case值n:

〃表达式的值等于值n时执行

break;

default:

〃表达式的值不等于上面任何一个值时执行

break;

注意:每个分支必须用break结束;default是可选的内容;可以令多个case执

行同一个语句块;每次执行,只会有1个case被执行;可以在语句块里面使用goto

语句,跳转到其他case的语句块。

vi.重复流程

教学目标:

♦一条或多条语句按条件重复执行[概念][应用]

♦while语句及其形式[概念][应用]

♦do-while语句及其形式[概念][应用]

♦for语句及其种形式[概念][应用]

♦foreach语句及其形式[概念][记忆]

在有些情况下,我们希望重复执行一条或多条语句,此时,我们就需要使用重复流

程。重复流程就是指在特定条件下,重复执行一部分(一条或一个语句块)语句。控制

重复流程的语句也称为循环语句。注意:对于语句块里面的多条语句,默认的执行流程

还是顺序流程,但语句块也可以包含分支流程、重复流程和调用流程。

在C#里面有四种重复流程的控制语句,它们是while语句、do-while语句、for

语句和foreach语句。其中,while语句、do-while语句和for语句的使用,没有任何

特殊要求。foreach语句是.Net新增加的功能,它的使用有条件限制,并不是所有情况

下都能使用foreach语句。

while语句的形式:

while(判断表达式)〃判断表达式必须能产生true\false

〃判断表达式的值为true时执行

注意:如果语句块中只有一条语句,可以不用},语句块可能一次也不执行。

do-while语句的形式:

do

〃首先会执行一次

〃当判断表达式的值为true时再次执行

while(判断表达式);

注意:如果语句块中只有一条语句,可以不用〃;语句块会至少执行性一次;

while(表达式)后说必须要有分号(;)。

for语句的形式:

for(初始表达式;判断表达式;调整表达式)〃判断表达式必须能产生

true\false

〃判断表达式的值为true时执行

三种表达式和语句块的执行流程是:

初始化表达式->判断表达式->语句块->调整表达式->判断表达式->语

句块->调整表达式->判断表达式~>语句块……->调整表达式->判断表达

式。

注意:如果语句块中只有一条语句,可以不用{};三种表达式之间必须有分号隔开

(;);三种表达式是可选的,但中间的两个分号(;)必须要有;初始表达式中定义的变量,

生存范围是在语句块结束。

foreach语句的形式:

foreach(数据类型变量名字in集合变量名字)

〃集合还有元素取出

注意:如果语句块中只有一条语句,可以不用{};变量的生存范围是在语句块结束;

变量自动从集合里面取出元素;变量的类型与集合中元素的类型要一致;集合变量的数

据类型必须实现IEnumerable

无论是哪一种循环语句,我们都可以在语句块里面控制循环的流程。在C#里面有

两种控制循环的语句,它们是break语句和continue语句。这两种语句直接用分号(;)

结束即可,即break;和continue;。

♦break语句:从break语句的位置,直接跳到语句块的结束位置,并且不再执行任

何表达式而结束循环;break语句只能结束它所在那一层循环。

♦coninue语句:从continue语句的位置,直接跳到语句块的结束位置,然后继续

执行循环语句相关的表达式,继续循环流程;continue语句只能继续它所在那一层

循环。

vii.调用流程

教学目标:

♦函数机制[概念][记忆]

♦函数的调用[概念][记忆]

在C#里面,可以类似于变量、常量使用名字来保存内容,我们可以使用一个名字来

指向一个语句块。在其需要使用相同语句块的地方,可以通过语句块的名字调用语句块。

这样的机制就是函数机制,名字-语句块的组合就是函数,名字是函数名,语句块

是函数体,使用名字来调用语句块的处理是函数调用。

调用流程就是指使用了函数调用,原来的流程会先停止,进入到函数体的语句块中

的流程开始执行,当函数体的流程结束后,原来的流程继续执行。

三、数据类型

1、数据类型概述

i.概述

教学目标:

♦什么是数据类型[概念][记忆]

♦变量'常量与数据类型[概念][应用]

♦数据类型的实体值[概念][记忆]

计算机程序的作用就是加工输入的数据,并输出加工后的数据。

从程序运行的第一刻开始,我们就需要保存和使用各种各样的数据,包括用户输入

的数据、硬盘中的数据、数据库中的数据、其他计算机通过网络传输过来的数据等等。

在加工的过程中,又会产生各种各样的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论