您好,欢迎访问三七文档
1范鑫烨fanxinye@bupt.edu.cn办公室:实验楼B304面向对象的程序设计—总复习§1.1程序设计语言概述计算机语言:–软件是由一系列的计算机程序所组成的。–计算机程序就是一系列指令,也称计算机语言。–计算机语言是人与计算机之间通讯的语言。–程序员利用计算机语言根据算法编写指令,使计算机完成相应的功能。从1946年世界上诞生第一台计算机起,在60余年间计算机技术迅速发展,程序设计语言经历了三(四)个阶段:–1、机器语言–2、汇编语言–3、面向过程的高级语言–4、面向对象的高级语言高级语言低级语言面向机器的语言§1.2面向对象的基本概念(掌握)对象Object:在现实生活中,我们时时刻刻都在和对象打交道,一个人、一辆汽车、一台电脑、电脑键盘上的一个按键等都是对象。对象可以有形,也可无形(如一项计划)是构成世界的一个独立单位。用属性、方法和事件来描述对象。–1、对象与类–2、对象的属性–3、对象的方法–4、对象的事件–5、对象与类3、.NET程序的两次编译CIL代码机器代码代码被执行CLR第一次编译第二次编译语言编译器.NET源代码.NET程序被编译两次,第一次编译很慢:C#、VB等任何一种CLS兼容的语言源程序首先被编译成中间语言CIL伪代码。CIL代码与资源一起作为一种称为程序集的可执行文件存储在磁盘上,通常扩展名为.exe或.dll。第二次编译较快,这个应用程序首次被运行的时候,JIT即时编译器将CIL代码编译成本地机器代码用于执行。所以.NET开发的程序更适于安装到不同的机器运行。4、类库FCL中常用命名空间常用命名空间说明System根命名空间,基础的类System.Data与数据库进行通讯和处理数据的类System.IO管理对文件和流的同步和异步访问的类System.Windows处理基于窗体的窗口的创建的类System.Drawing包含处理图形和绘图、图形打印的类System.Threading用于多线程编程的类System.Collections定义各种对象集的接口和类类库FCL(FrameworkClassLibrary)是一组DLL程序集,FCL包含的几千个类、接口和值类型从逻辑上把相关类组合成组,称为命名空间namespace。6解决方案和项目文件的组织结构扩展名名称.slnVisualStudio.Net解决方案文件.csprojVisualC#项目文件.csVisualC#源代码文件.resx资源文件.aspxWeb窗体文件.asmxXMLWeb服务文件§2.2程序设计步骤与事件驱动(理解)利用VisualC#编写应用程序的3个步骤:1.利用窗体设计器和工具箱的控件设计应用程序界面。2.设计窗口和控件的属性。3.编写事件过程响应代码与调试。事件过程语法:修饰词数据类型对象名_事件名(参数)privatevoidForm1_Click(objectsender,EventArgse){//事件响应程序代码}事件驱动:事件过程要经过事件的触发才能被执行,这种工作模式称为事件驱动。属性值的设置与读取用属性来控制对象,属性有默认值,两种修改方法:–(1)在属性窗口中设置–(2)在程序运行中更改对象的属性(动态修改)程序中更改属性值的语法:对象名.属性名=属性值读取属性值语法:变量=对象名.属性名注意!使用当前窗体对象名时要用This来代替窗体名:privatevoidbutton1_Click(objectsender,EventArgse){intabc=this.Left;this.Text=abc.ToString();}§2.4按钮、标签、文本框1、按钮Button2、标签Label3、文本框TextBox熟练掌握常用的属性、方法、事件第三章C#程序设计基础(掌握)§3.1数据类型§3.2常量§3.3变量§3.4复杂的变量类型§3.5数据类型转换§3.6运算符与表达式C#两种数据类型delegateD(...)形式的用户定义的类型委托类型一维和多维数组,例如int[]和int[,]数组类型string声明,双引号围起来的字符串Unicode字符串interfaceI{...}形式的用户定义的类型接口类型classC{...}形式的用户定义的类型所有其他类型的最终基类:object类类型引用类型structS{...}形式的用户定义的类型结构类型enumE{...}形式的用户定义的类型枚举类型布尔型:bool28位高精度十进制小数:decimalIEEE浮点型:float,doubleUnicode字符:char无符号整型:byte,ushort,uint,ulong有符号整型:sbyte,short,int,long简单数据类型U-unsignedS-signed值类型说明类别整型浮点型3、数据类型使用举例数值类型:–inttheInteger=10;–doubletheDouble=3.14159;bool类型:只有true和false值,C#中bool值和整数值之间不能相互转换。booltheLogic=true;char型变量存储的是以Unicode(表示多个国家的国际字符集)方式编码的字符,占用两个字节,可表示65536种不同的字符,可以直接在一个char型变量中存储一个汉字的编码。用单引号围起来,例:chartheChar=‘c’;charChineseCharacters=‘字’;数据类型使用举例string类型:是Unicode字符串,是一个引用类型。–把一个字符串赋给另一个字符串时,就会得到对同一内存空间内字符串的两个引用。–修改一个字符串,就是创建一个全新的string对象。转义符“\”,例:单引号\’、双引号\”、反斜杠\\、警告\a、换行\n、回车\r、水平制表符\t。转义符“@”:在字符串前加上@,该字符串所有字符都被看作原来的含义。例:stringtheString=“thestring!”;stringpath=“c:\\abc.txt”;//等价下一句stringpath=@“c:\abc.txt”;//禁止转义§3.2常量常量就是在程序运行过程中其值不改变的量。类和结构可以将常数声明为成员。C#常量可以声明为上节描述的数据类型,如sbyte、byte、short、char、float、decimal、bool、string等等。常量分为:–1、直接常量–2、命名常量–3、固有常量系统类库中定义好的常量,Color.Red。1、直接常量直接常量是直接以值的形式表示的常量值,通常在值后加上后缀以说明值的数据类型。例:类型后缀示例值bool无true或falseint,long无100longl、L100Luintu、U100Uulongul、uL、Ul、lu、lU、Lu、UL100ULfloatf、F3.14Fdouble无d、D3.14decimalm、M8.4Mchar无'a'或转义序列string无a..a可含转义符注意:直接常量不加后缀,整数指int或long型;小数指double型。2、命名常量用符号代替常量值,用关键字const声明并初始化:[修饰符]const数据类型符常量名=常量表达式;修饰符:public、private。常量名要符合命名规则;̶名称的第一个字符必须是字母、下划线”_”或”@”,其后可以是字母、下划线或数字;̶名称中不能包含空格、句点等标点符号;̶名称不可以和关键字(保留字)同名;̶区分大小写。例:publicconstintA=1,B=3;§3.3变量变量是指在程序运行过程中其值可以发生变化的量。语法:[修饰符]数据类型符变量名1[=初值1,变量名2=初值2,…];–注意空格不可省;–修饰符:public、private、static;–变量使用前必须初始化(赋值),否则不能通过编译;–多变量名时用逗号间隔;–变量必须先声明后使用;合法命名:myBigVar,Var1,_test,@myVar非法命名:9BottleOfBeer,switch,It’s-All-Over变量的作用域变量的作用域:是指可以使用该变量的代码区域。与修饰词、声明位置有关:公有:在类的顶部Public声明的变量和方法成员:–在本类内都可访问;–在其他类,实例化后可访问;–Publicstatic修饰后,成为静态成员,在其他类不用实例化就可访问;私有、类级:在类的顶部位置private声明的变量和方法成员,只能在本类内被访问;局部变量:在方法、事件过程内位置声明,只能该方法、过程内使用,不能使用修饰符。块级变量:声明位置在语句块内,只能该语句块内使用。变量的作用域举例namespaceWindowsFormsApplication4{publicpartialclassForm1:Form{publicintx=10;//公有publicstaticinty=20;//公有静态privateintz=30;//私有、类级publicForm1(){InitializeComponent();}privatevoidbutton1_Click(objectsender,EventArgse){intabc;//块级abc=x+y+z;textBox1.Text=abc.ToString();}}}§3.4复杂的变量类型复杂的变量类型:–1、枚举enum–2、结构struct–3、数组–4、字符串string1、枚举enum枚举变量是指将变量可能的取值一一列举出来,变量的值只限于枚举值之一。用enum关键字来定义,如:enumMonths{Jan,Feb,Mar,Apr,May,Jun,Jul,Augt,Sep,Oct,Nov,Dec}枚举元素的数据值、个数是确定的,运行中不能更改;枚举的元素都有一个整数值,默认第一个为0,后面依次递增1;如需改变默认规则,则重写枚举元素值即可。如:enumMonths{Jan=1,Feb,Mar,Apr,May,Jun,Jul,Augt,Sep,Oct,Nov,Dec}2、结构struct结构是由数据成员、方法成员组成一种新的数据类型struct来定义,语法:structstructName{//数据成员//方法成员};–结构数据成员格式:修饰符数据类型成员名;定义了结构类型之后,就可以定义该数据类型的变量:StudentStudent1;通过“.”成员运算符可以访问该变量的数据成员,例:Student1.name=张三;//为成员变量name赋值3、数组变量数组是同一数据类型的变量组成的集合,属于引用类型。数组中包含的变量称为数组元素,可以通过数组下标来访问,为数据处理带来很大方便。一维数组只有一个下标,使用前需声明与初始化:数据类型[]数组名;//或直接初始化数据类型[]数组名=new数据类型[数组长度n];–数组名与普通变量命名相同;–第一个数组元素下标0,一直到第n-1,共n个。数组声明例:string[]names;string[10]names;//声明时也可用下标指定长度数组Array的属性与方法C#的数组类型是从抽象基类型System.Array派生的。Array类有很多属性:如Length属性返回数组长度。Array类有很多方法:Clear、Copy、Sort、Reverse、IndexOf、LastIndexOf、Resize等,分别用于清除数组元素的值、复制数组、对数组排序、反转数组元素的顺序、从左至右查找数组元素、从右到左查找数组元素、更改数组长度等。其中Sort、Reverse、IndexOf、LastIndexOf、Resize只能针对一维数组进行操作。多维数组多维数组具有多个下标,多维数组中常用的是二维数组。声明、引用于一维数组类似。二维矩阵数组,每一行有相同的列数,语法:数据类型[,]数组名称;初始化类似于一维数组,但需用逗号分隔开下标。例:double[,]myArray=newdo
本文标题:C#总复习
链接地址:https://www.777doc.com/doc-4710779 .html