《c#程序设计期末总复习》由会员分享,可在线阅读,更多相关《c#程序设计期末总复习(75页珍藏版)》请在金锄头文库上搜索。
1、C#程序设计总复习计算机科学与技术 张荣高考试题型v 1. 单项选择题(本大题共15小题,每小题1分,共15分)v 2. 填空题(本大题共10空,每空1分,共10分)v 3. 简答题(本大题共5小题,每小题6分,共30分) v 4. 程序阅读题(本大题共5小题,每小题6分,共30分)v 5. 程序填空题(本大题共3小题,每小题5分,共15分)第1章 概述v .NET框架包括两个主要组件: 公共语言运行库(简称运行库) 类库v VS.NET 2008常用应用程序模板: 控制台应用程序,使用统一的重定向文本输出形式,在命令行方式 下运行,用于交互操作不多、主要偏重与内部功能实现的场合。 Windo
2、ws应用程序,实现窗体形式操作界面,主要用于交互性操作较多场合。 ASP应用程序,通过Internet传递可以被客户浏览的页面,如各类 网站以及基于Web的网络办公系统等 第1章 概述v 在C#中,using关键字有3个用途: 作为引用指令 指明引用的命名空间 作为别名指令,用来简化命名空间的表达形式 作为语句,用于定义一个范围v 应用程序的入口点规定为Main Main方法声明为public static,除非有特殊理由,一般不要更改 Main方法的声明 Main方法的返回值只能是void或者int Main方法可以放在任何一个类中 一个应用程序中必须有一个类包含Main方法。第2章 数据类
3、型与流程控制v C#数据类型分为两类:值类型和引用类型。v 值类型: 简单类型:整型、浮点、decimal、char、bool 枚举类型:enum 结构类型:struct 可空类型v 引用类型:引用类型的变量又称为对象 类: object、class、string 接口:interface 数组 委托: delegate第2章 数据类型与流程控制v 数值类型的变量和引用类型的变量,两者最根本区别在于: 数值类型的变量本身包含他们的数据,而引用类型的变量包含的是 ,指向包含数据的内存的引用或者叫句柄。 对于数值类型,每个变量有一份自己的数据复制,因而也就不能通 过操作其中的一个来影响到另一个。
4、而对于引用类型,两个变量有可能引用同一个对象,因而也就可能 通过操作其中的一个变量来影响也被另一个变量引用的对象第2章 数据类型与流程控制v 有两种转换方式:隐式转换与显式转换。如果是不同类型之间的转换 ,可以使用Convert类v Object类型:是所有其他引用类型的基类 装箱:将值类型转换为object类型 拆箱:将object类型转换为值类型v 控制台输出 Console.Write (); Console.WriteLine();v 控制台输入 Console.ReadKey(); Console.ReadLine(); 第2章 数据类型与流程控制v 循环语句 for语句 while
5、语句 do-while语句,循环体内的程序至少会执行一次 foreach语句,对集合、数组进行操作v foreach语句用于逐个提取集合中的元素,并对集合中每个元素执行语 句序列中操作的场合,注意循环变量是一个只读型的局部变量:foreach ( 类型 标识符 in 表达式 )语句序列第2章 数据类型与流程控制v if语句:根据布尔表达式的值选择要执行的语句序列v switch 语句也叫case语句 switch条件表达式的值和每个case后的常量表达式可以是string、 int、char、enum或其它值类型 每个case块的最后一句一定要是break语句v break语句 功能:brea
6、k语句只能出现在循环结构和switch结构中,退出break语句所在循环结构和多分支结构v continue语句 功能:continue语句只能出现在循环结构中,不执行循环体中的后 续语句,返回循环的开头进行新的循环处理,只能结束本次循环第2章 数据类型与流程控制v try-catch语句 在程序运行正常的时候,执行try块内的程序。如果try块中出现了 异常,程序就转移到catch块中执行。 v try-catch-finally语句v throw语句第3章 常用数据类型的用法v String类的表示方法: string str = “C:testfirst.cs“ string str =
7、 “C:testfirst.cs“v 取字符串中的某个字符的方法: string myString = “some text“; char chFirst = myString2; /结果为mv string.Compare(): 比较字符串的内容。 v string.Copy(): 将一个字符串内容原样复制到一个新字符串中 v string.Format(): 格式化字符串v Contains():查找一个字符串中是否包含指定的子字符串v IndexOf():求某个字符或者子串在字符串中出现的位置第3章 常用数据类型的用法v Substring():截取字符串v Remove():删除指定数
8、量的字符v Replace():字符串替换 v Insert():插入字符串v Trim():删除首部和尾部空格v string.Join():在数组的每个元素之间串联指定的分隔符,从而产生单个串联的字符串。语法为:public static string Join( string separator, string value)v Split():将字符串按照指定的一个或多个字符进行分离,从而得到一个字符串数组。常用语法为:public string Split( params char separator)第3章 常用数据类型的用法v String类实际表示的是一系列不可变的字符。说其实例
9、是“不可变的”, 是因为无法直接修改给该字符串分配的堆中的字符串。例如myString += “ and a bit more “ 实际操作并不是在原来myString所占内存空间的 后面直接附加上第二个字符串,而是返回一个新String实例,即重新为新字符串分配内存空间。class Program static void ChangeString(string s) s = “new string“; static void Main(string args) string s = “old string“; ChangeString(s); Console.WriteLine(s); 第3
10、章 常用数据类型的用法v 数组是一种引用类型,而不是值类型v C#中可以有一维数组、多维数组、交错数组v 在C#中,数组的下标默认是从 0 开始索引的。v int a = new int30;v int, b = new int3,5; Array.Sort(): 升序 Array.Reverse(): 倒序 Contains()、IndexOf() Average()、Sum()、Max()、Min()第3章 常用数据类型的用法v 枚举(enum)是一组命名常量的集合,称为枚举成员列表。可以为一组在逻辑上密不可分的整数值提供便于记忆的符号,从而使代码更清 晰,也易于维护v enum days
11、Mon, Tue,Wed,Thu,Fri,Satv Enum.GetNames() , Enum.GetValues()第3章 常用数据类型的用法v 泛型(Generic)是具有占位符(类型参数)的类、结构、接口和方法,它与普通类的区别是泛型多了一个或多个表示类型的占位符,这些 占位符用尖括号括起来。例如:public class MyClasspublic T MyProp get; set; /定义属性MyProppublic void Print( )Console.WriteLine(MyProp);第3章 常用数据类型的用法v List泛型类表示可通过索引访问的强类型对象列表,该类提
12、供了对列表进行搜索、排序和操作的方法。 Add():将指定值的元素添加到列表中 AddRange():将指定值的元素集合添加到列表中 Insert():在列表的中间插入一个新元素 Contains():测试该列表中是否存在某个元素 Remove():从列表中移除带有指定键的元素 Clear():移除列表中的所有元素第3章 常用数据类型的用法v Math类位于System命名空间下,为三角函数、对数函数和其他通用数学函数提供常数和静态方法。 Math.Min()、Math.Abs()、Math.Sqrt() 、Math.PIv Random类用于生成随机数v 默认情况下,Random类的无参数构
13、造函数使用系统时钟生成其种子值 ,而参数化构造函数可根据当前时间的刻度数采用Int32值。v 常用方法: Random r = new Random( ); int i=r.Next(10);第4章 面向对象编程基础v 构造函数:对类的成员进行初始化v 构造函数特点: 每个类至少有一个构造函数。若程序代码中没有构造函数则系统会 自动提供一个默认的构造函数 一个构造函数总是和它的类名相同 构造函数不包含任何返回值(包括void) 构造函数通常是public的;若是private类型的,则该类不能被实例化,常用于只含有静态成员的类 构造函数中不要进行初始化以外的事情;不要尝试显示调用构造函 数。(
14、构造函数在创建对象时被调用) 第4章 面向对象编程基础v 重载构造函数v 有时候可能会遇到这样的情况:在一个类中的多个方法中都要用到某 一个数据成员,而该成员值必须从其他类中传递过来。这时,无参数 的构造函数就不能胜任了,解决这个问题最好的办法就是:重载构造 函数v 当字段和局部变量名相同时: 如果要引用静态字段,可以使用形式:类名.字段名 如果是实例字段,则使用形式:this.字段名v 静态成员:指定类名调用v 实例成员:指定实例对象调用 第4章 面向对象编程基础v C#中有以下成员访问修饰符: Private:私有成员, 在类的内部才可以访问 Protected:保护成员,该类内部和继承类
15、中可以访问 Public:公共成员,完全公开,没有访问限制 Internal:在同一命名空间内可以访问第4章 面向对象编程基础v 属性的作用:可以限制外部对类中成员变量的存取权限。v 属性的声明和定义 指定字段级别的访问 指定属性的类型和名称 声明get访问器和set访问器 get:用来读取数据成员的值 set:用来设置数据成员的值 使用value的隐含参数public class MyClass private int number = 0;public int Number get return number; set if ( value 0) number = value; 第4章 面
16、向对象编程基础v 结构struct是由一系列相关的、但类型不一定相同的变量组织在一起而 构成的数据表示形式,所有结构类型都隐式地从类型object继承v 结构和类的区别: 结构是一个值类型,保存在栈上;类是一个引用类型,保存在受管 制的堆上 对结构中的数据进行操作比对类或对象中的数据进行操作速度要快 一般用结构存储多种类型的数据,当创建一个很多类或对象共用的 小型对象时,使用结构效率更高第4章 面向对象编程基础v 方法是一组程序代码的集合,每个方法都有一个方法名,便于识别和 让其他方法调用v 对于方法,参数传递分为值传递和引用传递两种 值参数(值传递)形参不加任何修饰符; 引用参数(ref传递)形参以ref修饰符声明 注意:作ref传递的实参必