VisualC#程序设计基础课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《VisualC#程序设计基础课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VisualC 程序设计 基础 课件
- 资源描述:
-
1、第第11章章 Visual C#程序设计基础程序设计基础本章知识点本章知识点pC#语言基础语言基础p数据类型数据类型p常量和变量常量和变量p运算符和表达式运算符和表达式p流程控制语句流程控制语句p类和对象类和对象11.1 C#语言基础语言基础p C#语言的基本特点语言的基本特点p.NET Framework和和C#p 使用使用Visual Studio 2005p 编写一个简单的编写一个简单的C#例子例子11.1.1 C#语言的基本特点语言的基本特点p C#的英文发音为的英文发音为C Sharp,它是一种最新的、面向对象,它是一种最新的、面向对象的程序设计语言,程序员可以使用它方便、快速地编的
2、程序设计语言,程序员可以使用它方便、快速地编写各种基于写各种基于Microsoft.NET平台的应用程序。平台的应用程序。p.NET将将Internet本身作为构建新一代操作系统的基础,本身作为构建新一代操作系统的基础,并对并对Internet和操作系统的设计思想进行了延伸,使开和操作系统的设计思想进行了延伸,使开发人员能够创建出与设备无关的应用程序,更容易地发人员能够创建出与设备无关的应用程序,更容易地实现实现Internet连接。连接。p 可以使用可以使用Visual Studio开发开发C#应用程序。应用程序。C#语言具有如下主要特点语言具有如下主要特点1语法简洁语法简洁2更完善的面向对
3、象程序设计机制更完善的面向对象程序设计机制3与与Web应用的紧密应用的紧密11.1.2 .NET Framework和和C#C#语言的编译和运行过程语言的编译和运行过程(1)在)在Visual Studio中创建中创建Visual C#项目,其中包括项目,其中包括C#源文件、资源和引用等。源文件、资源和引用等。C#源文件的扩展名为源文件的扩展名为.cs,可,可以定义类、接口、窗体等;资源可以是图像、图标、以定义类、接口、窗体等;资源可以是图像、图标、文本文件或字符串等;引用是文本文件或字符串等;引用是Microsoft公司或第公司或第3方提方提供的组件,通常为供的组件,通常为.dll、.ocx
4、和和.tlb等类型。等类型。(2)使用)使用C#编译器对编译器对Visual C#项目进行编译,得到项目进行编译,得到Microsoft中间语言(中间语言(MSIL),这是一组可以有效地转),这是一组可以有效地转换为本机代码且独立于换为本机代码且独立于CPU的指令。的指令。(3)Visual C#程序运行在程序运行在.NET Framework平台上,由平台上,由公共语言运行库提供支持,同时使用公共语言运行库提供支持,同时使用.NET Framework提供的类库,将提供的类库,将Microsoft中间语言转换为本地计算机中间语言转换为本地计算机代码,最终在操作系统上运行。代码,最终在操作系统
5、上运行。11.1.3 使用使用Visual Studio 2005p在在“开始开始”菜单中依次选择菜单中依次选择“程序程序”/“Microsoft Visual Studio 2005”/“Microsoft Visual Studio 2005”,启动,启动Microsoft Visual Studio 2005窗口。窗口。新建项目新建项目p 在最近打开的项目列表下面,提供了打开和创建网站的超级链接在最近打开的项目列表下面,提供了打开和创建网站的超级链接。单击。单击“创建创建”标签后面的标签后面的“项目项目”超级链接,打开超级链接,打开“新建项目新建项目”对话框。对话框。控制台应用程序项目控
6、制台应用程序项目Visual Studio窗口窗口1窗体设计及代码编辑器窗体设计及代码编辑器2解决方案资源管理器解决方案资源管理器3属性窗口属性窗口11.1.4 编写一个简单的编写一个简单的C#例子例子 参照参照11.1.3小节介绍的方法创建一个控制台应用程序项目,项目名小节介绍的方法创建一个控制台应用程序项目,项目名称为称为HelloWorld。项目的主文件为。项目的主文件为Program.cs。1Program.cs的默认代码的默认代码usingSystem;usingSystem.Collections.Generic;usingSystem.Text;namespaceHelloWor
7、ldclassProgramstaticvoidMain(stringargs)2在在Main()函数中添加代码函数中添加代码staticvoidMain(stringargs)Console.WriteLine(HelloWorld!);Console.ReadKey();3运行程序运行程序p 在菜单中选择在菜单中选择“调试调试”/“启动调试启动调试”,或在工具栏,或在工具栏中单击中单击“启动调试启动调试”按钮按钮 可以运行当前的项目。可以运行当前的项目。4在程序中添加注释在程序中添加注释(1 1)注释符)注释符/(2 2)注释符)注释符/*/(3 3)XMLXML文档注释标记文档注释标记(
8、1)注释符)注释符/文件名:文件名:Program.cs/描述:主程序文件描述:主程序文件/作者:启明星作者:启明星/日期:日期:2009-2-18inta=0;/声明一个整型变量声明一个整型变量a,初始值为,初始值为0(2)注释符)注释符/*/*文件名:文件名:Program.cs描述:主程序文件描述:主程序文件作者:启明星作者:启明星日期:日期:2009-2-18*/inta=0;/*声明一个整型变量声明一个整型变量a,初始值为,初始值为0*/intb/*变量变量b*/=0;(3)XML文档注释标记文档注释标记/classProgram/主函数主函数/命令行参数命令行参数staticvoi
9、dMain(stringargs)Console.WriteLine(HelloWorld!);/ab/cConsole.ReadKey();11.2 数据类型数据类型p 值类型值类型p 引用类型引用类型p 类型转换类型转换11.2.1 值类型值类型1 1简单类型简单类型2 2结构类型结构类型3 3枚举类型枚举类型1简单类型简单类型简单类型分类C#数据类型.NET Framework系统类型具体说明整数类型byteSystem.Byte无符号8位整数,取值范围为0255sbyteSystem.SByte有符号8位整数,取值范围为-128127ushortSystem.UInt16无符号16位整
10、数,取值范围为065,535shortSystem.Int16有符号16 位整数,取值范围为-32,76832,767uintSystem.UInt32无 符 号 3 2 位 整 数,取 值 范 围 为 0 4,294,967,295intSystem.Int32有 符 号 3 2 位 整 数,取 值 范 围 为-2,147,483,6482,147,483,647ulongSystem.UInt64无 符 号 6 4 位 整 数,取 值 范 围 为 0 18,446,744,073,709,551,615longSystem.Int64有 符 号 6 4 位 整 数,取 值 范 围 为-9,
11、223,372,036,854,775,8089,223,372,036,854,775,807实数类型floatSystem.Single32位浮点数据类型,也称为单精度数据类型,取值范围为1.5 10453.4 1038doubleSystem.Double64位浮点数据类型,也称为双精度数据类型,取值范围为5.0 103241.7 10308decimalSystem.Decimal128位数据类型,主要用于金融或货币方面的计算和处理,取值范围大致为1.0102 8 7.91028布尔类型boolSystem.Boolean布尔类型的变量只能存储布尔值true(真)和false(假)字符
12、类型charSystem.Char16位Unicode字符类型【例例11.1】pbytebyte数据类型的取值范围是数据类型的取值范围是02550255,下面程序将验证变量越界的情况。,下面程序将验证变量越界的情况。staticvoidMain(stringargs)bytea=255;Console.WriteLine(a);a+;Console.WriteLine(a);Console.ReadKey();p程序的运行结果如下:程序的运行结果如下:2550转义字符转义字符转义字符含义a警报(响铃)b退格符tTAB符r回车符v垂直TAB符f换页符n换行符eESC符反斜杠()2结构类型结构类型
13、structEmployeepublicstringEmpName;/姓名姓名publicstringSex;/性别性别publicintWage;/工资工资publicstringIDCard;/身份证号身份证号使用结构体使用结构体p 可以通过下面的语句声明一个可以通过下面的语句声明一个Employee结构类型的变量结构类型的变量emp。Employeeemp;p 可以通过可以通过“emp.”方式来访问结构体内的变量。方式来访问结构体内的变量。例如,使用下面的语句可以为结构类型变量例如,使用下面的语句可以为结构类型变量emp设置具体的值。设置具体的值。emp.EmpName=小强小强;emp
14、.Sex=男男;emp.Wage=3000;emp.IDCard=1101234567890 xx;【例例11.2】p在在Employee结构类型中增加一个结构类型中增加一个Phone结构类型,用于定义员工的电话信息。结构类型,用于定义员工的电话信息。Phone结构类型包含结构类型包含3个成员个成员变量,即住宅电话变量,即住宅电话HomePhone、办公电话、办公电话OfficePhone和移动电话和移动电话MobilePhone,定义代码如下:,定义代码如下:structEmployeepublicstringEmpName;/姓名姓名publicstringSex;/性别性别publici
15、ntWage;/工资工资publicstringIDCard;/身份证号身份证号publicstructPhonepublicstringHomePhone;/住宅电话住宅电话publicstringOfficePhone;/办公电话办公电话publicstringMobilePhone;/移动电话移动电话publicPhonephone;/定义电话变量定义电话变量p可以使用下面的语句来设置可以使用下面的语句来设置emp变量的住宅电话。变量的住宅电话。emp.phone.HomePhone=66668888;3枚举类型枚举类型p 枚举类型就是能够枚举出所有取值的类型。例如,一枚举类型就是能够枚
16、举出所有取值的类型。例如,一周有周有7天,可以定义一个枚举类型天,可以定义一个枚举类型Days,表示周,表示周1至周至周日,代码如下:日,代码如下:enumDaysSun,Mon,Tue,Wed,Thu,Fri,Sat使用枚举类型使用枚举类型p也可以手动指定枚举元素的值。例如,下面的代码中指定枚举元素也可以手动指定枚举元素的值。例如,下面的代码中指定枚举元素Sun的值为的值为1。enumDaysSun=1,Mon,Tue,Wed,Thu,Fri,Satp可以使用下面的方法来声明枚举类型的元素。可以使用下面的方法来声明枚举类型的元素。Daysweekdayp可以使用可以使用“.”的方式来引用枚举
17、类型的元素。例的方式来引用枚举类型的元素。例如,将变量如,将变量weekday赋值为周日,代码如下:赋值为周日,代码如下:weekday=Days.Sun;11.2.2 引用类型引用类型p 引用类型与值类型的最大区别在于,引用类型变量不直接存储所引用类型与值类型的最大区别在于,引用类型变量不直接存储所包含的值,而是指向它所要存储的值。也就是说,引用类型变量包含的值,而是指向它所要存储的值。也就是说,引用类型变量保存的是数据引用值的地址,这一点类似于保存的是数据引用值的地址,这一点类似于C语言中的指针。语言中的指针。p C#语言中包含的引用类型包括类(语言中包含的引用类型包括类(class)、数
18、组()、数组(array)、接口)、接口(interface)和委托()和委托(delegate)等。)等。1类类p 类是面向对象程序设计的基本单位,它既可以描述对象的属性,类是面向对象程序设计的基本单位,它既可以描述对象的属性,又可以定义对象的操作。又可以定义对象的操作。p 关于关于C#语言中定义和使用类的方法,将在语言中定义和使用类的方法,将在11.6小节详细介绍。这小节详细介绍。这里只介绍一个简单的定义类的实例。里只介绍一个简单的定义类的实例。【例例11.3】p声明类声明类Employee,用于定义员工的信息和操作,代码如下:,用于定义员工的信息和操作,代码如下:classEmploye
19、epublicstringEmpName;/姓名姓名publicstringSex;/性别性别publicintWage;/工资工资publicstringIDCard;/身份证号身份证号/输出员工信息输出员工信息/publicvoidPrintEmpInfo()Console.WriteLine(EmpName);Console.WriteLine(Sex);Console.WriteLine(Wage);Console.WriteLine(IDCard);2数组数组p 数组是包含若干相同数据类型变量的数据结构,它对应一段连续的数组是包含若干相同数据类型变量的数据结构,它对应一段连续的内存空
20、间。在定义数组时,需要指定数组名、数组元素的数据类型内存空间。在定义数组时,需要指定数组名、数组元素的数据类型和数组的维数等信息。和数组的维数等信息。p 数组可以是一维的,也可以是多维的。声明一维数组的语法如下:数组可以是一维的,也可以是多维的。声明一维数组的语法如下:=newp 关键字关键字new用于创建新的对象。例如,定义一个整型一维数组用于创建新的对象。例如,定义一个整型一维数组arr,它包含它包含5个数组元素,代码如下:个数组元素,代码如下:intarr=newint5;使用数组使用数组p在声明数组对象时,可以直接对其进行初始化,例如:在声明数组对象时,可以直接对其进行初始化,例如:i
21、ntarr=newint51,2,3,4,5;p使用下面的语句可以设置和返回数组元素的值。使用下面的语句可以设置和返回数组元素的值。arr0=2;inta=arr2;p在在C#语言中可以声明多维数组。例如,下面的语句声明了一个语言中可以声明多维数组。例如,下面的语句声明了一个5行行2列的二维整型列的二维整型数组。数组。int,array=newint5,2;p多维数组的使用方法与一维数组类似,也可以在声明数组时定义其初始值。例如多维数组的使用方法与一维数组类似,也可以在声明数组时定义其初始值。例如:int,array=newint,1,2,2,2,3,3,4,2,5,3;3接口接口【例例11.
22、4】在绘制图形时,都可以指定绘图使用的颜色(在绘制图形时,都可以指定绘图使用的颜色(Color属性),也需要包含一属性),也需要包含一个绘制动作(个绘制动作(Draw方法)。因此,可以定义一个接口方法)。因此,可以定义一个接口ISharp,包含所有绘图类所,包含所有绘图类所包含的包含的Color属性和属性和Draw方法,代码如下:方法,代码如下:ppublicinterfaceISharppp/p/绘制图形的颜色绘制图形的颜色p/pSystem.Drawing.ColorColorget;set;p/p/绘制图形绘制图形p/pvoidDraw();pp4委托委托p 委托(委托(delegate
23、)相当于)相当于C+中的函数指针,但是委托是类型安全中的函数指针,但是委托是类型安全和可靠的,它避免了和可靠的,它避免了C+中由于没有释放指针而导致的资源泄露中由于没有释放指针而导致的资源泄露现象,也不会因为指针指向不正确的地址而产生异常。现象,也不会因为指针指向不正确的地址而产生异常。p 可以使用关键字可以使用关键字delegate来定义委托。例如,定义一个指向来定义委托。例如,定义一个指向void类类型函数的委托,代码如下:型函数的委托,代码如下:delegatevoidMyDelegate();p 委托本身没有意义,在没有指向具体的方法前也不能被独立执行委托本身没有意义,在没有指向具体的
24、方法前也不能被独立执行。需要首先定义一个方法,然后将委托指向该方法,才能通过委。需要首先定义一个方法,然后将委托指向该方法,才能通过委托调用方法。托调用方法。【例【例11.5】classProgram/定义委托定义委托MyDelegatedelegatevoidMyDelegate();/主函数主函数staticvoidMain(stringargs)/将委托对象将委托对象d指向指向PrintHello()方法方法MyDelegated=newMyDelegate(PrintHello);/相当于执行相当于执行PrintHello()方法方法d();/将委托对象将委托对象d指向指向PrintA
25、BC()方法方法d=newMyDelegate(PrintABC);/相当于执行者相当于执行者PrintABC()方法方法d();/等待用户按任意键退出等待用户按任意键退出Console.ReadKey();【例【例11.5】/打印打印HelloWorld的方法的方法publicstaticvoidPrintHello()Console.WriteLine(HelloWorld);/打印打印ABC的方法的方法publicstaticvoidPrintABC()Console.WriteLine(ABC);5内置引用类型内置引用类型(1)object类型类型(2)string类型类型(1)obj
展开阅读全文