第3章C语言程序设计基础课件

上传人:风*** 文档编号:241971901 上传时间:2024-08-08 格式:PPT 页数:47 大小:253.93KB
返回 下载 相关 举报
第3章C语言程序设计基础课件_第1页
第1页 / 共47页
第3章C语言程序设计基础课件_第2页
第2页 / 共47页
第3章C语言程序设计基础课件_第3页
第3页 / 共47页
点击查看更多>>
资源描述
*,计算机应用技术系教师专用(ASP.NET程序设计),单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,3,第,3,章,C#,语言程序设计基础,主讲,:,吕志峰,第3章 C#语言程序设计基础主讲:吕志峰,1,教学重点,本章重点介绍基于,.NET,技术架构的基础语言,C#,语言的特点、语法结构及程序设计方法。,2024/8/8,计算机应用技术系教师专用(ASP.NET程序设计),教学重点 本章重点介绍基于.NET技术架构的基础语言C,2,3.1 C#,语言概述,C#,是微软公司专门为,.NET,量身定做的编程语言,它与,.NET,有着密不可分的关系。,C#,的类型就是,.NET,框架所提供的类型,,C#,本身并无类库,而是直接使用,.NET,框架所提供的类库。,另外,类型安全检查、结构化异常处理也都是交给,CLR,处理的。因此,,C#,是最适合开发,.NET,应用的编程语言。,2024/8/8,计算机应用技术系教师专用(ASP.NET程序设计),3.1 C#语言概述C#是微软公司专门为.NET量身定做的编,3,3.1 C#,语言概述,微软给,C#,语言的定义:,C#,是一种源自于,C,和,C+,语言之上的,简单的、现代的和类型安全的面向对象的编程语言。,C#,的目的就是综合,Visual Basic,的高生产率和,C+,灵活性。,2024/8/8,计算机应用技术系教师专用(ASP.NET程序设计),3.1 C#语言概述微软给C#语言的定义:C#是一种源自于C,4,3.1 C#,语言概述,C#,语言的特点,简洁的语法,C#,语言在语法上简化了,C+,的冗余的操作符,将这些操作符统一为“,.”,,并且去除了对指针的支持,使语法结构变得简洁。符合,CTS,系统规范,类型系统的统一,降低语言的复杂性。,面向对象的特性,C#,语言具有一切面向对象的特性,如封装、多态和继承,,C#,语言的每一种类型都可以看作是一个对象,提出了装箱与拆箱的概念,实现了值类型与引用类型之间的转换。,2024/8/8,计算机应用技术系教师专用(ASP.NET程序设计),3.1 C#语言概述C#语言的特点2023/8/20计算机应,5,3.1 C#,语言概述,完全的安全性和错误处理,C#,语言有严格异常处理机制和内存处理机制,消除程序中一些细小的错误。不允许使用未经初始化的变量,保证了类型的安全,其资源回收功能减轻了内存的负担。,灵活性与兼容性,C#,语言语法结构灵活,虽然不允许使用指针,但不是完全不能使用,而是可以通过将程序声明为不安全的,就可以使用指针,静态数组等不安全的结构。其语法风格与,C,类似,使得可以与,C,风格的,API,交互。,2024/8/8,计算机应用技术系教师专用(ASP.NET程序设计),3.1 C#语言概述完全的安全性和错误处理2023/8/20,6,3.1 C#,语言概述,C#,程序结构,using System;,class Hello,public static void Main(),Console.WriteLine(,您好,!);,2024/8/8,计算机应用技术系教师专用(ASP.NET程序设计),3.1 C#语言概述C#程序结构using System;2,7,3.1 C#,语言概述,C#,编译器,.NET Framework SDK,内置了,C#,编译器“,csc.exe,(,C Sharp Compiler,)”,该文件在“,系统目录,Microsoft.NETFrameworkv,版本号”目录下。,如果不能执行该命令,需要将该目录添加到操作系统的环境变量中。可以在命令窗口编译,C#,文件,假如要编译名为,1-01.cs,的,C#,文件。命令行的语法为:,csc 1-01.cs,2024/8/8,计算机应用技术系教师专用(ASP.NET程序设计),3.1 C#语言概述C#编译器2023/8/20计算机应用技,8,3.2,数据类型,C#,中包括两种变量类型:值类型与引用类型。,值类型的数据是直接包含数据的数据。,引用类型的数据是包含地址的数据。,2024/8/8,计算机应用技术系教师专用(ASP.NET程序设计),3.2 数据类型C#中包括两种变量类型:值类型与引用类型。2,9,3.2,数据类型,值类型,C#,语言值类型分为:简单类型、结构类型、枚举类型。,其中简单类型包括:整型类型、布尔类型、字符类型和实数类型。,2024/8/8,计算机应用技术系教师专用(ASP.NET程序设计),3.2 数据类型值类型2023/8/20计算机应用技术系教师,10,3.2,数据类型,整数类型,整数类型的变量值是整数。,整数类型分为,8,种:短字节型,(sbyte),、字节型,(byte),、短整型,(short),、无符号短整型,(ushort),、整型,(int),无符号整型,(uint),、长整型,(long),和无符号长整型。,字节型为,8,位数据,短整型为,16,位数据,整型为,32,位数据,长整型为,64,位数据。,整数可表示为八进制和十六进制数,前导,0,表示该数为八进制,例如,0777,,前导为,0 x,表示该数为十六进制数,例如:,0 xFF,。,表示,long,型常数在字面值添加一个,L,或,l,。如,1236l,2024/8/8,计算机应用技术系教师专用(ASP.NET程序设计),3.2 数据类型整数类型2023/8/20计算机应用技术系教,11,3.2,数据类型,布尔类型,布尔类型用来表示一个事件或状态的“真”和“假”,在,C#,中使用“,true”,和“,false”,表示。类型符号为,bool,。,例如:,bool b=true;,关系与逻辑运算的结果为布尔类型。,字符类型,C#,中的字符类型全都采用国际公认的,Unicode,字符集标准。位数为,16,位数据,与整型不通用。类型符号为,char,。,例如:,char c=a;,字符常量用单引号括起来的字符,如,a.,2024/8/8,计算机应用技术系教师专用(ASP.NET程序设计),3.2 数据类型布尔类型2023/8/20计算机应用技术系教,12,3.2,数据类型,实数类型,C#,语言中实数类型包括浮点类型,即单精度,(float),与双精度类型,(double),。,十进制类型,(decimal),是专门为金融和货币方面的计算而设置的一种数据类型,,28,到,29,位有效数字。,在实数类型中数据并默认为双精度类型,所以在使用实数类型常数时,如果为单精度型要加上,f,后缀,十进制类型要加上,m,后缀。,例如,float fl=12.3f,decimal de=25.5m,2024/8/8,计算机应用技术系教师专用(ASP.NET程序设计),3.2 数据类型实数类型2023/8/20计算机应用技术系教,13,3.2,数据类型,结构类型,把一系列相关的变量组织在一起,使其成为一个单一实体的过程,称为创建结构的过程。,结构的定义,修饰符,struct,结构名,修饰符,类型符,变量名,2024/8/8,计算机应用技术系教师专用(ASP.NET程序设计),3.2 数据类型结构类型2023/8/20计算机应用技术系教,14,3.2,数据类型,结构体的声明与赋值,声明,结构名 变量名 如,aa a1;,赋值,结构变量名,.,成员名,=,值,如:,a1.a=10;,public struct aa,public int a,b;,public aa(int x,int y),a=x;,b=y;,2024/8/8,计算机应用技术系教师专用(ASP.NET程序设计),3.2 数据类型结构体的声明与赋值 public struc,15,3.2,数据类型,枚举类型,枚举类型是由一组称为枚举数列表的命名常数组成的独特类型。,每一个枚举类型都有一个相应的整数类型,称为枚举类型的基本类型。常见的基本类型有,byte,、,short,、,int,或,long,等,默认类型是,int,,值从,0,开始计数。,2024/8/8,计算机应用技术系教师专用(ASP.NET程序设计),3.2 数据类型枚举类型2023/8/20计算机应用技术系教,16,3.2,数据类型,声明枚举类型的格式,enum,枚举名,枚举值,=,整型常量,如:,enum weekday,Monday=1,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday,声明枚举变量,枚举类型名 枚举变量名,如:,weekday week;,3.2 数据类型声明枚举类型的格式,17,3.2,数据类型,引用类型,C#,引用类型有,6,种:类、对象、字符、接口、数组和委托。,其中对象类型指的是所有类型公共基类型,object,类型,所以类型都可以转化为此类型。,字符串类型,string,,用双引号括起来的字符序列。如,:string s=“abc”,2024/8/8,计算机应用技术系教师专用(ASP.NET程序设计),3.2 数据类型引用类型2023/8/20计算机应用技术系教,18,3.2,数据类型,数组类型,数组是一种类型相同的有序数据。,数组的定义,类型,数组名,=new,类型,元素个数,类型,数组名,=new,类型,个数,1,个数,2,数组的下标是从,0,开始的,如:,int a=new int5,int,b=new int3,4,2024/8/8,计算机应用技术系教师专用(ASP.NET程序设计),3.2 数据类型数组类型2023/8/20计算机应用技术系教,19,3.2,数据类型,装箱与拆箱,装箱与拆箱用来实现值类型与引用类型之间的转换,主要实现的是对象类型、枚举类、接口类型等与值类型的转换。,装箱的核心是把值类型转换为对象类型。,如:,int i=100;,object obj=i;,2024/8/8,计算机应用技术系教师专用(ASP.NET程序设计),3.2 数据类型装箱与拆箱2023/8/20计算机应用技术系,20,3.2,数据类型,装箱与拆箱,拆箱的核心是把对象类型转换为值类型。这种转换需要进行强制类型的转换。,如:,int i=100;,object obj=i;,int j=(int)obj,2024/8/8,计算机应用技术系教师专用(ASP.NET程序设计),3.2 数据类型装箱与拆箱2023/8/20计算机应用技术系,21,3.2,数据类型,变量,变量的声明,修饰符,类型符,变量名,=,值,说明:,其中修饰符主要表示变量的作用域。,主要包括,public private protected,类型符可以是一切合法的标识符,2024/8/8,计算机应用技术系教师专用(ASP.NET程序设计),3.2 数据类型变量2023/8/20计算机应用技术系教师专,22,3.2,数据类型,常量,就是指在使用过程其值不会发生变化的量。,声明格式,修饰符,const,类型符 常量名,=,值,说明:,其中修饰符主要表示变量的作用域。,主要包括,public private protected,类型符可以是一切合法的标识符,2024/8/8,计算机应用技术系教师专用(ASP.NET程序设计),3.2 数据类型常量2023/8/20计算机应用技术系教师专,23,3.3,基本操作,流程控制,条件语句,格式,if(,布尔表达式,)else,Switch,格式,switch(,常数,),case:,常数 语句,1 break;.,default:,语句,n,2024/8/8,计算机应用技术系教师专用(ASP.NET程序设计),3.3 基本操作流程控制2023/8/20计算机应用技术系教,24,3.3,基本操作,for,语句,格式,for(,表达式,1;,表达式,2;,表达式,3),语句体,;,2024/8/8,计算机应用技术系教师专用(ASP.NET程序设计),3.3 基本操作for语句2023/8/20计算机应用技术系,25,3.3,基本操作,foreach,语句,格式:,foreach(,类型 变量,in,集合,),语句体,;,2024/8/8,计算机应用技术系教师专用(ASP.NET程序设计),3.3 基本操作foreach语句2023/8/20计算机应,26,3.3,基本操作,while,语句,格式:,while(,布尔表达式,),语句体,;,2024/8/8,计算机应用技术系教师专用(ASP.NET程序设计),3.3 基本操作while语句2023/8/20计算机应用技,27,3.3,基本操作,do-while,语句,格式:,do,语句体,;,while(,布尔表达式,),2024/8/8,计算机应用技术系教师专用(ASP.NET程序设计),3.3 基本操作do-while语句2023/8/20计算机,28,3.3,基本操作,break,语句用来退出最近的循环体。,continue,语句用来退出最近一次循环,开始新的循环。,return,语句返回方法的返回值。,return,表达式,2024/8/8,计算机应用技术系教师专用(ASP.NET程序设计),3.3 基本操作break语句用来退出最近的循环体。2023,29,3.3,基本操作,命名空间,命名空间是,.NET,提供应用程序代码容器的方式,这样代码及其内容就可以惟一地被标识。,解决了在软件协同开发中命名冲突的问题。,是,.NET Framework,中给项目分类的一种方式,所有程序是用命名空间组织起来的。,.NET,类库其实就是用命名空间组织起来的。,命名空间可以嵌套使用。,可以使用,using,关键字将一个命名空间中定义的类或类型导入到另一个命名空间中使用。,2024/8/8,计算机应用技术系教师专用(ASP.NET程序设计),3.3 基本操作命名空间2023/8/20计算机应用技术系教,30,3.3,基本操作,命名空间,定义格式,namespace space-name,namespace-body,2024/8/8,计算机应用技术系教师专用(ASP.NET程序设计),3.3 基本操作命名空间2023/8/20计算机应用技术系教,31,3.3,基本操作,异常处理,程序中对异常处理能使程序更加健壮。,捕获异常,try,catch(,异常类,ex),2024/8/8,计算机应用技术系教师专用(ASP.NET程序设计),3.3 基本操作异常处理2023/8/20计算机应用技术系教,32,3.3,基本操作,异常处理,try,finally,其中,finally,子句无论发不发生异常都会执行。,2024/8/8,计算机应用技术系教师专用(ASP.NET程序设计),3.3 基本操作异常处理2023/8/20计算机应用技术系教,33,3.4,面向对象的特性,C#,语言是一个完全面向对象的语言,支持一切面向对象的特性。,C#,语言以类作为其程序的基本组成单元。,2024/8/8,计算机应用技术系教师专用(ASP.NET程序设计),3.4 面向对象的特性C#语言是一个完全面向对象的语言,支持,34,3.4,面向对象的特性,类,类是一切面向对象语言的核心。,类构成了实现,c#,面向对象程序设计的核心。,类把数据和在该数据上工作的方法封装在一起。,类是创建对象的模板,每个对象都保护数据,并提供处理和访问数据的方法。,2024/8/8,计算机应用技术系教师专用(ASP.NET程序设计),3.4 面向对象的特性类2023/8/20计算机应用技术系教,35,3.4,面向对象的特性,定义类的形式为:,类修饰符,class,类名,:,基类和接口,访问修饰符,类型 变量标识符,方法修饰符,返回类型 方法标识符,(,参数表,),如:,public class a,public int I,j;,public a()i=10;j=10;,public int add()return i+j;,2024/8/8,计算机应用技术系教师专用(ASP.NET程序设计),3.4 面向对象的特性定义类的形式为:2023/8/20计算,36,3.4,面向对象的特性,类定义形式的说明:,类修饰符表示类的访问权限,主要有,public:,表示不限制对类的访问。,protected:,表示只能从所在类或所在类派生的,子类访问。,private:,只有对,.NET,应用程序和库才能访问。,abstract:,定义抽象类。,sealed,密封类,不允许被继承,2024/8/8,计算机应用技术系教师专用(ASP.NET程序设计),3.4 面向对象的特性类定义形式的说明:2023/8/20计,37,3.4,面向对象的特性,类的方法的定义,格式:,方法修饰符,返回类型 方法名,(,形参表,),方法体,2024/8/8,计算机应用技术系教师专用(ASP.NET程序设计),3.4 面向对象的特性类的方法的定义2023/8/20计算机,38,3.4,面向对象的特性,类的方法的定义,参数表的说明:,C#,中方法参数有四种类型,分别为值参数,引用参数,输出参数,数组参数。,值参数的一般形式:,public float add(float x),引用参数的一般形式:,public float add(ref float x),输出参数的一般形式:,public float add(out float x),可变参数的一般形式:,public float add(params float x),2024/8/8,计算机应用技术系教师专用(ASP.NET程序设计),3.4 面向对象的特性类的方法的定义2023/8/20计算机,39,3.4,面向对象的特性,构造方法的定义:是在创建一个类的对象时,被自动调用的一个方法,通常用于初始化。它与类名一致,无返回值和类型。,一般形式为,classname(params),类的对象的创建的一般形式为,classname classvalue=new classname(params),类的方法与成员的调用一般形式为:,对象名,.,成员方法名,/,公有数据成员名,2024/8/8,计算机应用技术系教师专用(ASP.NET程序设计),3.4 面向对象的特性构造方法的定义:是在创建一个类的对象时,40,3.4,面向对象的特性,类,类的静态成员与实例成员,类中的成员默认为实例成员,并且它属于某个对象,而静态成员是由,static,关键字定义的成员,它属于整个类,其只用类名调用,也可以被其它静态方法成员调用。其一般形式为,public static a;,2024/8/8,计算机应用技术系教师专用(ASP.NET程序设计),3.4 面向对象的特性类2023/8/20计算机应用技术系教,41,3.4,面向对象的特性,继承,C#,语言类的继承的一般形式,class class-name:baseclassname,class-body;,调用基类的构造方法:当创建一个子类对象时,它的基类的构造函数也被调用了,以此类推,一连串的调用都会被执行,直到不再有基类为止。还可以显式调用基类的构造方法,其形式为,classname():base(params);,2024/8/8,计算机应用技术系教师专用(ASP.NET程序设计),3.4 面向对象的特性继承2023/8/20计算机应用技术系,42,3.4,面向对象的特性,继承,在派生类中可以实现和基类同名的方法,这种现象叫方法抑制。为从派生类中抑制基类中某一方法,要使用,new,关键字加上派生类的方法定义,这样该方法就隐藏了同名的继承方法。一般形式为:,new,方法修饰符 返回类型 要抑制的,(,基类的,),方法名,(),多态性是指同一操作用于不同的类的实例,不同的类就进行不同的解释,最后产生不同的执行结果,2024/8/8,计算机应用技术系教师专用(ASP.NET程序设计),3.4 面向对象的特性继承2023/8/20计算机应用技术系,43,3.4,面向对象的特性,继承,virtual(,虚拟方法,),的定义形式,virtual,方法修饰符 返回类型 方法名,(,参数表,),方法体,override(,抑制方法,),的定义形式,override,方法修饰符 返回类型 方法名,(,参数表,),方法体,2024/8/8,计算机应用技术系教师专用(ASP.NET程序设计),3.4 面向对象的特性继承2023/8/20计算机应用技术系,44,3.4,面向对象的特性,属性,属性是类、结构和接口的属性的命名成员,它们通过访问器提供读写或计算私有域的灵活机制。,属性的声明格式:,修饰符,类型 标识符,访问器声明,2024/8/8,计算机应用技术系教师专用(ASP.NET程序设计),3.4 面向对象的特性属性2023/8/20计算机应用技术系,45,3.4,面向对象的特性,接口,声明接口的形式:,修饰符,interface,接口名称,:,基接口列表,接口体,;,2024/8/8,计算机应用技术系教师专用(ASP.NET程序设计),3.4 面向对象的特性接口2023/8/20计算机应用技术系,46,谢谢大家!,谢谢大家!,47,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!