第二章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#的标识符区别大小写,例如下面的三个标识符是不同的。MembermemberMemBer 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)处理ASCII字符和Unicode编码的字符,ASCII字符是美国标准委员会
5、提供的,采用7位二进制表示的字符。Unicode是国际标准化组织制定的采用16位二进制表示的字符,它可以表示世界上大多数语言。,结构类型,有时需要将不同类型的数据组合成一个有机的整体以便使用,例如要编制一个学生信息管理系统,对全校学生的信息进行管理,一个学生具有学号、姓名、性别、年龄、地址等信息,如果使用简单数据类型分布存储这些信息的话,很难完成反映出这些信息的内在联系,所以应该将它们组织成一个整体。C#语言提供了结构类型,允许用户根据实际的需要实现特定的数据类型,struct Teacher public string Name;public uint Age;public string P
6、hone;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()函数中编写结构类型的实用方法,其代码如下:,Console类方法,Console类表示控制台应用程序的标准输入流、输出流和错误流。,
7、枚举类型,在程序设计中,有时会用到由若干个有限数据元素组成的集合,可将这些数据集合定义为枚举类型(enum)。枚举类型定义的一般形式为:enum枚举名枚举值表;在枚举值表中应罗列出所有可用值,这些值也称为枚举元素。,namespace enums enum WeekDaysun,mon,tue,wed,thu,fri,sat;class Program static void Main(string args)WeekDay day;day=WeekDay.sun;Console.WriteLine(day的值是0,day);,在VS中建立一个名称为enums的控制台应用程序,在Program
8、类中输入以下代码:,2.2.2 引用类型,引用类型,其含义是该类型的变量不直接存储所包含的值,而是指向它所要存储值的地址.在C#中提供以下引用类型给你使用:1类2数组3代理4接口,类类型,类是面向对象编程的基本单位,它是一种包含数据成员,函数成员和嵌套类型的数据结构。类的数据成员有变量,域和事件,函数成员包括方法,属性,构造函数和析构函数。C#中两个经常用到的类分别是object类和string类。,类与对象的关系,类,建立,建立,对象/实例,数组,同C语言一样,C#语言中也有数组类型,一个数组包含有通过计算下标访问的变量,所有包含于数组中且被当作元素的变量必须是同一类型。这种类型自然被称为“
9、数组类型”。数组声明格式:数据类型 数组名注意:方括号必须跟在类型后面,而不是标识符后面;数组大小不是其数组定义的一部分,namespace Arrays class Program static void Main(string args)int arr1=new int2;/定义一维数组 int arr2=new int 1,2,3;/定义一维数组,并初始化数组 string arr3=“six”,“is”,“me”;/定义一维数组,并初始化数组 int,arr4=1,2,3,4;int,arr5=new int3,4;for(int i=0;i arr1.Length;i+)arr1i=
10、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);,代理类型(委托),委托就是定义一种变量来指代一个函数或者一个方法。委托使用分三步:1、委托声明 2、委托实例化 3、委托调用,创建一个名称为Delegates的控制台应用程序,namespace Delegates delegate int mydelegate();class myclass public int InstMeth
11、od()Console.WriteLine(Call the InstMethod.);return 0;class Program static void Main(string args)myclass p=new myclass();mydelegate d=new mydelegate(p.InstMethod);d();,接口类型,接口描述了组件对外提供的服务。在组件与组件之间、组件与客户之间都通过接口进行交互。例如:interface 收费 void ShowMoney();/收费标准,Class 公交车:收费 void ShowMoney()Console.Write(“公交车收
12、费是1元”);/必须要实现接口中的方法,namespace Interfaces interface IShowMoney void GetMoney();class BusMoney:IShowMoney public void GetMoney()Console.WriteLine(公交收费一元);class Program static void Main(string args)BusMoney b=new BusMoney();b.GetMoney();,2.3 运 算 符,在C#语言中,和其他编程语言一样,具有多种运算符。C#语言中的运算符大体上分为6种:算术运算符条件运算符逻辑运
13、算符关系运算符赋值运算符成员访问运算符,2.4 C#中的控制语句,C#程序的执行是由一系列按照文本顺序执行的语句进行的,C#的常用语句包括:基本语句条件语句循环语句跳转语句异常处理语句,2.4.1 选择语句,1.if语句(1)if语句的语法格式一:if(表达式)程序语句块1(2)if语句的语法格式二:if(表达式)程序语句块1else程序语句块2,2.4.1 选择语句,(3)if语句的语法格式三:if(表达式)程序语句块1else if程序语句块2else 程序语句块3,2.4.1 选择语句,2.switch语句switch语句的语法格式如下:switch(表达式)case 表达式1:程序语句
14、块1;case 表达式2:程序语句块2;.case 表达式n-1:程序语句块n-1;default:程序语句块n;,2.4.1 选择语句,每一个switch语句最多只能有一个default标号分支。switch语句的执行方式如下。(1)首先计算出switch表达式的值。(2)如果switch表达式的值等于某一个switch分支的常量表达式的值,那么程序控制跳转到这个case标号后的语句列表中。(3)如果switch表达式的值无法与switch语句中任何一个case常量表达式的值匹配而且switch语句中有default分支,程序控制会跳转到default标号后的语句列表中。(4)如果switc
15、h表达式的值无法与switch语句中任何一个case常量表达式的值匹配而且switch语句中没有default分支,程序控制会跳转到switch语句的结尾。(5)如果程序执行遇到break语句,则自动跳出switch语句。,2.4.2 循环结构,循环用于重复执行一组语句。循环可分为三类:第一类是在条件变为False之前重复执行语句,第二类是在条件变为True之前重复执行语句,第三类是按照指定的次数重复执行语句。在C#中可使用的循环语句有4种格式。(1)do.while:当(或直到)条件为True时循环。(2)while:当条件为True时循环。(3)for:指定循环次数,使用计数器重复运行语句
16、。(4)foreach:对于集合中的每项或数组中的每个元素,重复执行。,2.4.2 循环结构,for循环 for循环是循环类型中最复杂的,但也是最为常用的。C#中for语句的基本语法为:for(初始化表达式;条件表达式;迭代表达式)循环语句,2.4.2 循环结构,4foreach语句foreach循环是for循环的一种特殊表现形式,如果想遍历集合或者数组中的所有条目,使用foreach是很好的解决方案。foreach语句的语法格式如下:foreach(局部变量 in 集合)循环语句,代码如下:,namespace Foreach class Program static void Main(s
17、tring args)int num=1,2,3,4,5,6,7,8,9,10;foreach(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.catchtry.finallytry.catc
18、h.finally,2.4.4 异常处理,1try.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文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第二 编程 基础
链接地址:https://www.31ppt.com/p-5988744.html