第4章C语言基础.ppt
《第4章C语言基础.ppt》由会员分享,可在线阅读,更多相关《第4章C语言基础.ppt(75页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 人工智能程序设计语言人工智能程序设计语言简介简介第4章C语言基础 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望本章要点熟悉C#中简单的数据类型和操作符熟悉C#中三种控制语句了解C#与其他语言的关系了解异常处理的方法了解C#面向对象的几个高级特性教学内容C#语言基础 C#语言的数据类型C#语言的运算符C#语言的控制语句C#语言与其他语言的关系 了解C#面向对象的几个高级特性4.1 C#C#简介简介 C#是Microsoft为.NET平台量身定做的新的程序语言,可
2、以用来构建在.NET Framework上运行的各种安全、可靠的应用程序。C#语言自C/C+演变而来,是一种简洁、类型安全的面向面向对象对象的编程语言。它简化了C+在类、名字空间、方法重载和异常处理等领域,并借鉴了Java语言的许多优点。C#的新功能包括严格的类型安全、版本控制、垃圾收集等,所有这些功能都瞄准了开发面向组件的软件。.NET框架FCL多种.NET编程语言的统一类库只要学习一套统一的类库而不是大量不同的API7000多种类型依靠命名空间(Namespace)将多个提供相似功能的类组织在相关的单元中,以分层的命名空间结构来组织4.2 数据类型C#的数据类型主要有两类:值类型(valu
3、e type)和引用类型(reference type)。值类型包括简单类型(整型、浮点型和布尔型等)、枚举类型和结构类型。引用类型包括类类型、接口类型、代表类型、字符串类型和数组类型等。值类型:变量存储数据本身 引用类型:变量不存储实际数据,而是存储对实际数据的引用。值类型变量:堆栈(stack)编译器自动分配、自动清除引用类型变量:值存储在托管堆(managedheap)中,地址存储在堆栈中由程序员自行申请分配和释放4.2.1值类型中的简单类型简单类型 整型浮点型小数型布尔型 特点第一,它们都是.NET系统类型的别名系统类型的别名,例如:int就是System.Int32的别名。第二,由简
4、单类型组成的常量表达式仅在编译时而不是运行时受检测。C#语言的数据类型值类型类类 型型FCL类型类型描描 述述默默 认认 值值sbyteSystem.SByte有符号有符号8位整数位整数0byteSystem.Byte无符号无符号8位整数位整数0shortSystem.Int16有符号有符号16位整数位整数0ushortSystem.UInt16无符号无符号16位整数位整数0intSystem.Int32有符号有符号32位整数位整数0uintSystem.UInt32无符号无符号32位整数位整数0longSystem.Int64有符号有符号64位整数位整数0LulongSystem.UInt6
5、4无符号无符号64位整数位整数0charSystem.Char16位位Unicode字符字符0floatSystem.Single32位单精度浮点数位单精度浮点数0.0FdoubleSystem.Double64位双精度浮点数位双精度浮点数0.0DboolSystem.Booleantrue或或false布尔值布尔值falsedecimalSystem.Decimal128位高精度浮点数位高精度浮点数0.0M返回返回常量和变量的命名规则常量常量可以使用字母、数字、下划线等字符;不可以使用空格、斜杠、逗号、句号等特殊字符;首字母必须是英文字母;长度不能超过255个字符;不能使用C#中的关键字,如
6、using,int,void等。变量变量变量名的第一个字符必须是字母、下划线或;如果第一个字符是,则第二个字符不能是数字;其余的字符可以是字母、下划线或数字。4.2.1值类型中的简单类型char类型类型:对应于统一字符编码标准(Unicode)的字符集。char类型与其他整数类型相比有以下两点不同之处:(1)没有其他类型到char类型的隐式转换,既使对于sbyte,byte和ushort这样能完全使用char类型代表其值的类型,也不存在隐式转换。(2)char类型的常量必须被写为字符形式,如果用整数形式,则必须带有类型转换前缀。如(char)10。bool类型类型:在 C+中,bool 类型实
7、质上是一个整数。在 C#中,不存在 bool 类型与其他类型之间的相互转换。long 类型类型:C#中为 64 位,而在 C+中为 32 位。4.2.2 引用类型不存储它们所代表的实际数据,而是存储实际数据的引用。C#中的引用类型,其实就是特殊的指针,既有基本的指针语义,又有C+中引用(别名)的某些特征。C#中的引用类型有类、接口、委托、字符串类型和数组。C#语言的数据类型引用类型访问限定修饰符访问限定修饰符描描 述述public可以被所有类及其方法访问可以被所有类及其方法访问private仅可以被所定义的类中的方法访问仅可以被所定义的类中的方法访问protected仅可以被所定义的类及其派生
8、类中的方法访问仅可以被所定义的类及其派生类中的方法访问internal仅可以被所定义的同一项目中的方法访问仅可以被所定义的同一项目中的方法访问protected internal仅可以被所定义的类、派生类及同一项目中的方法访问仅可以被所定义的类、派生类及同一项目中的方法访问引用类型的访问限定修饰符引用类型的预定义特性预定义特性预定义特性描描 述述abstract不能被实例化,可以用做其他类型的基类型;如果派生不能被实例化,可以用做其他类型的基类型;如果派生类不是抽象的,则可以创建它的实例类不是抽象的,则可以创建它的实例sealed不能用做基类型不能用做基类型new子类不会重写基类中的方法,应用
9、于虚方法子类不会重写基类中的方法,应用于虚方法C#语言的数据类型引用类型类类是对一系列具有相同性质的对象的抽象对象的抽象,是对对象共同特征的描述,是一组具有相同数据结构和相同操作的对象的集合。接口接口是对一组能够提供相同服务的类的抽象类的抽象,是一种特殊的类,不实现任何方法或属性,只定义要完成什么任务而不定义如何完成。委托委托类似于C和C+等编程语言中的函数指针,用于封装某个方法的调用过程。但在C#中,委托是完全面向对象的,它所封装的方法必须与某个类或对象相关联。字符串:在C+中,字符串只是字符的数组。在C#中,字符串是支持可靠搜索方法的对象对象C#语言的数据类型引用类型ObjectSyste
10、m.Object是.NET框架中所有类型的根类型方方 法法描描 述述public Equals已重载,确定两个对象实例是否相等已重载,确定两个对象实例是否相等public GetHashCode作为一个特殊类型的哈希函数,适用于哈希算法和数据结构,如哈希表作为一个特殊类型的哈希函数,适用于哈希算法和数据结构,如哈希表public GetType获取对象的类型获取对象的类型public ReferenceEquals确定指定的实例是否是相同的实例确定指定的实例是否是相同的实例public ToString返回一个表示当前对象的字符串返回一个表示当前对象的字符串protected Finalize
11、已重载,允许对象在被垃圾回收之前去释放资源并执行其他清理操作已重载,允许对象在被垃圾回收之前去释放资源并执行其他清理操作protected MemberwiseClone创建一个当前对象的浅层副本创建一个当前对象的浅层副本几个引用类型例子1、字符串类型string类型:常见用法string str1=Hello;/字符串赋值string str2=str1+World!;/字符串连接char c1=str10;/通过下标访问字符,从从0索引索引bool flag=(str1=str2);/比较两个字符串是否相等相关用法:(1)取字串长度 str1.length(2)截取字串的一部分 str1.
12、Substring(0,2);(3)字串替换 str.Replace(“llo”,”ight”);(4)字串中指定字符或字串首次(最后一次)出现位置str1.IndexOf(“e”);str1.IndexOf(“el”);-1表示未找到表示未找到4.2.2 引用类型(5)在字串中指定索引位插入指定字符 str1.Insert(5,”,how are you”);(6)在字串左(或右)加空格或指定char字符,使字串达到指定长度 str.PadLeft(10,*);默认为空格默认为空格(7)从指定位置开始删除指定个数的字符 str1.Remove(2,2);(8)清除字串前后空格 str1.Tr
13、im();2、数组 数组是包含一串变量的数据结构。数组变量也称作数组元素,它们具有相同的类型相同的类型,这种类型也称做数组类型。数组用下标确定每一个数组元素的索引号,索引号从0开始。只有一个下标的数组称为一维数组,多于一个下标的数组称为多维数组 在 C+中,数组只是一个指针。在 C#中,数组是包含方法和属性的对象对象。例如,可通过 Length 属性查询数组的大小。(1)声明数组时,方括号跟在类型后面。Int a (2)数组的每个维数的长度不是数组类型的一部分 int a;a=new int10;ArrayListArrayList是一种特殊的数组特殊的数组,在功能上超过了标准的数组,通过添加
14、和清除元素来动态地改变数组长度。ArrayList与System.Array的区别有:Array可以定义多维数组,ArrayList只能定义一维数组;Array可以定义自己的下限,ArrayList的下限始终为0;Array的元素通常是特定类型的,ArrayList的元素都是object类型的,因此需要进行装箱和拆箱的操作,内存分配的代价很高;Array的元素数目是固定的,ArrayList的元素数目可以自动扩展。4.2.3其它数据类型DateTime日期时间类型:表示值范围在公元0001年1月1日午夜12:00:00到公元9999年12月31日晚上11:59:59之间的日期和时间 DateT
15、ime currentTime;currentTime=System.DateTime.Now;/取当前年月日时分秒int year=currentTime.Year;/取当前年int month=currentTime.Month;/取当前月int day=currentTime.Day;/取当前日int hour=currentTime.Hour;/取当前时int minute=currentTime.Minute;/取当前分int second=currentTime.Second;/取当前秒string strCurrentTime=currentTime.ToString();/取当
16、前时间作为字符串返回 4.2.4数据转换C#数据类型之间必须显式转换1.使用框架类框架类(Parse方法、方法、Convert类类)如:int iAge;iAge=int.Parse(txtAge.Text);iAge=Convert.ToInt32(txtAge.Text);2.通过造型造型转换数据类型 如:double MyDouble=1.23;int MyInteger;MyInteger=(int)MyDouble;3.显式转换显式转换 如:float num=1.23f;值类型引用类型装箱装箱inti=10;object0=i;i=20;i值为20o值为10引用类型值类型拆箱拆箱被
17、拆箱的变量值必须是对某个对象的引用,而此对象是通过对目标值装箱创建的,即先装箱再拆箱inti=10;objecto=i;intj=(int)o;4.3 操作符根据操作符作用的操作数的个数来分,C#包括多个一元操作符、多个二元操作符和一个三元操作符。当一个表达式包含多个操作符时,操作符的优先级操作符的优先级决定了计算的顺序。操作符类别操作符类别操作符操作符算术算术+-*/%+-*/%逻辑逻辑&|!&|!字符串连接字符串连接+递增、递减递增、递减+-+-关系关系=!=!=赋值赋值=+=-=*=/=%=+=-=*=/=%=成员访问成员访问.索引索引转换转换()()条件条件?:?:创建对象创建对象ne
18、wnew类型信息类型信息sizeof typeofsizeof typeof4.3 操作符逻辑运算中&与|&与|之间的区别递增(+)和递减(-)运算 赋值“=”和比较“=”运算符 4.4 控制语句控制语句是在程序运行过程中,有条件地执行或重复执行某些语句,改变程序默认的顺序执行流向C#中的控制语句:选择语句、循环语句和跳转语句 选择语句-if语句if语句有三种结构:单条件选择:if()双条件选择:if()else 多条件选择:if()else if()else if()else其中()内为条件表达式条件表达式,内为各分支的语句块,如果分支语句块中仅一条语句,则可以省略不写。选择语句switch
19、case要实现多多条条件件判判断断,可采用switchcase语句。根据条条件件(表表达达式式)从一组不同的分支中选择一个来执行。switch(条件)case常数表达式1:执行语句;break;case常数表达式2:执行语句;break;case常数表达式3:执行语句;break;default:默认的处理语句;break;与 C+中的 switch 语句不同,C#不支持不支持从一个 case 标签贯穿到另一个 case 标签。循环语句循环语句循环语句可以实现对一组执行语句的重重复复运运行行,它对于简化程序、组织算法具有重要意义。在C#中,提供了4种不同的循环语句:whiledowhilefo
20、rforeach循环语句循环语句whilewhile循环循环while循环是根据条条件件(表表达达式式为为真真值值)将循环语句执行若干遍,但while循环不需要确定循环次数。语法格式为:while(循环条件)循环语句;循环语句循环语句dowhiledowhile循环循环与while循环的不同之处在于,dowhile循环先执行循环语句,然后对循环条件进行判断,所以至少会执行一次循环语句至少会执行一次循环语句。语法格式为:do循环语句;while(循环条件)循环语句循环语句forfor循环循环C#中的for循环与C+和Java中的语法是相同的,在循环次数确定循环次数确定的情况下,推荐使用for循环
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 基础
限制150内