第二章C#编程基础1.ppt
《第二章C#编程基础1.ppt》由会员分享,可在线阅读,更多相关《第二章C#编程基础1.ppt(72页珍藏版)》请在三一文库上搜索。
1、第2章 C#编程基础,讲解提纲,2.1 C#语言简介 2.2 C#数据类型 2.3 运算符 2.4 C#中的控制语句 2.5 C#面向对象程序设计基础 2.6 C#面向对象高级特性,第2章 C#编程基础,学习目的与要求: 本章将介绍Microsoft为.NET框架设计的C#语言,C#是一种功能强大的面向对象和类型安全的编程语言,支持类、接口、封装、抽象等功能。开发人员可以使用C#语言创建任何一种.NET应用程序。 通过对本章的学习,读者应重点掌握C#数据类型、常量、变量、循环语句、选择语句等内容。本章的难点是类的声明、对象的定义、C#类的继承与多态、C#的重载与接口等内容。,2.1 C#语言简
2、介,C#是微软公司专门为.NET量身定做的语言,它与.NET有着密不可分的关系。 C#的类型就是.NET框架所提供的类型,其本身并无类库,而是直接使用.NET框架所提供的类库。 类型安全检查、结构化异常处理也都是交给公共语言运行库处理的。因此,C#是最适合开发.NET应用的编程语言。,2.1.1 C#语言的特点,C#语言的特点主要包括如下几个方面。 (1) 语法简洁 (2) 面向对象设计 (3) 与Web的紧密结合 (4) 灵活性和兼容性,2.1.2 关键字和标识符,1关键字,2标识符 在C#语言中,标识符的命名规则如下: 标识符不能与C#语言中的关键字同名。 标识符只能由字母、数字、下划线组
3、成。 标识符必须以字母开头或以符号开始。 标识符不能与C#语言中的库函数同名。 标识符中不能包含空格、斜杠、运算符及标点符号等特殊符号。,2.1.2 关键字和标识符,C#的标识符区别大小写,例如下面的三个标识符是不同的。 Member member MemBer C#的标识符不能与关键字相同,但是可以使用前缀来避免这种冲突,例如: while while 上面两个单词中第一个单词是合法的标识符,而第二个单词不是合法标识符,因为while是个关键字。,2.2 C#数据类型,C#将所有的数据类型分成两大类: 值类型 引用类型,2.2.1 简单类型概述,值类型通常用来表示基本类型、简单类型。C#的值
4、类型主要包括: 整数类型 布尔类型 实数类型 字符类型 结构类型 枚举类型,整数类型,C#定义了8种整数类型,布尔类型,布尔类型用来表示“真”和“假”两个逻辑概念.在C和C+语言中,用0来表示“假”,用非“0”的值表示“真”,但是C#语言中对上述表示进行的限制,C#中布尔类型只能取“真”和“假”两个值,分别用true和false两个关键字来表示 bool x 1; /错误 ,不存在这种写法; bool x true; /正确,浮点类型,C#采用两种数据类型来表示小数:单精度(float)和双精度(double),两者的差异主要取决于取值范围和精度。,字符类型,C#提供字符(char)处理ASC
5、II字符和Unicode编码的字符, ASCII字符是美国标准委员会提供的,采用7位二进制表示的字符。 Unicode是国际标准化组织制定的采用16位二进制表示的字符,它可以表示世界上大多数语言。,结构类型,有时需要将不同类型的数据组合成一个有机的整体以便使用,例如要编制一个学生信息管理系统,对全校学生的信息进行管理,一个学生具有学号、姓名、性别、年龄、地址等信息,如果使用简单数据类型分布存储这些信息的话,很难完成反映出这些信息的内在联系,所以应该将它们组织成一个整体。 C#语言提供了结构类型,允许用户根据实际的需要实现特定的数据类型,struct Teacher public string
6、Name; public uint Age; public string Phone; public string Address; namespace Structs class Program static void Main(string args) Teacher t; t.Name = “小刘“; t.Age = 35; t.Phone = “123456789“; t.Address= “北京大学“; Console.WriteLine(“该老师姓名=0,年龄=1,电话=2,通讯地址=3“, t.Name, t.Age, t.Phone, t.Addressl); ,在Main()
7、函数中编写结构类型的实用方法,其代码如下:,Console类方法,Console类表示控制台应用程序的标准输入流、输出流和错误流。,枚举类型,在程序设计中,有时会用到由若干个有限数据元素组成的集合,可将这些数据集合定义为枚举类型(enum)。 枚举类型定义的一般形式为: enum 枚举名 枚举值表 ; 在枚举值表中应罗列出所有可用值,这些值也称为枚举元素。,namespace enums enum WeekDaysun,mon,tue,wed,thu,fri,sat; class Program static void Main(string args) WeekDay day; day =
8、WeekDay.sun; Console.WriteLine(“day的值是0“, day); ,在VS中建立一个名称为enums的控制台应用程序,在Program类中输入以下代码:,2.2.2 引用类型,引用类型,其含义是该类型的变量不直接存储所包含的值,而是指向它所要存储值的地址.在C#中提供以下引用类型给你使用: 1类 2数组 3代理 4接口,类类型,类是面向对象编程的基本单位,它是一种包含数据成员,函数成员和嵌套类型的数据结构。类的数据成员有变量,域和事件,函数成员包括方法,属性,构造函数和析构函数。 C#中两个经常用到的类分别是object类和string类。,类与对象的关系,类,建
9、立,建立,对象/实例,数组,同C语言一样,C#语言中也有数组类型,一个数组包含有通过计算下标访问的变量,所有包含于数组中且被当作元素的变量必须是同一类型。这种类型自然被称为“数组类型”。 数组声明格式:数据类型 数组名 注意:方括号必须跟在类型后面,而不是标识符后面;数组大小不是其数组定义的一部分,namespace Arrays class Program static void Main(string args) int arr1 = new int2; /定义一维数组 int arr2 = new int 1, 2, 3 ;/定义一维数组,并初始化数组 string arr3 = “si
10、x”, “is”, “me” ;/定义一维数组,并初始化数组 int, arr4=1,2,3,4; int, arr5 = new int3, 4; for (int i = 0; i arr1.Length; i+) arr1i = i * i * i; Console.WriteLine(“arr10=1“, i, arr1i); for (int i = 0; i 4; i+) for (int j = 0; j 3; j+) arr5j, i = i * j; Console.WriteLine(“arr50,1=2“, j, i, arr5j, i); ,代理类型(委托),委托就是定
11、义一种变量来指代一个函数或者一个方法。 委托使用分三步:1、委托声明 2、委托实例化 3、委托调用,创建一个名称为Delegates的控制台应用程序,namespace Delegates delegate int mydelegate(); class myclass public int InstMethod() Console.WriteLine(“Call the InstMethod.“); return 0; class Program static void Main(string args) myclass p = new myclass(); mydelegate d=new
12、 mydelegate(p.InstMethod ); d(); ,接口类型,接口描述了组件对外提供的服务。在组件与组件之间、组件与客户之间都通过接口进行交互。例如: interface 收费 void ShowMoney();/收费标准 ,Class 公交车:收费 void ShowMoney() Console.Write(“公交车收费是1元”);/必须要实现接口中的方法 ,namespace Interfaces interface IShowMoney void GetMoney(); class BusMoney : IShowMoney public void GetMoney()
13、 Console.WriteLine(“公交收费一元“); class Program static void Main(string args) BusMoney b = new BusMoney(); b.GetMoney(); ,2.3 运 算 符,在C#语言中,和其他编程语言一样,具有多种运算符。C#语言中的运算符大体上分为6种: 算术运算符 条件运算符 逻辑运算符 关系运算符 赋值运算符 成员访问运算符,2.4 C#中的控制语句,C#程序的执行是由一系列按照文本顺序执行的语句进行的,C#的常用语句包括: 基本语句 条件语句 循环语句 跳转语句 异常处理语句,2.4.1 选择语句,1.
14、 if语句 (1)if语句的语法格式一: if(表达式) 程序语句块1 (2)if语句的语法格式二: if(表达式) 程序语句块1 else 程序语句块2 ,2.4.1 选择语句,(3)if语句的语法格式三: if(表达式) 程序语句块1 else if 程序语句块2 else 程序语句块3 ,2.4.1 选择语句,2. switch语句 switch语句的语法格式如下: switch(表达式) case 表达式1: 程序语句块1; case 表达式2: 程序语句块2; . case 表达式n-1: 程序语句块n-1; default: 程序语句块n; ,2.4.1 选择语句,每一个switc
15、h语句最多只能有一个default标号分支。switch语句的执行方式如下。 (1) 首先计算出switch表达式的值。 (2) 如果switch表达式的值等于某一个switch分支的常量表达式的值,那么程序控制跳转到这个case标号后的语句列表中。 (3) 如果switch表达式的值无法与switch语句中任何一个case常量表达式的值匹配而且switch语句中有default分支,程序控制会跳转到default标号后的语句列表中。 (4) 如果switch表达式的值无法与switch语句中任何一个case常量表达式的值匹配而且switch语句中没有default分支,程序控制会跳转到swi
16、tch语句的结尾。 (5) 如果程序执行遇到break语句,则自动跳出switch语句。,2.4.2 循环结构,循环用于重复执行一组语句。循环可分为三类:第一类是在条件变为False之前重复执行语句,第二类是在条件变为True之前重复执行语句,第三类是按照指定的次数重复执行语句。在C#中可使用的循环语句有4种格式。 (1) do . while:当(或直到)条件为True时循环。 (2) while:当条件为True时循环。 (3) for:指定循环次数,使用计数器重复运行语句。 (4) foreach:对于集合中的每项或数组中的每个元素,重复执行。,2.4.2 循环结构,for循环 for循
17、环是循环类型中最复杂的,但也是最为常用的。 C#中for语句的基本语法为: for (初始化表达式; 条件表达式; 迭代表达式) 循环语句 ,2.4.2 循环结构,4foreach语句 foreach循环是for循环的一种特殊表现形式,如果想遍历集合或者数组中的所有条目,使用foreach是很好的解决方案。foreach语句的语法格式如下: foreach (局部变量 in 集合) 循环语句 ,代码如下:,namespace Foreach class Program static void Main(string args) int num=1,2,3,4,5,6,7,8,9,10; for
18、each (int i in num) Console .Write (i); ,2.4.3 跳转语句,1break语句 2continue语句,2.4.4 异常处理,C#的异常可能由两种方式导致。 (1)throw语句无条件抛出异常。 (2)C#语句和表达式执行过程中激发了某个异常的条件,使得操作无法正常结束,从而引发异常。例如,整数除法操作分母为零时将抛出一个异常。 异常由try语句来处理,try语句提供了一种机制来捕捉执行过程中发生的异常。try语句有3种基本格式: try . catch try . finally try . catch . finally,2.4.4 异常处理,1t
19、ry . catch结构 2tryfinally结构 3try . catch . finally结构,识别不同的异常,Exception :程序中的所有异常 FormatException:数据格式异常 OverflowException:数据溢出异常 DivideByZeroException:分母为零异常,trycatch,namespace Trycatch class Program static void Main(string args) long factorial = 1; long num = 100; try checked for (long cur = 1; cur
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第二 C# 编程 基础
链接地址:https://www.31doc.com/p-2259907.html