Microsoft Word - 第3章.doc

Size: px
Start display at page:

Download "Microsoft Word - 第3章.doc"

Transcription

1 第 3 章 C# 和 ASP.NET 4.5 本章要点 : 了解 C# 语言特点和编程规范 了解常用.NET Framework 命名空间 结合 ASP.NET 4.5 页面熟悉 C# 语言的运用 能结合 ASP.NET 4.5 页面创建简单的类 掌握 ASP.NET 4.5 页面调试的方法 3.1 C# 概述 C# 是 Microsoft 专门为.NET 量身打造的一种全新的编程语言 目前,C# 已经分别被 ECMA 和 ISO/IEC 组织接受并形成 ECMA-334 标准和 ISO/IEC 标准 它与.NET Framework 有密不可分的关系,C# 的类型即为.NET Framework 所提供的类型, 并直接使用.NET Framework 所提供的类库 另外,C# 的类型安全检查 结构化异常处理等都交给 CLR 处理 实际上, ASP.NET 4.5 本身就采用 C# 语言开发, 所以 C# 不仅适用于 Web 应用程序的开发, 也适用于开发强大的系统程序 总体来说, 它具有以下典型特点 : (1)C# 代码在.NET Framework 提供的环境下运行, 不允许直接操作内存, 增强了程序的安全性 C# 不推荐使用指针, 若要使用指针, 就必须添加 unsafe 修饰符, 且在编译时使用 /unsafe 参数 (2) 使用 C# 能构建健壮的应用程序 C# 中的垃圾回收将自动回收不再使用的对象所占用的内存 ; 异常处理提供了结构化和可扩展的错误检测和恢复方法 ; 类型安全的设计则避免了读取未初始化的变量 数组索引超出边界等情形 (3) 统一的类型系统 所有 C# 类型都继承于一个唯一的根类型 object 因此, 所有类型都共享一组通用操作 (4) 完全支持组件编程 现代软件设计日益依赖自包含和自描述功能包形式的软件组件, 通过属性 方法和事件来提供编程模型 C# 可以容易地创建和使用这些软件组件 3.2.NET Framework 命名空间.NET Framework 提供了几千个类用于对系统功能的访问, 这些类是建立应用程序 组件和控件的基础 在.NET Framework 中, 组织这些类的方式即是命名空间 要在 ASP.NET 网站中使用这些命名空间, 需要使用 using 语句, 如 using System; 表示导入 System 命名空间 导入命名空间后使得要访问包含的类时可省略命名空间 例如, 若没有使用 using System; 语句, 则 string strnum = "100"; 这个语句就会出现编译错误, 此时就应该用

2 第 3 章 C# 和 ASP.NET System.String strnum = "100"; 代替 注意 :C# 语言区分大小写 语句 System.String strnum = "100"; 中 String 首字母大写, 其实这里的 String 是 System 命名空间中的一个类 而 string strnum = "100"; 中 string 表示一种数据类型 常用于 ASP.NET 4.5 页面的命名空间有 : System 提供基本类 System.Configuration 提供处理配置文件中数据的类 System.Data 提供对 ADO.NET 类的访问 System.Ling 提供使用 LINQ 进行查询的类和接口 System.Web 提供使浏览器与服务器相互通信的类和接口 System.Web.Security 提供实现 ASP.NET 安全性的类 System.Web.UI 提供用于创建 Web 应用程序用户界面的类和接口 System.Web.UI.HtmlControls 提供在 Web 窗体上创建 HTML 服务器控件的类 System.Web.UI.WebControls 提供在 Web 窗体上创建 Web 服务器控件的类 System.Web.UI.WebControls.WebParts 提供用于创建个性化 Web 部件页的类和接口 System.Xml.Linq 提供用于 LINQ to XML 的类 程序注释 3.3 编程规范 注释有助于理解代码, 有效的注释是指在代码的功能 意图层次上进行注释, 提供有用 额外的信息, 而不是代码表面意义的简单重复 程序注释需要遵守下面的规则 : (1) 类 方法 属性的注释采用 XML 文档格式注释 多行代码注释采用 /* */ 单行代码注释采用 // (2) 类 接口头部应进行 XML 注释 注释应列出内容摘要 版本号 作者 完成日期 修改信息等 (3) 公共方法前面应进行 XML 注释, 列出方法的目的 / 功能 输入参数 返回值等 (4) 在 中包含较多代码行的结束处应加注释, 特别是多分支 多重嵌套的条件语句或循环语句 (5) 对分支语句 ( 条件分支 循环语句等 ) 应编写注释 这些语句往往是程序实现某一特殊功能的关键, 对于维护人员来说, 良好的注释有助于更好地理解程序, 有时甚至优于看设计文档 命名规则 命名时常考虑字母的大小写规则, 主要有 Pascal 和 Camel 两种形式 Pascal 形式将标识符的首字母和后面连接的每个单词的首字母都大写, 如 BackColor Camel 形式将标识符的首字母小写, 而每个后面连接的单词的首字母都大写, 如 backcolor 常用标识符的大小写方式如表 3-1 所示

3 38 Web 程序设计 ASP.NET 实用网站开发 ( 第 2 版 ) 表 3-1 常用标识符的大小写方式对应表 标识符 方 式 示 例 标识符 方 式 示 例 类 Pascal AppDomain 接口 Pascal IDisposable 枚举类型 Pascal ErrorLevel 方法 Pascal ToString 枚举值 Pascal FatalError 命名空间 Pascal System 事件 Pascal ValueChanged 参数 Camel typename 异常类 Pascal WebException 属性 Pascal BackColor 只读的静态字段 Pascal RedValue 变量名 Camel strname 下面是命名时应遵守的其他规则 (1) 用正确的反义词组命名具有互斥意义的变量或相反动作的函数等 (2) 常量名都要使用大写字母, 用下划线分割单词, 如 MIN_VALUE 等 (3) 一般变量名不得取单个字符 ( 如 i j k 等 ) 作为变量名, 局部循环变量除外 (4) 类的成员变量 ( 属性所对应的变量 ) 使用前缀 _, 如属性名为 Name, 则对应的成员变量名为 _Name (5) 控件命名采用 控件名简写 + 英文描述 形式, 英文描述首字母大写 建议采用如表 3-2 所示的常用控件名简写规范 (6) 接口命名在名字前加上 I 前缀, 如 IDisposable 表 3-2 建议的常用控件名简写规范表 控件名 简 写 控件名 简 写 控件名 简 写 Label lbl TextBox txt RadioButton rdo Button btn LinkButton lnkbtn Image img ImageButton imgbtn DropDownList ddl RangeValidator rv ListBox lst GridView gv RequiredFieldValidator rfv DataList dl CheckBox chk CompareValidator cv CheckBoxList chkls AdRotator ar ValidatorSummary vs RadioButtonList rdolt Table tbl RegularExpressionValidator rev Panel pnl Calendar cld 常量声明 3.4 常量与变量 常量具有在编译时值保持不变的特性, 声明时使用 const 关键字, 同时必须初始化 使用常量的好处主要有 : 常量用易于理解的名称替代了 含义不明确的数字或字符串, 使程序更易于阅读 ; 常量使程序更易于修改, 如个人所得税计算中, 若使用 TAX 常量代表税率, 当税率改变时, 只需修改常量值而不必在整个程序中修改相应税率 常量的访问修饰符有 public internal protected internal 和 private 等, 如 : public const string CORP=" 一舟网络 "; // 定义公共的字符型常量 CORP, 值为 " 一舟网络 " 变量声明 变量具有在程序运行过程中值可以变化的特性, 必须先声明再使用 变量名长度任意,

4 第 3 章 C# 和 ASP.NET 可以由数字 字母 下划线等组成, 但第一个字符必须是字母或下划线 C# 是区分大小写的, 因此 strname 和 strname 代表不同的变量 变量的修饰符有 public internal protected protected internal private static 和 readonly,c# 中将具有这些修饰符的变量称为字段, 而把方法中定义的变量称为局部变量 注意 : 局部变量前不能添加 public internal protected protected internal private static 和 readonly 等修饰符 修饰符 public internal protected protected internal private 修饰符都用于设置变量的访问级别, 在变量声明中只能使用这些修饰符中的一个 它们的作用范围如表 3-3 所示 表 3-3 访问修饰符的作用范围表 修饰符 public internal protected protected internal private 作用范围访问不受限制, 任何地方都可访问在当前程序中能被访问在所属的类或派生类中能被访问在当前的程序或派生类中能被访问在所属的类中能被访问 使用 static 声明的变量称静态变量, 又称为静态字段 对于类中的静态字段, 在使用时即使创建了多个类的实例, 都仅对应一个实例副本 访问静态字段时只能通过类直接访问, 而不能通过类的实例来访问 使用 readonly 声明的变量称只读变量, 这种变量被初始化后在程序中不能修改它的值 局部变量作用范围 1. 块级块级变量是作用域范围最小的变量, 如包含在 if while 等语句段中的变量 这种变量仅在块内有效, 在块结束后即被删除 如下面程序段中的 strname 变量, 在程序段结束之后不能被访问 if (nsum==1) string strname=" 张三 "; lblmessage.text=strname; // strname 是块级变量 // 不能访问 strname, 会产生编译错误 2. 方法级方法级变量作用于声明变量的方法中, 在方法外不能访问 protected void Page_Load(object sender, EventArgs e) string strname=" 张三 "; // strname 是方法级变量 protected void btnsubmit_click(object sender, EventArgs e)

5 40 Web 程序设计 ASP.NET 实用网站开发 ( 第 2 版 ) lblmessage.text=strname; // 不能访问 strname, 会产生编译错误 3. 对象级对象级变量可作用于定义类的所有方法中, 只有相应的 ASP.NET 页面结束时才被删除 public partial class _Default : System.Web.UI.Page string strname=" 张三 "; //strname 是对象级变量 protected void Page_Load(object sender, EventArgs e) strname=" 李四 "; protected void btnsubmit_click(object sender, EventArgs e) lblmessage.text=strname; // 能访问 strname 3.5 数据类型 C# 数据类型有值类型和引用类型两种 值类型变量直接包含它们的数据, 而引用类型变量存储它们的数据的引用 对于值类型, 一个变量的操作不会影响另一个变量 ; 而对于引用类型, 两个变量可能引用同一个对象, 因此对一个变量的操作可能会影响到另一个变量 值类型 值类型分为简单类型 结构类型 枚举类型 简单类型再分为整数类型 布尔类型 字符类型和实数类型 1. 简单类型 1) 整数类型整数类型的值都为整数, 在具体编程时应根据实际需要选择合适的整数类型, 以免造成存储资源浪费 2) 布尔类型布尔类型表示 真 和 假, 用 true 和 false 表示 注意 : 布尔类型不能用整数类型代替, 如数字 0 不能代替 false 3) 字符类型字符类型采用 Unicode 字符集标准, 一个字符长度为 16 位 字符类型的赋值形式有 : char c1='a'; // 一般方式, 值为字符 A char c2=' 中 '; // 值为汉字 中 char c3='\x0041'; // 十六进制方式, 值为字符 A char c4='\u0041'; //Unicode 方式, 值为字符 A char c5='\''; // 转义符方式, 值为单引号 ', 其中等号右边是 单引号 \ 单引号 单引号 注意 :char 类型变量声明时必须包含在一对单引号中, 如语句 char c6="a"; 编译时将

6 第 3 章 C# 和 ASP.NET 出错 4) 实数类型实数类型分为 float 单精度类型 double 双精度类型和 decimal 十进制类型 其中 float double 类型常用于科学计算,decimal 类型常用于金融计算 注意 :float 类型必须在数据后添加 F 或 f,decimal 类型必须添加 M 或 m, 否则编译器以 double 类型处理, 如 float fnum=12.6f; 2. 结构类型把一系列相关的变量组织在一起形成一个单一实体, 这种类型叫结构类型, 结构体内的每个变量称为结构成员 结构类型的声明使用 struct 关键字 下面的示例代码声明学生信息 StudentInfo 结构, 其中包括 Name Phone Address 成员 public struct StudentInfo public string Name; public string Phone; public string Address; StudentInfo ststudent; //ststudent 为一个 StudentInfo 结构类型变量对结构成员访问使用 结构变量名. 成员名 形式, 如 ststudent.name=" 张三 "; 3. 枚举类型枚举类型是由一组常量组成的类型, 使用 enum 关键字声明 枚举中每个元素默认是整数类型, 且第一个值为 0, 后面每个连续的元素依次加 1 递增 若要改变默认起始值 0, 可以通过直接给第一个元素赋值的方法来改变 枚举类型的变量在某一时刻只能取某一枚举元素的值 实例 3-1 运用枚举类型变量本实例首先定义枚举类型 Color, 再声明 enumcolor 枚举变量, 最后以两种形式输出 enumcolor 值 源程序 :Enum.aspx 部分代码 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Enum.aspx.cs" Inherits="Chap3_Enum" %> ( 略 ) 源程序 :Enum.aspx.cs using System; public partial class Chap3_Enum : System.Web.UI.Page enum Color // 声明枚举类型 Color Red = 1, Green, Blue protected void Page_Load(object sender, EventArgs e)

7 42 Web 程序设计 ASP.NET 实用网站开发 ( 第 2 版 ) Color enumcolor = Color.Green; int i = (int)color.green; Response.Write("enumColor 的值为 :" + enumcolor + "<br />"); // 输出 Green Response.Write("i 的值为 :" + i); // 输出 2 操作步骤 : 在 Chap3 文件夹中新建 Enum.aspx 和 Enum.aspx.cs 在 Enum.aspx.cs 中输入阴影部分内容 浏览 Enum.aspx 呈现如图 3-1 所示的界面 图 3-1 Enum.aspx 浏览效果 引用类型 C# 引用类型包括 class 类型 接口类型 数组类型和委托类型 1.class 类型 class 类型定义了一个包含数据成员 ( 字段 ) 和函数成员 ( 方法 属性等 ) 的数据结构, 声明使用 class 关键字 在 3.8 节中将详细地介绍有关类的内容 1)object 类型作为 class 类型之一的 object 类型, 在.NET Framework 中实质是 System.Object 类的别名 object 类型在 C# 的统一类型系统中有特殊作用, 所有其他类型 ( 预定义类型 用户定义类型 引用类型和值类型 ) 都是直接或间接地从 System.Object 类继承, 因此, 可以将任何类型的数据转化为 object 类型 2)string 类型另外一种作为 class 类型的 string 类型在 C# 中实质是一种数组, 即字符串可看作是一个字符数组 在声明时要求放在一对双引号之间 对于包含 \ 等字符的字符串, 要使用转义符形式, 如下面的示例代码 : string strpath = "C:\\ASP.NET\\Default.aspx"; 对需要转义符定义的字符串,C# 字符提供了另一种解决方法, 后, 字符串中的所有字符都会被看作原来的含义, 如上面的示例代码可写成 : string strpath 另外,[] 运算符可访问字符串中各个字符, 如 : string strtest = "abcdefg"; char x = strtest[2]; //x 的值为 'c' 注意 :string 类型声明需要一对双引号, 而 char 类型声明需要一对单引号

8 第 3 章 C# 和 ASP.NET 实际编程时经常遇到要将其他数据类型转换为 string 类型的情形, 这可以通过 ToString() 方法实现, 如 : string strint = 23.ToString(); //int 类型转换为 string 类型 ToString() 方法还提供了很实用的用于转换成不同格式的参数, 如下面示例中 P 表示百分比格式,D 表示长日期格式, 其他的参数详见 MSDN Response.Write(0.234.ToString("P")); // 输出 23.4% // 输出当前系统日期, 形式如 2013 年 12 月 21 日 Response.Write(DateTime.Now.ToString("D")); 若要将 string 类型转换为其他类型, 可使用 Parse() 方法或 Convert 类的相应方法, 如 : int istring = Int32.Parse("1234"); // 将 string 类型转换为 int32 类型 // 将日期类型转换为 string 类型 string strdatetime = Convert.ToString(DateTime.Now); 2. 接口类型接口常用来描述组件对外能提供的服务, 如组件与组件之间 组件和用户之间的交互都是通过接口完成 接口中不能定义数据, 只能定义方法 属性 事件等 包含在接口中的方法不定义具体实现, 而是在接口的继承类中实现 3. 数组类型数组是一组数据类型相同的元素集合 要访问数组中的元素时, 可以通过 数组名 [ 下标 ] 形式获取, 其中下标编号从 0 开始 数组可以是一维的, 也可以是多维的 下面是数组声明的多种形式 : string[] s1; // 定义一维数组, 但未初始化值 int[] s2 = new int[] 1, 2, 3 ; // 定义一维数组并初始化 int[,] s3 = new int[,] 1, 2, 4, 5 ; // 定义二维数组并初始化 4. 委托类型委托是一种安全的封装方法的类型, 类似于 C 和 C++ 中的函数指针 与 C 中的函数指针不同, 委托是类型安全的, 通过委托可以将方法作为参数或变量使用 装箱和拆箱 装箱和拆箱是实现值类型和引用类型相互转换的桥梁 装箱的核心是把值类型转换为对象类型, 也就是创建一个对象并把值赋给对象, 如 : int i = 100; object objnum = i; // 装箱 拆箱的核心是把对象类型转换为值类型, 即把值从对象实例中复制出来, 如 : int i = 100; object objnum = i; // 装箱 int j = (int)objnum; // 拆箱

9 44 Web 程序设计 ASP.NET 实用网站开发 ( 第 2 版 ) 3.6 运算符 表 3-4 总结了 C# 中常用的运算符, 并按优先级从高到低的顺序列出 表 3-4 运算符对应表 类 别 表达式 说 明 x.m 成员访问 x( ) 方法和委托调用 x[ ] 数组和索引器访问 x++ 后增量 基本 x-- 后减量 new T( ) 对象和委托创建 new T( ) 使用初始值设定项创建对象 new 匿名对象初始值设定项 new T[ ] 数组创建 typeof(t) 获得 T 的 System.Type 对象 -x 求相反数!x 逻辑求反 一元 ~x 按位求反 ++x 前增量 --x 前减量 (T)x 显式地将 x 转换为类型 T x * y 乘法 乘除 x / y 除法 x % y 求余 加减 x + y 加法 字符串串联 委托组合 x y 减法 委托移除 移位 x << y 左移 x >> y 右移 x < y 小于 x > y 大于 关系和类型检测 x <= y 小于或等于 x >= y 大于或等于 x is T 如果 x 属于 T 类型, 则返回 true, 否则返回 false x as T 返回转换为类型 T 的 x, 如果 x 不是 T, 则返回 null x == y 若 x 等于 y, 则为 true, 否则 false x!= y 若 x 不等于 y, 则为 true, 否则 false x & y 整型按位 AND 布尔逻辑 AND 逻辑操作 x ^ y 整型按位 XOR 布尔逻辑 XOR x y 整型按位 OR 布尔逻辑 OR x && y 仅当 x 为 true 时才对 y 求值, 再执行布尔逻辑 AND 操作 x y 仅当 x 为 false 时才对 y 求值, 再执行布尔逻辑 OR 操作 条件 x? y : z 如果 x 为 true, 则对 y 求值并返回 y 的值 ; 如果 x 为 false, 则对 z 求值并返回 z 的值 x = y 赋值 赋值或匿名函数 x op y 复合赋值 ; 支持 op 运算符有 : *= /= %= += -= <<= >>= &= ^= = (T x) => y Lambda 表达式

10 第 3 章 C# 和 ASP.NET 流程控制 与其他语言类似,C# 提供了选择 循环等结构 用于选择结构的有 if 和 switch 语句 ; 用于循环结构的有 while do-while for 和 foreach 语句 选择结构 1.if 语句语法格式一 : if ( 条件表达式 ) 语句序列 执行顺序 : 计算条件表达式 若值为 true, 则执行 语句序列 ; 否则执行 if 语句的后续语句 语法格式二 : if ( 条件表达式 ) 语句序列 1 else 语句序列 2 执行顺序 : 计算条件表达式 若值为 true, 则执行 语句序列 1 ; 否则执行 语句序列 2 注意 : 条件表达式在判断是否相等时一定要用 == 2.switch 语句 if 语句实现的是两路分支功能, 若要用 if 语句实现两路以上的分支时, 必须嵌套 if 语句 而使用 switch 语句能很方便地实现多路分支功能 语法格式如下 : switch ( 控制表达式 ) case 常量 1: 语句序列 1 case 常量 2: 语句序列 2 default: 语句序列 n 执行顺序 : 计算控制表达式 若值与某一个 case 后面的常量值匹配, 则执行此 case 块中的语句 ; 若值与所有 case 后面的常量值均不匹配, 则执行 default 语句块 实例 3-2 运用 switch 语句如图 3-2 所示, 本实例根据今天是星期几在页面上输出相应信息 图 3-2 Switch.aspx 浏览效果

11 46 Web 程序设计 ASP.NET 实用网站开发 ( 第 2 版 ) 源程序 :Switch.aspx 部分代码 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Switch.aspx.cs" Inherits="Chap3_Switch" %> ( 略 ) 源程序 :Switch.aspx.cs using System; public partial class Chap3_Switch : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) DateTime dttoday = DateTime.Today; // 获取今天的系统日期 switch (dttoday.dayofweek.tostring()) // 枚举值转换为字符型 case "Monday": Response.Write(" 今天是星期一!"); break; case "Tuesday": Response.Write(" 今天是星期二!"); break; case "Wednesday": Response.Write(" 今天是星期三!"); break; case "Thursday": Response.Write(" 今天是星期四!"); break; case "Friday": Response.Write(" 今天是星期五!"); break; default: Response.Write(" 今天可以休息了!"); break; 循环结构 1.while 语句 while 语句根据条件表达式的值, 执行 0 次或多次循环体 语法格式如下 : while ( 条件表达式 ) 语句序列 执行顺序 : (1) 计算条件表达式 (2) 若条件表达式的值为 true, 则执行循环体中语句序列, 然后返回 (1); 否则执行 while 后续语句

12 第 3 章 C# 和 ASP.NET 实例 3-3 运用 while 语句本实例在页面上的文本框中输入一个值 n, 单击 确定 按钮后计算 n, 再在一个标签控件中输出计算值 源程序 :While.aspx 部分代码 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="While.aspx.cs" Inherits="Chap3_While" %> <form id="form1" runat="server"> <div> <asp:textbox ID="txtInput" runat="server"> 请输入一个数字 </asp:textbox> <asp:label ID="lblOutput" runat="server"></asp:label><br/> <asp:button ID="btnSubmit" runat="server"text=" 确定 " OnClick= "btnsubmit_click" /> </div> </form> 源程序 :While.aspx.cs using System; public partial class Chap3_While : System.Web.UI.Page protected void btnsubmit_click(object sender, EventArgs e) int isum = 0; //isum 存放和 int iinput = int.parse(txtinput.text);//iinput 存放类型转换后的文本框输入值 int i=1; // 循环变量 i while (i<=iinput) isum+=i; i+=2; lbloutput.text=" 和为 :"+isum.tostring(); 操作步骤 : 在 Chap3 文件夹中建立 While.aspx, 添加 TextBox Label 和 Button 控件各一个, 参考源程序设置各控件属性 ; 在 While.aspx.cs 中输入代码 浏览 While.aspx 呈现如图 3-3 所示的界面 ; 在文本框中输入 100, 单击 确定 按钮后呈现如图 3-4 所示的界面 图 3-3 While.aspx 浏览效果 (1) 图 3-4 While.aspx 浏览效果 (2)

13 48 Web 程序设计 ASP.NET 实用网站开发 ( 第 2 版 ) 2.do-while 循环语法格式如下 : do 语句序列 while ( 条件表达式 ) 执行顺序 : (1) 执行循环体内语句序列 (2) 计算条件表达式, 若值为 true, 则返回 (1); 否则执行后续语句 注意 : 与 while 语句不同,do-while 循环体内语句序列会在计算条件表达式之前执行一次 3.for 语句 for 语句适用于循环次数已知的循环, 循环体内语句序列可能执行 0 次或多次 语法格式如下 : for ( 循环变量初始化 ; 条件表达式 ; 循环控制表达式 ) 语句序列 执行顺序 : (1) 初始化循环变量, 并赋初值 (2) 计算条件表达式, 若值为 true, 则执行循环体内语句序列 ; 否则跳出循环 (3) 根据循环控制表达式改变循环变量的值, 返回 (2) 注意 : 当使用 for (; ;) 形式时表示死循环, 需要使用 break 语句跳出 实例 3-4 运用 for 语句本实例利用 for 语句在页面上输出三角形 源程序 :For.aspx 部分代码 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="For.aspx.cs" Inherits="Chap3_For" %> ( 略 ) 源程序 :For.aspx.cs using System; public partial class Chap3_For : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) for (int i=1;i<5;i++) //i 控制行数 for (int k=1;k<=20-2*i;k++) // 控制输出每行前的空格数 Response.Write(" "); for (int j=1;j<=2*i-1;j++) // 控制输出每行的 * 数 Response.Write("*"); Response.Write("<br/>"); // 换行

14 第 3 章 C# 和 ASP.NET 操作步骤 : 在 Chap3 文件夹中建立 For.aspx 和 For.aspx.cs, 浏览 For.aspx 呈现如图 3-5 所示的界面 图 3-5 For.aspx 浏览效果 4.foreach 语句 foreach 语句常用于枚举数组 集合中的每个元素, 并针对每个元素执行循环体内语句序列 foreach 语句不能改变集合中各元素的值 语法格式如下 : foreach ( 数据类型循环变量 in 集合 ) 语句序列 实例 3-5 运用 foreach 语句本实例先给一个 strnames 数组赋值, 再逐个输出数组元素 源程序 :Foreach.aspx 部分代码 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Foreach.aspx.cs" Inherits="Chap3_Foreach" %> ( 略 ) 源程序 :Foreach.aspx.cs using System; public partial class Chap3_Foreach : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) string[] strnames = " 张犯 ", " 周振 ", " 王涛 " ; // 数组赋值 Array.Sort(strNames); // 升序排列数组 foreach (string n in strnames) // 逐个输出数组元素 Response.Write(" 姓名 :"+n+"<br/>"); 操作步骤 : 在 Chap3 文件夹中建立 Foreach.aspx 和 Foreach.aspx.cs 浏览 Foreach.aspx 呈现如图 3-6 所示的界面

15 50 Web 程序设计 ASP.NET 实用网站开发 ( 第 2 版 ) 图 3-6 Foreach.aspx 浏览效果 异常处理 异常的产生常由于触发了某个异常的条件, 使得操作无法正常进行, 如算术运算中的除零操作 内存不足 数组索引越界等 异常处理能使程序更加健壮, 容易让程序员对捕获的错误进行处理 异常处理常使用两种形式 :throw 语句和 try catch finally 结构 1.throw 语句 throw 语句用于抛出异常错误信息 它可以在 try catch finally 结构的 catch 块中使用, 也可以在其他的结构中使用, 如 if 语句 实例 3-6 运用 throw 语句本实例实现当除零操作时, 抛出 除数不能为零! 的错误信息 源程序 :Throw.aspx 部分代码 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Throw.aspx.cs" Inherits="Chap3_Throw" %> ( 略 ) 源程序 :Throw.aspx.cs using System; public partial class Chap3_Throw : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) int i=10; int j=0; int k; if (j==0) throw new Exception(" 除数不能为零!"); else k=i/j; Response.Write(k);

16 第 3 章 C# 和 ASP.NET 操作步骤 : 在 Chap3 文件夹中建立 Throw.aspx 和 Throw.aspx.cs 浏览 Throw.aspx 呈现如图 3-7 所示的界面 程序说明 : 本实例主要为了说明 throw 语句的应用 在实际工程中,j 变量直接赋值为 0 再进行判断是否为 0 毫无意义 图 3-7 Throw.aspx 浏览效果 2.try catch finally 结构在 try catch finally 结构中, 异常捕获由 try 块完成, 处理异常的代码放在 catch 块中, 而在 finally 块中的代码不论是否有异常发生总会被执行 其中,catch 块可包含多个, 而 finally 块是可选的 在实际应用中,finally 块常完成一些善后工作, 如网盘文件读写操作中的文件关闭等 语法格式如下 : try 可能出错的语句序列 catch ( 异常声明 1) 捕获异常后执行的语句序列 1 catch ( 异常声明 2) 捕获异常后执行的语句序列 2 finally 总是执行的语句块 执行顺序 : (1) 执行 try 块, 若出错转 (2), 否则转 (3) (2) 将捕获的异常信息逐个查找 catch 块中的异常声明, 若匹配则执行内嵌语句序列 (3) 执行 finally 块 实例 3-7 运用 try catch finally 结构本实例的 ExceptionNo.aspx.cs 未包含 try catch finally 结构, 浏览 ExceptionNo.aspx 时因为将读取的文件块存放到 buffer 数组时超出了数组界限而给出系统报错信息, 如图 3-8 所示 Exception.aspx.cs 中包含了 try catch finally 结构, 当 try 块执行出错时将执行 catch 块, 因此, 浏览 Exception.aspx 时显示系统错误信息和开发人员定义的错误信息, 如图 3-9 所示 图 3-8 ExceptionNo.aspx 浏览效果 图 3-9 Exception.aspx 浏览效果

17 52 Web 程序设计 ASP.NET 实用网站开发 ( 第 2 版 ) 源程序 :ExceptionNo.aspx 部分代码 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="ExceptionNo.aspx.cs" Inherits="Chap3_ExceptionNo" %> ( 略 ) 源程序 :ExceptionNo.aspx.cs using System; using System.IO; public partial class Chap3_ExceptionNo : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) // 定义要读取文件的物理路径 string filepath // 定义 streamreader 对象 StreamReader streamreader = new StreamReader(filePath); char[] buffer = new char[5]; // 从文件中读取内容到 buffer 数组 streamreader.readblock(buffer, 0, 10); // 关闭 streamreader 对象, 释放占用的资源 streamreader.close(); 源程序 :Exception.aspx 部分代码 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Exception.aspx.cs" Inherits="Chap3_Exception" %> ( 略 ) 源程序 :Exception.aspx.cs using System; using System.IO; public partial class Chap3_Exception : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) string filepath StreamReader streamreader = new StreamReader(filePath); char[] buffer = new char[5]; try streamreader.readblock(buffer, 0, 10); catch (Exception ee) Response.Write(" 系统提示 :" + ee.message + "<br/>");// 输出捕获的错误信息

18 第 3 章 C# 和 ASP.NET Response.Write(" 用户自定义 :" + " 读取文件错误!"); // 输出用户自定义的错误信息 finally streamreader.close(); 3.8 自定义 ASP.NET 4.5 类 ASP.NET 4.5 是完全面向对象的, 任何对象都由类生成, 而自定义类能进一步扩展功能 类的常识.NET 的底层全部是用类实现的, 不管是界面上的按钮, 还是前面介绍的数据类型 在考虑实现 ASP.NET 4.5 网站功能时要尽量从类的角度去实现 那么, 什么是类呢? 简单地说, 类就是一种模板, 通过类的实际例子 ( 实例 ) 就能使用模板中定义的属性 方法等 类具有封装性 继承性和多态性的特点 封装性指的是将具体实现方法封闭起来, 只向用户暴露属性 方法等 也就是说, 用户不需要知道类内部到底如何实现的, 只要会调用属性和方法就可以了 继承性指的是一个类可以继承另一个类的特征 ( 属性 方法 事件等 ) 多态性指的是具有继承关系的不同类拥有相同的方法名称, 当调用这些类的相同方法时, 执行的动作却不一样 与多态性概念容易混淆的是重载方法, 它常用于在同一个类中定义多个方法名相同但参数不同的方法 与 ASP.NET 4.5 页面对应的类包含在.aspx.cs 文件中 而对自定义的类应该放在 App_Code 文件夹中,VSEW 2012 会自动编译该文件夹中包含的类, 并且在使用这些类时能得到智能感知的支持 创建类的语法格式如下 : 修饰符 class 类名 类创建完后, 使用 new 关键字可建立类的实例对象 类的常用修饰符主要有访问修饰符 abstract static partial sealed abstract 修饰符表示该类只能是其他类的基类, 又称为抽象类, 对这种类中的成员必须通过继承来实现 static 修饰符表示该类为静态类, 这种类在使用时不能使用 new 创建类的实例, 但能够直接访问数据和方法 partial 修饰符在 ASP.NET 4.5 网站开发中使用相当频繁, 在每个.aspx 文件对应的.aspx.cs 文件中定义的类都包含了该修饰符 使用 partial 可以将类的定义拆分到两个或多个源文件中 每个源文件包含定义的一部分, 当编译 Web 应用程序时,.NET Framework 会将所有部分组合起来形成一个类 sealed 修饰符表示该类为密封类, 意味着该类不能被继承 下面将结合一个简单的银行账户类 Account 说明创建一个类时通常涉及的属性 构造函

19 54 Web 程序设计 ASP.NET 实用网站开发 ( 第 2 版 ) 数 方法 事件和继承等 属性 通过属性可以获取或改变类中私有字段的内容, 这种方式充分地体现了封装性, 即不直接操作类的数据内容, 而是通过访问器进行访问 访问器有 get 访问器和 set 访问器, 分别用于获取和设置属性值 当仅包含 get 访问器时, 表示该属性是只读的 实例 3-8 定义 Account 类的属性本实例定义 Account 类的三个属性 : 账户编号 (ID) 账户所有者姓名(Name) 账户金额 (Balance) 源程序 :Account.cs 属性代码 public class Account private string _ID; // 定义 _ID 私有字段, 对应 ID 属性 注意下划线前有一个空格 private string _Name; // 定义 _Name 私有字段, 对应 Name 属性 private decimal _Balance; // 定义 _Balance 私有字段, 对应 Balance 属性 public string ID get return _ID; set _ID = value; public string Name get return _Name; set _Name = value; public decimal Balance get return _Balance; set _Balance = value; 操作步骤 : 右击 App_Code 文件夹, 在弹出的快捷菜单中选择 添加 添加新项 命令, 然后在呈现的对话框中选择 类 模板, 输入文件名 Account.cs, 单击 添加 按钮建立文件 再输入源程序内容 构造函数 当使用 new 关键字实例化一个对象时, 将调用对象的构造函数, 所以说, 在使用一个类时, 最先执行的语句就是构造函数中的语句 每个类都有构造函数, 如果没有定义构造函数, 编译器会自动提供一个默认的构造函数 注意 : 构造函数名与类名相同且总是 public 类型

20 第 3 章 C# 和 ASP.NET 实例 3-9 定义 Account 类的构造函数本实例在银行账户类 Account 中构建一个对应的构造函数 源程序 :Account.cs 构造函数代码 public Account(string id, string name, decimal balance) _ID = id; // 将 id 参数值传递给 _ID 私有字段 _Name = name; // 将 name 参数值传递给 _Name 私有字段 _Balance = balance; // 将 balance 参数值传递给 _Balance 私有字段 操作步骤 : 在 Account.cs 文件中输入源程序内容 程序说明 : 从源程序中可看出, 构造函数常用于实例化类时将参数值带入对象中的情形, 如建立对象时使用 : Account account = new Account("03401", " 李明 ", 140); 这表示将 "03401" " 李明 " 140 等参数值分别传递给对象中的 _ID _Name _Balance 等私有字段 方法 方法反映了对象的行为 方法的常用修饰符有访问修饰符 void 等 其中,void 修饰符指定的方法不返回值 实例 3-10 定义 Account 类的存款和取款方法存款方法先检查存款的金额是否大于 0, 若大于 0 则将原账户金额与存款金额相加保存为新的账户金额, 否则抛出异常信息 取款方法先检查取款金额是否小于原账户金额, 若是则将原账户金额减去取款金额, 再保存为新的账户金额, 否则抛出异常 源程序 :Account.cs 方法代码 /// <summary> /// 存款方法 /// </summary> /// <param name="amount"> 存款金额 </param> public void Deposit(decimal amount) if (amount > 0) _Balance+=amount; else throw new Exception(" 存款金额不能小于或等于 0!");

21 56 Web 程序设计 ASP.NET 实用网站开发 ( 第 2 版 ) /// <summary> /// 取款方法 /// </summary> /// <param name="amount"> 取款金额 </param> public void Acquire(decimal amount) if (amount<_balance) _Balance-=amount; else throw new Exception(" 账户金额不足!"); 操作步骤 : 在 Account.cs 文件中输入源程序内容 实例 3-11 结合 Account 类和 ASP.NET 4.5 页面 源程序 :AccountPage.aspx 部分代码 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="AccountPage.aspx.cs" Inherits="Chap3_AccountPage" %> ( 略 ) 源程序 :AccountPage.aspx.cs using System; public partial class Chap3_AccountPage : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) Account account=new Account("03401", " 李明 ", 200); // 建立 account 对象 // 输出初始金额信息 Response.Write(" 初始金额为 :" + account.balance.tostring()+"<br/>"); account.deposit(100); // 存款 100 // 输出存款 100 后账户金额信息 Response.Write(" 存款 100 后,"+account.Name+" 的账户金额为 :" +account.balance.tostring()+"<br />"); account.acquire(150); // 取款 150 // 输出取款 150 后账户金额信息 Response.Write(" 取款 150 后,"+account.Name+" 的账户金额为 :" +account.balance.tostring());

22 第 3 章 C# 和 ASP.NET 操作步骤 : 在 Chap3 文件夹中建立 AccountPage.aspx 和 AccountPage.aspx.cs 浏览 AccountPage.aspx 呈现如图 3-10 所示的界面 图 3-10 AccountPage.aspx 浏览效果 程序说明 : new Account("03401", " 李明 ", 200) 调用 Account() 构造函数创建实例对象 account.balance.tostring() 获取 account 对象的 Balance 属性值, 并转化为 string 类型数据 account.deposit(100) 表示调用 account 对象的 Deposit() 方法 事件 事件是一种用于类和类之间传递消息或触发新的行为的编程方式 通过提供事件的句柄, 能够把控件和可执行代码联系在一起, 如用户单击 Button 控件触发 Click 事件后就执行相应的事件处理代码 事件的声明通过委托来实现 先定义委托, 再用委托定义事件, 触发事件的过程实质是调用委托 事件声明语法格式如下 : public delegate void EventHandler(object sender, EventArgs e); // 定义委托 public event EventHandler MyEvent; // 定义事件 EventHandler 委托定义了两个参数, 分别属于 object 类型和 EventArgs 类型 如果需要更多参数, 可以通过派生 EventArgs 类实现 sender 表示触发事件的对象,e 用于在事件中传递参数 例如, 若用户单击 Button 按钮, 则 sender 表示 Button 按钮,e 表示 Click 事件参数 MyEvent 事件使用 EventHandler 委托定义, 其中使用了 public 修饰符, 也可以使用 private protected 等修饰符 实例 3-12 在 AccountEvent 类中增加账户金额不足事件并运用事件为避免与 Account 类冲突, 本实例在 Account 类基础上新建一个 AccountEvent 类, 定义的账户金额不足事件 Overdraw 将在取款时账户金额不足的情况下被触发 源程序 :AccountEvent.cs 中 Overdraw 事件代码 public event EventHandler Overdraw; // 定义 Overdraw 事件 public void OnOverdraw(object sender, EventArgs e) if (Overdraw!= null) Overdraw(this, e);

23 58 Web 程序设计 ASP.NET 实用网站开发 ( 第 2 版 ) 注意 : 定义的事件名前无 On, 而对应的方法名前加 On, 如 OnOverdraw 方法对应 Overdraw 事件 定义完事件后, 还需要在其他方法中设置事件的触发点 下面在 Account 类的基础上修改 Acquire() 方法, 在其中加入触发事件的代码 源程序 :AccountEvent.cs 中 Acquire() 方法代码 public void Acquire(decimal amount) if (amount < _Balance) _Balance -= amount; else OnOverdraw(this, EventArgs.Empty); return; 至此, 已经声明了事件并增加了事件触发点 但若要在 ASP.NET 4.5 页面上使用事件, 还需要使用运算符 += 注册事件, 并要编写事件处理代码 下面说明如何运用 Overdraw 事件 源程序 :AccountEventPage.aspx 部分代码 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="AccountEventPage.aspx.cs"Inherits="Chap3_AccountEventPage"%> ( 略 ) 源程序 :AccountEventPage.aspx.cs using System; public partial class Chap3_AccountEventPage : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) AccountEvent accountevent = new AccountEvent("03401", " 李明 ", 200); // 注册 Overdraw 事件 accountevent.overdraw += new EventHandler(account_Overdraw); accountevent.acquire(400); // 取款 400 //Overdraw 事件处理代码 private void account_overdraw(object sender, EventArgs e) Response.Write(" 账户金额不足了!");

24 第 3 章 C# 和 ASP.NET 操作步骤 : 在 Chap3 文件夹中建立 AccountEventPage.aspx 和 AccountEventPage.aspx.cs, 在 AccountEventPage.aspx.cs 中输入阴影部分代码 浏览 AccountEventPage.aspx 呈现如图 3-11 所示的界面 图 3-11 AccountEvent.aspx 浏览效果程序说明 : 当程序执行 account.acquire(400); 时将触发 Overdraw 事件, 再执行 account_overdraw() 方法, 输出信息 账户金额不足了! 继承 继承可以重用现有类的数据和行为, 并扩展新的功能 继承以基类为基础, 通过向基类添加成员创建派生类 通常基类又称为超类或父类, 派生类又称为子类 例如, 在 Account 类中, 如果针对企业账户需要增加 Type 属性, 那么利用类的继承性, 只要添加一个新的属性就可以了 实例 3-13 实现继承类本实例建立的 EnterpriseAccount 类在继承 Account 类的基础上增加了 Type 属性 源程序 :EnterpriseAccount.cs public class EnterpriseAccount : Account private string _Type; // 定义 _Type 私有字段, 对应 Type 属性 public string Type get return _Type; set _Type = value; 3.9 ASP.NET 4.5 页面调试 在实际项目开发过程中,ASP.NET 4.5 页面调试非常重要, 可以说, 不会调试的人永远不会编程 通过程序调试, 可以检查代码并验证它们是否能够正常地运行, 从而发现 VSEW 2012 编译页面过程中不能捕获的错误 对于正确执行的程序, 使用调试功能还能真正地理解

25 60 Web 程序设计 ASP.NET 实用网站开发 ( 第 2 版 ) 程序的运行过程 要对 ASP.NET 4.5 网站启用调试, 必须将 Web 应用程序配置成调试模式, 这需要配置 Web.config 文件中 <system.web> 元素的子元素 <compilation>, 示例代码如下 : <compilation debug="true" targetframework="4.5"> 断点设置是 ASP.NET 4.5 页面调试中最常用的操作 使用断点, 可以通知调试器在某个特定点上暂时挂起程序的执行 此时, 程序的运行处于中断模式 这种模式并不是终止或结束程序的执行, 而是在任何时候都能根据调试情况确定是否需要继续执行 在中断模式下, 可以检查变量的状态, 还可以更改变量值以便人为地控制程序的执行过程 具体操作时, 右击需要设置断点的语句, 在弹出的快捷菜单中选择 断点 插入断点 命令即可在该语句处设置断点 设置断点后, 按 F5 键可启动调试过程 在调试过程中, 使用较多的窗口包括 局部变量 监视 即时窗口, 如图 3-12 所示 局部变量 窗口用于显示当前变量 监视 窗口用于监视变量或表达式的值, 也可以用于更改变量的值 即时窗口 用于计算表达式 输出变量值 更改变量值等 图 3-12 程序调试界面 调试过程中常用的快捷键包括 F10 F11 键 其中,F10 键用于逐过程地执行程序, 而 F11 键用于逐语句地执行程序 另外, 组合键 Shift+F5 用于结束程序的调试过程 3.10 小结 本章主要介绍 C# 基础知识, 并结合 ASP.NET 4.5 页面说明 C# 在网站开发中的应用 C# 作为 Microsoft 专门为.NET 打造的编程语言, 非常适合 ASP.NET 4.5 页面的开发.NET Framework 命名空间提供了.NET 类的组织方式 良好的编程规范是开发人员应当遵守的规则 掌握 C# 基础语法是 ASP.NET 4.5 页面开发的基础 通过装箱和拆箱能较深入地理解 C# 中任何东西都可作为对象对待的实质 流程控制提供了程序的运行逻辑 异常处理能使程序

26 第 3 章 C# 和 ASP.NET 更健壮, 在编程过程中需要熟练地使用 尽管.NET 类库提供了强大的功能支持, 但仍有一些功能需进一步扩展, 此时就需要自定义类 页面调试可以检查代码执行过程中的正确性, 还能真正地理解代码的执行过程, 因此, 在平时的编程实践中必须加强页面调试能力的培养 3.11 习题 1. 填空题 (1)C# 使用的类库就是 提供的类库 (2) 要在一个类中包含 System.Data 命名空间的语句是 (3) 使用 修饰符能调用未实例化的类中的方法 (4)C# 中的数据类型包括 和 (5) 是由一组命名常量组成的类型 (6) 在 C# 统一类型系统中, 所有类型都是直接或间接地从 继承 (7) 装箱实质是把 转化为 (8) 至少会执行一次循环的循环语句是 (9) 较适用于已知循环次数的循环语句是 (10) 如果类名为 UserInfo, 那么它的构造函数名为 (11) 可以重用现有类的数据和行为, 并扩展新的功能 2. 是非题 (1)decimal 类型必须在数据末尾添加 M 或 m, 否则编译器以 double 类型处理 ( ) (2) 访问结构类型中成员的方式通常使用 结构名. 成员名 形式 ( ) (3) 枚举类型的变量可能同时取到枚举中两个元素的值 ( ) (4) 数组可以由一组数据类型不相同的元素组成 ( ) (5)foreach 语句适用于枚举数组中的元素 ( ) (6) 当一个类实例化时, 它的构造函数中包含的代码肯定会执行 ( ) 3. 选择题 (1) 下列数据类型属于值类型的是 ( ) A.struct B.class C.interface D.delegate (2) 下列数据类型属于引用类型的是 ( ) A.bool B.char C.string D.enum (3) 下列运算符中 ( ) 具有三个操作数 A.>>= B.&& C.++ D.? (4) 下面有关数据类型的描述中不正确的是 ( ) A. 两个引用类型变量可能引用同一个对象 B.bool 类型中可以用数字 1 表示 true C.byte 类型的取值范围是 0~255 D. 可以通过转义符方式输入字符 (5) 下面对 protected 修饰符说法正确的是 ( ) A. 只能在派生类中访问 B. 只能在所属的类中访问 C. 能在当前应用程序中访问 D. 能在所属的类或派生类中访问 (6) 以下有关属性的说法错误的是 ( ) A. 通过属性能获取类中 private 字段的数据

27 62 Web 程序设计 ASP.NET 实用网站开发 ( 第 2 版 ) B. 当定义属性时, 若仅包含 set 访问器, 则表示该属性为只读属性 C. 属性的访问形式是 对象名. 属性名 D. 属性体现了对象的封装性 4. 简答题 (1) 请说明修饰符 public internal protected protected internal private 的区别 (2) 值类型和引用类型有什么区别 (3) 举例说明装箱和拆箱的作用 5. 上机操作题 (1) 建立并调试本章的所有实例 (2) 调试实例 3-4 源程序, 要求在 Response.Write("<br />"); 语句处设置断点, 查看循环变量 i k 和 j 的值, 通过更改 i 变量人为地控制循环次数 (3) 设计一个 ASP.NET 4.5 页面, 其中包含 TextBox 和 Button 控件各一个 当在 TextBox 中输入一个成绩, 再单击 Button 控件时在页面上输出相应的等级信息 (4) 在 ASP.NET 4.5 页面上输出九九乘法表 (5) 在 ASP.NET 4.5 页面上输出如下形状 : A BBB CCCCC DDD E (6) 设计一个 ASP.NET 4.5 页面, 其中包含 TextBox 和 Button 控件各一个 当在 TextBox 中输入一组以空格间隔的一组数字后, 再单击 Button 控件时在页面上输出该组数字的降序排列 ( 要求使用数组 ) (7) 设计一个 ASP.NET 4.5 页面, 其中包含两个 TextBox 和一个 Button 控件 当在 TextBox 中各输入一个数值, 再单击 Button 控件时在页面上输出两者相除的数值 ( 要求包含异常处理 ) (8) 设计一个用于用户注册页面的用户信息类 UserInfo, 它包括两个属性 : 姓名 (Name) 生日 (Birthday); 一个方法 DecideAge(): 用于判断用户是否达到规定年龄, 对大于等于 18 岁的在页面上输出 您是成人了!, 而小于 18 岁的在页面上输出 您还没长大呢? (9) 改写第 (8) 题中 DecideAge() 方法, 增加一个事件 ValidateBirthday: 当输入的生日值大于当前日期或小于 时被触发 (10) 设计 ASP.NET 4.5 页面并应用自己定义的 UserInfo 类

Microsoft Word - 实验3.doc

Microsoft Word - 实验3.doc 实验 3 C# 和 ASP.NET 4.5 一 实验目的 (1) 了解 C# 语言规范 (2) 掌握 C# 基础语法 流程控制和异常处理等 (3) 掌握创建 C# 类并应用于 ASP.NET 4.5 页面中的方法 (4) 掌握 ASP.NET 4.5 页面的调试方法 二 实验内容及要求 1. 转换输入的成绩到相应的等级要求如下 : (1) 页面浏览效果如图 3-1 所示 (2) 成绩输入使用 TextBox

More information

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double

More information

untitled

untitled 1 Outline 數 料 數 數 列 亂數 練 數 數 數 來 數 數 來 數 料 利 料 來 數 A-Z a-z _ () 不 數 0-9 數 不 數 SCHOOL School school 數 讀 school_name schoolname 易 不 C# my name 7_eleven B&Q new C# (1) public protected private params override

More information

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 4 月 19 日晚 9 点 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double x) { d

More information

untitled

untitled 1 .NET 利 [] [] 來 說 切 切 理 [] [ ] 來 說 拉 類 類 [] [ ] 列 連 Web 行流 來 了 不 不 不 流 立 行 Page 類 Load 理 Response 類 Write 料 Redirect URL Response.Write("!! ives!!"); Response.Redirect("WebForm2.aspx"); (1) (2) Web Form

More information

OOP with Java 通知 Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢 学习使用文本编辑器 学习使用 cmd: Power shell 阅读参考资料

OOP with Java 通知 Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢   学习使用文本编辑器 学习使用 cmd: Power shell 阅读参考资料 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢 Email: 51141201063@ecnu.cn 学习使用文本编辑器 学习使用 cmd: Power shell 阅读参考资料 OOP with Java Java 类型 引用 不可变类型 对象存储位置 作用域 OOP

More information

Microsoft Word - 01.DOC

Microsoft Word - 01.DOC 第 1 章 JavaScript 简 介 JavaScript 是 NetScape 公 司 为 Navigator 浏 览 器 开 发 的, 是 写 在 HTML 文 件 中 的 一 种 脚 本 语 言, 能 实 现 网 页 内 容 的 交 互 显 示 当 用 户 在 客 户 端 显 示 该 网 页 时, 浏 览 器 就 会 执 行 JavaScript 程 序, 用 户 通 过 交 互 式 的

More information

第一章 章标题-F2 上空24,下空24

第一章 章标题-F2 上空24,下空24 Web 9 XML.NET Web Web Service Web Service Web Service Web Service Web Service ASP.NET Session Application SOAP Web Service 9.1 Web Web.NET Web Service Web SOAP Simple Object Access Protocol 9.1.1 Web Web

More information

帝国CMS下在PHP文件中调用数据库类执行SQL语句实例

帝国CMS下在PHP文件中调用数据库类执行SQL语句实例 帝国 CMS 下在 PHP 文件中调用数据库类执行 SQL 语句实例 这篇文章主要介绍了帝国 CMS 下在 PHP 文件中调用数据库类执行 SQL 语句实例, 本文还详细介绍了帝国 CMS 数据库类中的一些常用方法, 需要的朋友可以参考下 例 1: 连接 MYSQL 数据库例子 (a.php)

More information

Microsoft Word - 新1-12.doc

Microsoft Word - 新1-12.doc 实训 5 面向对象编程练习 实训 5 面向对象编程练习 5.1 实训目的 通过编程和上机实验理解 Java 语言是如何体现面向对象编程基本思想 以及如何创建类 和对象 了解成员变量和成员方法的特性 5.2 实训要求 编写一个体现面向对象思想的程序 编写一个创建对象和使用对象的方法的程序 5.3 实训内容 5.3.1 创建对象并使用对象 1 定义一个 Person 类 可以在应用程序中使用该类 成员属性

More information

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 odps-sdk 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基 开放数据处理服务 ODPS SDK SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基础功能的主体接口, 搜索关键词 "odpssdk-core" 一些

More information

IsPostBack 2

IsPostBack 2 5 IsPostBack 2 TextBox 3 TextBox TextBox 4 TextBox TextBox 1 2 5 TextBox Columns MaxLength ReadOnly Rows Text TextMode TextMode MultiLine TextMode MultiLine True False TextMode MultiLine Password MulitLine

More information

OOP with Java 通知 Project 4: 5 月 2 日晚 9 点

OOP with Java 通知 Project 4: 5 月 2 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 5 月 2 日晚 9 点 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double x) { d =

More information

untitled

untitled 1 LinkButton LinkButton 連 Button Text Visible Click HyperLink HyperLink 來 立 連 Text ImageUrl ( ) NavigateUrl 連 Target 連 _blank _parent frameset _search _self 連 _top 例 sample2-a1 易 連 private void Page_Load(object

More information

Microsoft Word - 第3章.doc

Microsoft Word - 第3章.doc 第 3 章流程控制和数组 3.1 实验目的 (1) 熟练掌握控制台应用程序的代码编写和调试, 以及运行方法 (2) 掌握选择结构的一般语法格式和应用 (3) 掌握 switch 语句的用法 (4) 掌握选择结构的嵌套的用法, 能灵活使用选择结构解决实际问题 (5) 掌握 while 循环语句的一般语法格式 (6) 掌握 for 循环语句的一般语法格式 (7) 掌握循环嵌套的语法格式 (8) 掌握一维数组的定义

More information

2 WF 1 T I P WF WF WF WF WF WF WF WF 2.1 WF WF WF WF WF WF

2 WF 1 T I P WF WF WF WF WF WF WF WF 2.1 WF WF WF WF WF WF Chapter 2 WF 2.1 WF 2.2 2. XAML 2. 2 WF 1 T I P WF WF WF WF WF WF WF WF 2.1 WF WF WF WF WF WF WF WF WF WF EDI API WF Visual Studio Designer 1 2.1 WF Windows Workflow Foundation 2 WF 1 WF Domain-Specific

More information

OOP with Java 通知 Project 3: 3 月 29 日晚 9 点 4 月 1 日上课

OOP with Java 通知 Project 3: 3 月 29 日晚 9 点 4 月 1 日上课 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 3: 3 月 29 日晚 9 点 4 月 1 日上课 复习 Java 包 创建包 : package 语句, 包结构与目录结构一致 使用包 : import restaurant/ - people/ - Cook.class - Waiter.class - tools/ - Fork.class

More information

Microsoft PowerPoint - 4. 数组和字符串Arrays and Strings.ppt [兼容模式]

Microsoft PowerPoint - 4. 数组和字符串Arrays and Strings.ppt [兼容模式] Arrays and Strings 存储同类型的多个元素 Store multi elements of the same type 数组 (array) 存储固定数目的同类型元素 如整型数组存储的是一组整数, 字符数组存储的是一组字符 数组的大小称为数组的尺度 (dimension). 定义格式 : type arrayname[dimension]; 如声明 4 个元素的整型数组 :intarr[4];

More information

无类继承.key

无类继承.key 无类继承 JavaScript 面向对象的根基 周爱 民 / aimingoo aiming@gmail.com https://aimingoo.github.io https://github.com/aimingoo rand = new Person("Rand McKinnon",... https://docs.oracle.com/cd/e19957-01/816-6408-10/object.htm#1193255

More information

任务 3 加法运算练习游戏 019 这就需要用到 C# 语言的基础语法, 如数据类型 运算符和控制语句, 还需要其他的常用控件 在此任务的完成过程中, 读者可以接触到 C# 的数据类型 变量常量 运算符 控制语句等基础语法, 掌握以上知识点及其在软件开发中的应用 3.2 相关知识 预定义

任务 3 加法运算练习游戏 019 这就需要用到 C# 语言的基础语法, 如数据类型 运算符和控制语句, 还需要其他的常用控件 在此任务的完成过程中, 读者可以接触到 C# 的数据类型 变量常量 运算符 控制语句等基础语法, 掌握以上知识点及其在软件开发中的应用 3.2 相关知识 预定义 任务 3 加法运算练习游戏 3.1 情境描述 选择了开发环境并理解了事件驱动机制以后, 要开发项目, 还需掌握 C# 语言的语法 本任务的目标是完成如图 3.1 和图 3.2 所示的小学生加法运算练习游戏 这个小软件的功能是在窗体中的 + 两边出现 2 个 10 以内的随机数, 让用户 ( 适合于小学生 ) 在文本框内输入其和, 然后单击 OK 按钮 若输入的和是正确的, 则跳出一个红色的图片, 同时提示答对了,

More information

untitled

untitled 1 .NET sln csproj dll cs aspx 說 料 料 利 來 料 ( 來 ) 利 [] [] 來 說 切 切 理 [] [ ] 來 說 拉 類 類 [] [ ] 列 連 Web 行流 來 了 不 不 不 流 立 行 Page 類 Load 理 Click 滑 料 Response 列 料 Response HttpResponse 類 Write 料 Redirect URL Response.Write("!!

More information

1 1 大概思路 创建 WebAPI 创建 CrossMainController 并编写 Nuget 安装 microsoft.aspnet.webapi.cors 跨域设置路由 编写 Jquery EasyUI 界面 运行效果 2 创建 WebAPI 创建 WebAPI, 新建 -> 项目 ->

1 1 大概思路 创建 WebAPI 创建 CrossMainController 并编写 Nuget 安装 microsoft.aspnet.webapi.cors 跨域设置路由 编写 Jquery EasyUI 界面 运行效果 2 创建 WebAPI 创建 WebAPI, 新建 -> 项目 -> 目录 1 大概思路... 1 2 创建 WebAPI... 1 3 创建 CrossMainController 并编写... 1 4 Nuget 安装 microsoft.aspnet.webapi.cors... 4 5 跨域设置路由... 4 6 编写 Jquery EasyUI 界面... 5 7 运行效果... 7 8 总结... 7 1 1 大概思路 创建 WebAPI 创建 CrossMainController

More information

導讀 ASP.NET HTML ASP 第一篇 基礎篇第 1 章 認識 ASP.NET ASP.NET ASP.NET ASP.NET ASP.NET 第 2 章 認識 Visual Studio 20 開發環境 Visual Studio 20 Visual Studio 20 第二篇 C# 程式

導讀 ASP.NET HTML ASP 第一篇 基礎篇第 1 章 認識 ASP.NET ASP.NET ASP.NET ASP.NET ASP.NET 第 2 章 認識 Visual Studio 20 開發環境 Visual Studio 20 Visual Studio 20 第二篇 C# 程式 導讀 ASP.NET HTML ASP 第一篇 基礎篇第 1 章 認識 ASP.NET ASP.NET ASP.NET ASP.NET ASP.NET 第 2 章 認識 Visual Studio 20 開發環境 Visual Studio 20 Visual Studio 20 第二篇 C# 程式語言篇第 3 章 C# 程式語言基礎 C# C# 3.0 var 第 4 章 基本資料處理 C# x

More information

chap07.key

chap07.key #include void two(); void three(); int main() printf("i'm in main.\n"); two(); return 0; void two() printf("i'm in two.\n"); three(); void three() printf("i'm in three.\n"); void, int 标识符逗号分隔,

More information

untitled

untitled 1 行 行 行 行.NET 行 行 類 來 行 行 Thread 類 行 System.Threading 來 類 Thread 類 (1) public Thread(ThreadStart start ); Name 行 IsAlive 行 行狀 Start 行 行 Suspend 行 Resume 行 行 Thread 類 (2) Sleep 行 CurrentThread 行 ThreadStart

More information

OOP with Java 通知 Project 3 提交时间 3 月 29 日晚 9 点 Piazza Project 2 投票

OOP with Java 通知 Project 3 提交时间 3 月 29 日晚 9 点 Piazza Project 2 投票 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 3 提交时间 3 月 29 日晚 9 点 Piazza Project 2 投票 复习 创建对象 构造函数 函数重载 : 函数 = 函数名 + 参数列表 public class MyType { int i; double d; char c; void set(double x)

More information

新版 明解C++入門編

新版 明解C++入門編 511!... 43, 85!=... 42 "... 118 " "... 337 " "... 8, 290 #... 71 #... 413 #define... 128, 236, 413 #endif... 412 #ifndef... 412 #if... 412 #include... 6, 337 #undef... 413 %... 23, 27 %=... 97 &... 243,

More information

《计算概论》课程 第十九讲 C 程序设计语言应用

《计算概论》课程 第十九讲  C 程序设计语言应用 计算概论 A 程序设计部分 字符数组与字符串 李戈 北京大学信息科学技术学院软件研究所 lige@sei.pku.edu.cn 字符数组的定义 #include int main() char a[10] = 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j' ; for (int i = 0; i < 10; i++) cout

More information

Guava学习之Resources

Guava学习之Resources Resources 提供提供操作 classpath 路径下所有资源的方法 除非另有说明, 否则类中所有方法的参数都不能为 null 虽然有些方法的参数是 URL 类型的, 但是这些方法实现通常不是以 HTTP 完成的 ; 同时这些资源也非 classpath 路径下的 下面两个函数都是根据资源的名称得到其绝对路径, 从函数里面可以看出,Resources 类中的 getresource 函数都是基于

More information

untitled

untitled 1 Access 料 (1) 立 料 [] [] [ 料 ] 立 料 Access 料 (2) 料 [ 立 料 ] Access 料 (3) 料 料 料 料 料 料 欄 ADO.NET ADO.NET.NET Framework 類 來 料 料 料 料 料 Ex MSSQL Access Excel XML ADO.NET 連 .NET 料.NET 料 料來 類.NET Data Provider

More information

untitled

untitled 1 Outline 料 類 說 Tang, Shih-Hsuan 2006/07/26 ~ 2006/09/02 六 PM 7:00 ~ 9:30 聯 ives.net@gmail.com www.csie.ntu.edu.tw/~r93057/aspnet134 度 C# 力 度 C# Web SQL 料 DataGrid DataList 參 ASP.NET 1.0 C# 例 ASP.NET 立

More information

1 Framework.NET Framework Microsoft Windows.NET Framework.NET Framework NOTE.NET NET Framework.NET Framework 2.0 ( 3 ).NET Framework 2.0.NET F

1 Framework.NET Framework Microsoft Windows.NET Framework.NET Framework NOTE.NET NET Framework.NET Framework 2.0 ( 3 ).NET Framework 2.0.NET F 1 Framework.NET Framework Microsoft Windows.NET Framework.NET Framework NOTE.NET 2.0 2.0.NET Framework.NET Framework 2.0 ( 3).NET Framework 2.0.NET Framework ( System ) o o o o o o Boxing UnBoxing() o

More information

软件工程文档编制

软件工程文档编制 实训抽象类 一 实训目标 掌握抽象类的定义 使用 掌握运行时多态 二 知识点 抽象类的语法格式如下 : public abstract class ClassName abstract void 方法名称 ( 参数 ); // 非抽象方法的实现代码 在使用抽象类时需要注意如下几点 : 1 抽象类不能被实例化, 实例化的工作应该交由它的子类来完成 2 抽象方法必须由子类来进行重写 3 只要包含一个抽象方法的抽象类,

More information

Microsoft PowerPoint - 8. 运算符重载 Operator Overloading.pptx

Microsoft PowerPoint - 8. 运算符重载 Operator Overloading.pptx 运算符重载 Operator Overloading class Point { public: ; double x_, y_; Why Operator Overloading? Point (double x =0, double y = 0):x_(x),y_(y) { int main(){ Point a(1., 2), b(3,4); Point c = a + b; return 0;

More information

Microsoft PowerPoint - 6. 用户定义类型User-defined Datatypes.ppt [兼容模式]

Microsoft PowerPoint - 6. 用户定义类型User-defined Datatypes.ppt [兼容模式] 用户定义类型 User-defined Datatypes classes and structs 几何向量 (Geometry Vector) 二维平面上的向量由起点和终点构成 每个点包含两个坐标 (x, y), 因此一个向量需要四个实数表示 Start= (0.9,1.5) Start= (0.4,0.8) int main() { double xstart = 0.4; double xend

More information

Generated by Unregistered Batch DOC TO PDF Converter , please register! 浙江大学 C 程序设计及实验 试题卷 学年春季学期考试时间 : 2003 年 6 月 20 日上午 8:3

Generated by Unregistered Batch DOC TO PDF Converter , please register! 浙江大学 C 程序设计及实验 试题卷 学年春季学期考试时间 : 2003 年 6 月 20 日上午 8:3 浙江大学 C 程序设计及实验 试题卷 2002-2003 学年春季学期考试时间 : 2003 年 6 月 20 日上午 8:30-10:30 注意 : 答题内容必须写在答题卷上, 写在本试题卷上无效 一. 单项选择题 ( 每题 1 分, 共 10 分 ) 1. 下列运算符中, 优先级最低的是 A.

More information

ASP.NET实现下拉框二级联动组件

ASP.NET实现下拉框二级联动组件 ASP.NET 实现下拉框二级联动组件 namespace WebApplicationDlh using System.Drawing; using System.Web; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; using Db; / / Area 的摘要说明 /

More information

<4D F736F F F696E74202D BDE1B9B9BBAFB3CCD0F2C9E8BCC D20D1ADBBB7>

<4D F736F F F696E74202D BDE1B9B9BBAFB3CCD0F2C9E8BCC D20D1ADBBB7> 能源与动力工程学院 结构化编程 结构化程序设计 循环 循环结构 确定性循环 非确定性循环 I=1 sum=sum+i I = I +1 陈 斌 I>100 Yes No 目录 求和 :1+2+3++100 第四节循环的应用 PROGRAM GAUSS INTEGER I, SUM 计数器 SUM = 0 DO I = 1, 100, 1 SUM = SUM + I print*, I, SUM DO

More information

《C语言程序设计》教材习题参考答案

《C语言程序设计》教材习题参考答案 教材名称 : C 语言程序设计 ( 第 1 版 ) 黄保和 江弋编著清华大学出版社 ISBN:978-7-302-13599-9, 红色封面 答案制作时间 :2011 年 2 月 -5 月 一 选择题 1. 设已定义 int a, * p, 下列赋值表达式中正确的是 :C)p=&a 2. 设已定义 int x,*p=&x;, 则下列表达式中错误的是 :B)&*x 3. 若已定义 int a=1,*b=&a;,

More information

0 本章掌握内容 C# 是一门语言 Framework 是运行库和类库 Visual Studio.NET 是开发环境 / 工具 VS2010 的使用 ( 程序 debug) C# 应用程序一般结构 控制台应用程序 窗体应用程序

0 本章掌握内容 C# 是一门语言 Framework 是运行库和类库 Visual Studio.NET 是开发环境 / 工具 VS2010 的使用 ( 程序 debug) C# 应用程序一般结构 控制台应用程序 窗体应用程序 软件开发基础 (.NET.NET) 1. C# 概述 林毅申 sunsoftware@qq.com 信息学院 计算机科学与工程系 软件工程教研室 505 0 本章掌握内容 C# 是一门语言 Framework 是运行库和类库 Visual Studio.NET 是开发环境 / 工具 VS2010 的使用 ( 程序 debug) C# 应用程序一般结构 控制台应用程序 窗体应用程序 一 C# 及相关概述

More information

untitled

untitled 12-1 -2 VC# Web Blog 12-1 -1-1 12-1.1-1 C:\ ChartModuleSample_CSharp\Application\2001\ Files\ 4096 KB 120 Web.Config httpruntime maxrequestlength executiontimeout 12-2

More information

OOP with Java 通知 Project 2 提交时间 : 3 月 21 日晚 9 点 作业提交格式 学习使用 文本编辑器 cmd, PowerShell (Windows), terminal(linux, Mac)

OOP with Java 通知 Project 2 提交时间 : 3 月 21 日晚 9 点 作业提交格式 学习使用 文本编辑器 cmd, PowerShell (Windows), terminal(linux, Mac) OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 2 提交时间 : 3 月 21 日晚 9 点 作业提交格式 学习使用 文本编辑器 cmd, PowerShell (Windows), terminal(linux, Mac) 复习 面向对象编程 将实际问题分解成不同的对象 不的对象提供不同的服务 对象之间可以传递消息 例子小李深夜

More information

untitled

untitled 1 .NET 料.NET 料 料來 類.NET Data Provider SQL.NET Data Provider System.Data.SqlClient 料 MS-SQL OLE DB.NET Data Provider System.Data.OleDb 料 Dbase FoxPro Excel Access Oracle Access ODBC.NET Data Provider 料

More information

untitled

untitled Data Source 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 8-1 Data Source 8-2 Data Source 8-3 Data Source 8-4 Data Source 8-5 DataSourceID 8-6 DataSourceMode 8-7 DataSource 8-8 8-9 Parameter Direction

More information

CC213

CC213 : (Ken-Yi Lee), E-mail: feis.tw@gmail.com 49 [P.51] C/C++ [P.52] [P.53] [P.55] (int) [P.57] (float/double) [P.58] printf scanf [P.59] [P.61] ( / ) [P.62] (char) [P.65] : +-*/% [P.67] : = [P.68] : ,

More information

untitled

untitled Inside ASP.NET 2.0- ASP.NET 1.1 2. 理念 讀 了 了 度 讀 了 理 類 來 來說 流 了 來 來 來 來 理 來 不 讀 不 不 力 來參 流 讀 了 異 行 來了 錄 行 不 了 來 了 來 行 論說 了 更 不 例 來了 力 行 樂 不 說 兩 例 利 來 了 來 樂 了 了 令 讀 來 不 不 來 了 不 旅行 令 錄 錄 來 了 例 來 利 來 ManagerProvide

More information

Microsoft Word - CX1000-HMI_程序开发_PLC通讯

Microsoft Word - CX1000-HMI_程序开发_PLC通讯 用 VB.Net 开发 CX1000 的 HMI 第二部分和 TwinCAT PLC 通讯 一 TwinCAT 动态库 TwinCAT.Ads.dll The TwinCAT.Ads.dll 是一个.NET 类库, 它提供和 ADS 设备通讯的类 如果 TwinCAT PLC 运行在 IPC 上, 则需要添加的类库是路径 \TwinCAT\ADS Api\.NET\v1.1.4322 下的 TwinCAT.Ads.dll

More information

FY.DOC

FY.DOC 高 职 高 专 21 世 纪 规 划 教 材 C++ 程 序 设 计 邓 振 杰 主 编 贾 振 华 孟 庆 敏 副 主 编 人 民 邮 电 出 版 社 内 容 提 要 本 书 系 统 地 介 绍 C++ 语 言 的 基 本 概 念 基 本 语 法 和 编 程 方 法, 深 入 浅 出 地 讲 述 C++ 语 言 面 向 对 象 的 重 要 特 征 : 类 和 对 象 抽 象 封 装 继 承 等 主

More information

Microsoft PowerPoint - 03.Fortran程序设计基础1

Microsoft PowerPoint - 03.Fortran程序设计基础1 简单 Fortran 90 程序的构造形式 : 第二讲 Fortran 程序设计基础 (2) [PROGRAM 程序名 ] [ 声明语句 ] [ 执行语句 ] END [PROGRAM [ 程序名 ]] 程序的书写 (P5) PROGRAM MONEY!calculate balance after interest compounded! 根据利息计算余额 REAL BALANCE, INTEREST,

More information

Microsoft Word - 正文.doc

Microsoft Word - 正文.doc 第 2 章 Java 语言基础 通过本章的实践, 要掌握 Java 中的标识符 关键字 常量, 熟练掌握算术 关 系 逻辑 条件 赋值 位运算符的使用, 掌握简单顺序结构的程序设计 2.1 典型习题解答 2.1 Java 中怎样进行注释? 解答 Java 语言中的注释有 3 种形式 : (1) 单行 : // (2) 多行 : /* */ (3) 文档注释 : /** */ 第三种形式是第二种形式的变形,

More information

Microsoft PowerPoint - 5. 指针Pointers.ppt [兼容模式]

Microsoft PowerPoint - 5. 指针Pointers.ppt [兼容模式] 指针 Pointers 变量指针与指针变量 Pointer of a variable 变量与内存 (Variables and Memory) 当你声明一个变量时, 计算机将给该变量一个内存, 可以存储变量的值 当你使用变量时, 计算机将做两步操作 : - 根据变量名查找其对应的地址 ; - 通过地址对该地址的变量内容进行读 (retrieve) 或写 (set) 变量的地址称为变量的指针! C++

More information

JAVA 单元 2.1 四则运算机 ( 一 ) 单元教学进度设计 教学环节 教学内容 教师学生活动活动 反馈 反馈课前作业完成情况 反馈加分 1. 下面哪些是合法的变量名? ( ) A.2variable 答案 :DEG B..variable2 解答 : C.._whatavariable A:/

JAVA 单元 2.1 四则运算机 ( 一 ) 单元教学进度设计 教学环节 教学内容 教师学生活动活动 反馈 反馈课前作业完成情况 反馈加分 1. 下面哪些是合法的变量名? ( ) A.2variable 答案 :DEG B..variable2 解答 : C.._whatavariable A:/ 单元 2.1 四则运算机 ( 一 ) 单元教学进度设计 教学环节 教学内容 教师学生活动活动 反馈 反馈课前作业完成情况 反馈加分 1. 下面哪些是合法的变量名? ( ) A.2variable 答案 :DEG B..variable2 解答 : C.._whatavariable A:// 不能以数字开头 D._3_ B:// 不能用点和空格 提问 抢答 E.$anothervar C: // 不能用点和空格

More information

2015年计算机二级(C语言)模拟试题及答案(三)

2015年计算机二级(C语言)模拟试题及答案(三) 2016 年计算机二级 (C 语言 ) 模拟试题及答案 (3) 1.( A ) 是构成 C 语言程序的基本单位 A 函数 B 过程 C 子程序 D 子例程 2.C 语言程序从 ( C ) 开始执行 A 程序中第一条可执行语句 B 程序中第一个函数 C 程序中的 main 函数 D 包含文件中的第一个函数 3 以下说法中正确的是( C ) A C 语言程序总是从第一个定义的函数开始执行 B 在 C 语言程序中,

More information

Microsoft Word - Ch06.docx

Microsoft Word - Ch06.docx Chapter 6-1 6-2 6-2 l ASP.NET 6-1 (theme) ASP.NET (skin).skin ButtonLabelHyperLink (cascading style sheet).css TreeView 1. 2. (page theme) (global theme) IIS l 6-3 6-1-1 (page theme) (global theme) App_Themes

More information

res/layout 目录下的 main.xml 源码 : <?xml version="1.0" encoding="utf 8"?> <TabHost android:layout_height="fill_parent" xml

res/layout 目录下的 main.xml 源码 : <?xml version=1.0 encoding=utf 8?> <TabHost android:layout_height=fill_parent xml 拓展训练 1- 界面布局 1. 界面布局的重要性做应用程序, 界面是最基本的 Andorid 的界面, 需要写在 res/layout 的 xml 里面, 一般情况下一个 xml 对应一个界面 Android 界面布局有点像写 html( 连注释代码的方式都一样 ), 要先给 Android 定框架, 然后再在框架里面放控件,Android 提供了几种框架,AbsoluteLayout,LinearLayout,

More information

《大话设计模式》第一章

《大话设计模式》第一章 第 1 章 代 码 无 错 就 是 优? 简 单 工 厂 模 式 1.1 面 试 受 挫 小 菜 今 年 计 算 机 专 业 大 四 了, 学 了 不 少 软 件 开 发 方 面 的 东 西, 也 学 着 编 了 些 小 程 序, 踌 躇 满 志, 一 心 要 找 一 个 好 单 位 当 投 递 了 无 数 份 简 历 后, 终 于 收 到 了 一 个 单 位 的 面 试 通 知, 小 菜 欣 喜

More information

OOP with Java 通知 : Project 2 提交时间 : 3 月 15 日晚 9 点

OOP with Java 通知 : Project 2 提交时间 : 3 月 15 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 : Project 2 提交时间 : 3 月 15 日晚 9 点 复习 : Java 类型 基本类型 boolean, char, 封装 (wrappers) 类 (class) 定义 class MyType { int i; double d; 数据 (Fields) char c; void set(double

More information

// HDevelopTemplateWPF projects located under %HALCONEXAMPLES%\c# using System; using HalconDotNet; public partial class HDevelopExport public HTuple

// HDevelopTemplateWPF projects located under %HALCONEXAMPLES%\c# using System; using HalconDotNet; public partial class HDevelopExport public HTuple halcon 与 C# 混合编程之 Halcon 代码调用 写在前面 完成 halcon 与 C# 混合编程的环境配置后, 进行界面布局设计构思每一个按钮所需要实现 的功能, 将 Halcon 导出的代码复制至相应的 C# 模块下即可 halcon 源程序 : dev_open_window(0, 0, 512, 512, 'black', WindowHandle) read_image (Image,

More information

<ADB6ADB1C25EA8FAA6DB2D4D56432E706466>

<ADB6ADB1C25EA8FAA6DB2D4D56432E706466> packages 3-31 PART 3-31 03-03 ASP.NET ASP.N MVC ASP.NET ASP.N MVC 4 ASP.NET ASP.NE MVC Entity Entity Framework Code First 2 TIPS Visual Studio 20NuGetEntity NuGetEntity Framework5.0 CHAPTER 03 59 3-3-1

More information

OOP with Java 通知 : Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢

OOP with Java 通知 : Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 : Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢 Email: 51141201063@ecnu.cn 复习 : Java 类型 基本类型 boolean, char, 封装 (wrappers) 类 (class) 定义 class MyType { int i;

More information

数据结构

数据结构 信息管理与信息系统专业 第 3 章变量与表达式 任课教师 : 吕雅丽 本章内容 3.1 C# 基本数据类型 3.2 常量与变量 3.3 创建并使用枚举类型 3.4 运算符与表达式类型 3.5 运算符的优先级与结合性 2 3.1 C# 基本数据类型 3.1.1 数值类型 1. 整数类型 整数类型又有有符号整数与无符号整数 有符号整数可以带正负号, 无符号整数不需带正负号, 默认为正数 有符号整数包括

More information

设计模式 Design Patterns

设计模式 Design Patterns 丁勇 Email:18442056@QQ.com 学习目标 描述 JSP 表达式语言的语法 认识使用 JSP 表达式的优点 在 JSP 中使用表达式语言 表达式语言简介 5 1 EL 为表达式语言 由两个组开发 JSP 标准标签库专家组 JSP 2.0 专家组 JSP 表达式语言的语法 ${EL Expression} JSP EL 表达式用于以下情形 静态文本 标准标签和自定义标签 表达式语言简介

More information

模板

模板 制作人 : 张刚 目录 类和对象 面向对象程序设计基本特征 类的声明 构造方法 成员变量和方法 封装 继承 多态 包 访问控制 final static 抽象类和接口 内部类 沈阳工业大学软件学院 Java 课程教研组 Page 2 核心知识点 类 对象 三个基本特征 类的基本结构 成员变量 构造方法 成员方法 类实例 对象创建和操作 沈阳工业大学软件学院 Java 课程教研组 Page 3 1.

More information

《C语言程序设计》第2版教材习题参考答案

《C语言程序设计》第2版教材习题参考答案 教材 C 语言程序设计 ( 第 2 版 ) 清华大学出版社, 黄保和, 江弋编著 2011 年 10 月第二版 ISBN:978-7-302-26972-4 售价 :35 元 答案版本 本习题答案为 2012 年 2 月修订版本 一 选择题 1. 设已定义 int a, * p, 下列赋值表达式中正确的是 :C)p = &a A. *p = *a B. p = *a C.p = &a D. *p =

More information

运算符重载 为什么要 运算符重载 那些运算符可以重载, 哪些不可以 如何实现运算符重载 实现方式 : 成员函数与非成员函数 类型转换 怎样实现对象与基本数据类型数据的运算 2

运算符重载 为什么要 运算符重载 那些运算符可以重载, 哪些不可以 如何实现运算符重载 实现方式 : 成员函数与非成员函数 类型转换 怎样实现对象与基本数据类型数据的运算 2 第十一讲 运算符重载 与类型转换 运算符重载 为什么要 运算符重载 那些运算符可以重载, 哪些不可以 如何实现运算符重载 实现方式 : 成员函数与非成员函数 类型转换 怎样实现对象与基本数据类型数据的运算 2 为什么要运算符重载 预定义的运算符只针对基本数据类型, 若要对类的对象进行类似的运算, 需要重新定义运算符的功能 运算符重载实质就是函数重载 : 对已有的运算符赋予多重含义, 使得同一个运算符作用于不同类型的数据时导致不同的行为

More information

1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10

1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10 Java V1.0.1 2007 4 10 1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10 6.2.10 6.3..10 6.4 11 7.12 7.1

More information

OOP with Java 通知 Project 4: 推迟至 4 月 25 日晚 9 点

OOP with Java 通知 Project 4: 推迟至 4 月 25 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 推迟至 4 月 25 日晚 9 点 复习 Protected 可以被子类 / 同一包中的类访问, 不能被其他类访问 弱化的 private 同时赋予 package access class MyType { public int i; public double d; public

More information

(TestFailure) JUnit Framework AssertionFailedError JUnit Composite TestSuite Test TestSuite run() run() JUnit

(TestFailure) JUnit Framework AssertionFailedError JUnit Composite TestSuite Test TestSuite run() run() JUnit Tomcat Web JUnit Cactus JUnit Java Cactus JUnit 26.1 JUnit Java JUnit JUnit Java JSP Servlet JUnit Java Erich Gamma Kent Beck xunit JUnit boolean JUnit Java JUnit Java JUnit Java 26.1.1 JUnit JUnit How

More information

设计模式 Design Patterns

设计模式 Design Patterns 丁勇 Email:18442056@QQ.com 组件技术概述 现在软件开发都已经转向了基于组件的开发, 目前具备代表性的组件技术有微软的 COM COM+, 有 Sun 的 Bean 和 EJB(Enterprise Bean), 另外还有 CORBA(Common Object Request Broker Architecture, 公 共对象请求代理结构 ) Bean Bean 规范将 软件组件

More information

OOP with Java 通知 Project 4: 5 月 2 日晚 9 点

OOP with Java 通知 Project 4: 5 月 2 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 5 月 2 日晚 9 点 复习 Java 包 创建包 : package 语句, 包结构与目录结构一致 使用包 : import restaurant/ - people/ - Cook.class - Waiter.class - tools/ - Fork.class - Table.class

More information

试卷代号 :1253 座位号 E 口 国家开放大学 ( 中央广播电视大学 )2014 年秋季学期 " 开放本科 " 期末考试 C 语言程序设计 A 试题 2015 年 1 月 E 四! 五 总分! 一 单选题 ( 每小题 2 分, 共 20 分 ) 1. 由 C 语言源程序文件编译而成的目标文件的默

试卷代号 :1253 座位号 E 口 国家开放大学 ( 中央广播电视大学 )2014 年秋季学期  开放本科  期末考试 C 语言程序设计 A 试题 2015 年 1 月 E 四! 五 总分! 一 单选题 ( 每小题 2 分, 共 20 分 ) 1. 由 C 语言源程序文件编译而成的目标文件的默 试卷代号 :1253 座位号 E 口 国家开放大学 ( 中央广播电视大学 )2014 年秋季学期 " 开放本科 " 期末考试 C 语言程序设计 A 试题 2015 年 1 月 E 四! 五 总分! 一 单选题 ( 每小题 2 分, 共 20 分 ) 1. 由 C 语言源程序文件编译而成的目标文件的默认扩展名为 ( ) A. cpp B. c C. exe D. obj 2. 设 x 和 y 均为逻辑值,

More information

Microsoft Word - 《C语言开发入门》课程教学大纲-2.doc

Microsoft Word - 《C语言开发入门》课程教学大纲-2.doc C 语言开发入门 课程教学大纲 ( 课程英文名称 ) 课程编号 :201409210011 学分 :5 学分学时 :60 学时 ( 其中 : 讲课学时 :37 学时上机学时 :23 学时 ) 先修课程 : 计算机导论后续课程 :C++ 程序设计适用专业 : 信息及其计算机相关专业开课部门 : 计算机系 一 课程的性质与目标 C 语言开发入门 是计算机各专业必修的基础课程, 是数据结构 C++ Java

More information

Microsoft Word - ch04三校.doc

Microsoft Word - ch04三校.doc 4-1 4-1-1 (Object) (State) (Behavior) ( ) ( ) ( method) ( properties) ( functions) 4-2 4-1-2 (Message) ( ) ( ) ( ) A B A ( ) ( ) ( YourCar) ( changegear) ( lowergear) 4-1-3 (Class) (Blueprint) 4-3 changegear

More information

untitled

untitled PowerBuilder Tips 利 PB11 Web Service 年度 2 PB Tips PB9 EAServer 5 web service PB9 EAServer 5 了 便 web service 來說 PB9 web service 力 9 PB11 release PB11 web service 力更 令.NET web service PB NVO 論 不 PB 來說 說

More information

Microsoft PowerPoint - 07 派生数据类型

Microsoft PowerPoint - 07 派生数据类型 能源与动力工程学院 目录 派生类型 陈 斌 固有数据类型 数值型 (numerical) 整型 INTEGER 实型 REAL 复数型 COMPLEX 非数值型 字符型 CHARACTER 逻辑型 ( 布尔型 )LOGICAL 自定义数据类型 ( 派生类型, derived type) 派生类型是指用户利用 Fortran 系统内部类型, 如整型 实型 复数型 逻辑型 字符型等的组合自行创建出一个新的数据类型,

More information

本章学习目标 小风 Java 实战系列教程 SpringMVC 简介 SpringMVC 的入门案例 SpringMVC 流程分析 配置注解映射器和适配器 注解的使用 使用不同方式的跳转页面 1. SpringMVC 简介 Spring web mvc

本章学习目标 小风 Java 实战系列教程 SpringMVC 简介 SpringMVC 的入门案例 SpringMVC 流程分析 配置注解映射器和适配器 注解的使用 使用不同方式的跳转页面 1. SpringMVC 简介 Spring web mvc 本章学习目标 SpringMVC 简介 SpringMVC 的入门案例 SpringMVC 流程分析 配置注解映射器和适配器 配置视图解析器 @RequestMapping 注解的使用 使用不同方式的跳转页面 1. SpringMVC 简介 Spring web mvc 和 Struts2 都属于表现层的框架, 它是 Spring 框架的一部分, 我们可 以从 Spring 的整体结构中看得出来 :

More information

Java程序设计

Java程序设计 第 6 章异常处理 第 6 章异常处理 本章介绍 Java 语言中的异常处理 6.1 异常处理 6.2 自定义异常 6.3 断言及程序的测试 6.4 程序的调试 2 异常处理 3 异常 异常 (exception ) 又称为例外 差错 违例 对应着 Java 运行错误处理机制 基本写法 try{ 语句组 }catch(exception ex){ 异常处理语句组 ; } 示例 : ExceptionForNum.java

More information

概述

概述 OPC Version 1.6 build 0910 KOSRDK Knight OPC Server Rapid Development Toolkits Knight Workgroup, eehoo Technology 2002-9 OPC 1...4 2 API...5 2.1...5 2.2...5 2.2.1 KOS_Init...5 2.2.2 KOS_InitB...5 2.2.3

More information

NOWOER.OM m/n m/=n m/n m%=n m%n m%=n m%n m/=n 4. enum string x1, x2, x3=10, x4, x5, x; 函数外部问 x 等于什么? 随机值 5. unsigned char *p1; unsigned long *p

NOWOER.OM m/n m/=n m/n m%=n m%n m%=n m%n m/=n 4. enum string x1, x2, x3=10, x4, x5, x; 函数外部问 x 等于什么? 随机值 5. unsigned char *p1; unsigned long *p NOWOER.OM /++ 程师能 评估. 单项选择题 1. 下 描述正确的是 int *p1 = new int[10]; int *p2 = new int[10](); p1 和 p2 申请的空间 的值都是随机值 p1 和 p2 申请的空间 的值都已经初始化 p1 申请的空间 的值是随机值,p2 申请的空间 的值已经初始化 p1 申请的空间 的值已经初始化,p2 申请的空间 的值是随机值 2.

More information

VB程序设计教程

VB程序设计教程 高 等 学 校 教 材 Visual Basic 程 序 设 计 教 程 魏 东 平 郑 立 垠 梁 玉 环 石 油 大 学 出 版 社 内 容 提 要 本 书 是 按 高 等 学 校 计 算 机 程 序 设 计 课 程 教 学 大 纲 编 写 的 大 学 教 材, 主 要 包 括 VB 基 础 知 识 常 用 程 序 结 构 和 算 法 Windows 用 户 界 面 设 计 基 础 文 件 处

More information

untitled

untitled JavaEE+Android - 6 1.5-2 JavaEE web MIS OA ERP BOSS Android Android Google Map office HTML CSS,java Android + SQL Sever JavaWeb JavaScript/AJAX jquery Java Oracle SSH SSH EJB+JBOSS Android + 1. 2. IDE

More information

6-1 Table Column Data Type Row Record 1. DBMS 2. DBMS MySQL Microsoft Access SQL Server Oracle 3. ODBC SQL 1. Structured Query Language 2. IBM

6-1 Table Column Data Type Row Record 1. DBMS 2. DBMS MySQL Microsoft Access SQL Server Oracle 3. ODBC SQL 1. Structured Query Language 2. IBM CHAPTER 6 SQL SQL SQL 6-1 Table Column Data Type Row Record 1. DBMS 2. DBMS MySQL Microsoft Access SQL Server Oracle 3. ODBC SQL 1. Structured Query Language 2. IBM 3. 1986 10 ANSI SQL ANSI X3. 135-1986

More information

PowerPoint 演示文稿

PowerPoint 演示文稿 Python 入门 孙栩 xusun@pku.edu.cn 1 课程的整体介绍 目录 contents 2 Python 的介绍及如何安装 Python 3 使用 Python 编写简单小程序 1 课程的整体介绍 课程的整体介绍 Python 入门 1. Python 的介绍与安装 2. 变量与表达式 3. 一些简单的小程序 数据结构 1. 字符串 2. 列表 3. 元组 4. 字典 5. 集合 分支与循环

More information

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

KillTest 质量更高 服务更好 学习资料   半年免费更新服务 KillTest 质量更高 服务更好 学习资料 http://www.killtest.cn 半年免费更新服务 Exam : 310-055Big5 Title : Sun Certified Programmer for the Java 2 Platform.SE 5.0 Version : Demo 1 / 22 1. 11. public static void parse(string str)

More information

chp3

chp3 Java 软件设计基础 3. 流程控制 3.1 语句控制结构 语句类型 变量声明语句 用来声明变量, 格式为 : 表达式语句 在一个表达式的最后加上一个分号构成的语句, 分号是语句不可缺少的部分, 格式为 : 变量 = 表达式 ; 复合语句 [ 修饰符 ] 类型名变量名 1[, 变量名 2][, ]; [ 修饰符 ] 类型名变量名 1[= 初值 1][, 变量名 2][= 初值 2][, ]; 将相关语句组合在一起就构成复合语句,

More information

Microsoft PowerPoint - C语言课件-9-结构体.pptx

Microsoft PowerPoint - C语言课件-9-结构体.pptx 第九章结构体 郎大鹏 第九章结构体 9.1 结构体类型的声明方法 9.2 结构体类型变量的定义与使用 9.3 结构体数组 9.4 编程举例 9.5 习题 9.1 结构体类型的声明方法 结构体声明的语法形式如下 : struct 结构体标识符 成员变量列表 ; }; 例如, 为了描述班级 ( 假设仅仅包括班级编号 专业 人数等信息 ), 可以声明如下的结构体类型 struct Class char Code[10];

More information

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 4 月 19 日晚 9 点 复习 Protected 可以被子类 / 同一包中的类访问, 不能被其他类访问 弱化的 private 同时赋予 package access class MyType { public int i; public double d; public char

More information

Microsoft PowerPoint - 10 模板 Template.pptx

Microsoft PowerPoint - 10 模板 Template.pptx 模板 Tempalte 泛型编程的需要 Why Templates? 设想你对整数类型实现了一个排序算法 : void sort(int *is,int n); 用该函数可以对实 复数或工资单排序吗? 模板可以复用源代码 - 泛型编程. inline void Swap( int &x, int &y){ int t = x; x = y; y =t; inline void Swap(double

More information

Visual Basic D 3D

Visual Basic D 3D Visual Basic 2008 2D 3D 6-1 6-1 - 6-2 - 06 6-2 STEP 1 5-2 (1) STEP 2 5-3 (2) - 6-3 - Visual Basic 2008 2D 3D STEP 3 User1 6-4 (3) STEP 4 User1 6-5 (4) - 6-4 - 06 STEP 5 6-6 (5) 6-3 6-3-1 (LoginForm) PictureBox1

More information

第一章三角函数 1.3 三角函数的诱导公式 A 组 ( ) 一 选择题 : 共 6 小题 1 ( 易诱导公式 ) 若 A B C 分别为 ABC 的内角, 则下列关系中正确的是 A. sin( A B) sin C C. tan( A B) tan C 2 ( 中诱导公式 ) ( ) B. cos(

第一章三角函数 1.3 三角函数的诱导公式 A 组 ( ) 一 选择题 : 共 6 小题 1 ( 易诱导公式 ) 若 A B C 分别为 ABC 的内角, 则下列关系中正确的是 A. sin( A B) sin C C. tan( A B) tan C 2 ( 中诱导公式 ) ( ) B. cos( 第一章三角函数 1. 三角函数的诱导公式 A 组 一 选择题 : 共 6 小题 1 ( 易诱导公式 ) 若 A B C 分别为 ABC 的内角 则下列关系中正确的是 A. sin( A B) sin C C. tan( A B) tan C ( 中诱导公式 ) B. cos( B C) cos A D. sin( B C) sin A sin60 cos( ) sin( 0 )cos( 70 ) 的值等于

More information

基于ECO的UML模型驱动的数据库应用开发1.doc

基于ECO的UML模型驱动的数据库应用开发1.doc ECO UML () Object RDBMS Mapping.Net Framework Java C# RAD DataSetOleDbConnection DataGrod RAD Client/Server RAD RAD DataReader["Spell"].ToString() AObj.XXX bug sql UML OR Mapping RAD Lazy load round trip

More information

Microsoft Word - 第2章.doc

Microsoft Word - 第2章.doc 2 第第 2 章 学习第 1 章后, 读者已经对 Java 语言有了初步的了解, 本章将具体解析 Java 类的组成元素 任何一个 Java 类, 都有 5 种基本组成元素 : 属性 方法 构造方法 块和内部类 其中属性 方法 构造方法是使用最多的元素, 而块 内部类使用较少 本章将对各种元素进行学习 Java 类基本结构 2.1 类 类 Java 类的声明形式 访问权限修饰符 修饰符 class

More information

教案模板4-2

教案模板4-2 传智播客 Java 基础入门 教学设计 课程名称 : Java 基础入门 授课年级 : 2014 年级 授课学期 : 2014 学年第一学期 教师姓名 : 某某老师 2014 年 02 月 09 日 课题名称第 3 章面向对象上 计划学时 6 课时 Java 是一种面向对象的语言, 认识面向对象的编程思想对于 Java 学习至关重 内容分析 要 在面向对象中, 有两个重要的概念, 分别是类和对象,

More information

内容介绍 6.1 任务预览 6.2 异常 6.3 异常种类与层次结构 6.4 异常处理代码块 try-catch-finally 6.5 throw 语句与 throws 子句 6.6 自定义异常类 6.7 异常处理代码块嵌套 6.8 错误与断言 6.9 本章小结 6.10 实训 6: 除法运算程序

内容介绍 6.1 任务预览 6.2 异常 6.3 异常种类与层次结构 6.4 异常处理代码块 try-catch-finally 6.5 throw 语句与 throws 子句 6.6 自定义异常类 6.7 异常处理代码块嵌套 6.8 错误与断言 6.9 本章小结 6.10 实训 6: 除法运算程序 第 6 章除法运算 异常处理 能力目标 : 学会使用 try-catch-finally 代码块处理异常 学会使用 throw 语句主动抛出异常, 使用 throws 子句从方法声明中抛出异常 理解自定义异常类, 了解断言语句 能运用异常处理机制编写整数 实数除法运算程序 内容介绍 6.1 任务预览 6.2 异常 6.3 异常种类与层次结构 6.4 异常处理代码块 try-catch-finally

More information

拦截器(Interceptor)的学习

拦截器(Interceptor)的学习 二 拦截器 (Interceptor) 的学习 拦截器可以监听程序的一个或所有方法 拦截器对方法调用流提供了细粒度控制 可以在无状态会话 bean 有状态会话 bean 和消息驱动 bean 上使用它们 拦截器可以是同一 bean 类中的方法或是一个外部类 下面介绍如何在 Session Bean 类中使用外部拦截器类 @Interceptors 注释指定一个或多个在外部类中定义的拦截器 下面拦截器

More information

OOP with Java 通知 Project 4: 5 月 2 日晚 9 点

OOP with Java 通知 Project 4: 5 月 2 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 5 月 2 日晚 9 点 复习 Protected 可以被子类 / 同一包中的类访问, 不能被其他类访问 弱化的 private 同时赋予 package access class MyType { public int i; public double d; public char

More information

06 01 action JavaScript action jquery jquery AJAX CSS jquery CSS jquery HTML CSS jquery.css() getter setter.css('backgroundcolor') jquery CSS b

06 01 action JavaScript action jquery jquery AJAX CSS jquery CSS jquery HTML CSS jquery.css() getter setter.css('backgroundcolor') jquery CSS b 06 01 action JavaScript action jquery jquery AJAX 04 4-1 CSS jquery CSS jquery HTML CSS jquery.css() getter setter.css('backgroundcolor') jquery CSS background-color camel-cased DOM backgroundcolor.css()

More information

Microsoft Word - PHP7Ch01.docx

Microsoft Word - PHP7Ch01.docx PHP 01 1-6 PHP PHP HTML HTML PHP CSSJavaScript PHP PHP 1-6-1 PHP HTML PHP HTML 1. Notepad++ \ch01\hello.php 01: 02: 03: 04: 05: PHP 06:

More information

一 登录 crm Mobile 系统 : 输入 ShijiCare 用户名和密码, 登录系统, 如图所示 : 第 2 页共 32 页

一 登录 crm Mobile 系统 : 输入 ShijiCare 用户名和密码, 登录系统, 如图所示 : 第 2 页共 32 页 第 1 页共 32 页 crm Mobile V1.0 for IOS 用户手册 一 登录 crm Mobile 系统 : 输入 ShijiCare 用户名和密码, 登录系统, 如图所示 : 第 2 页共 32 页 二 crm Mobile 界面介绍 : 第 3 页共 32 页 三 新建 (New) 功能使用说明 1 选择产品 第 4 页共 32 页 2 填写问题的简要描述和详细描述 第 5 页共

More information

新・明解C言語入門編『索引』

新・明解C言語入門編『索引』 !... 75!=... 48 "... 234 " "... 9, 84, 240 #define... 118, 213 #include... 148 %... 23 %... 23, 24 %%... 23 %d... 4 %f... 29 %ld... 177 %lf... 31 %lu... 177 %o... 196 %p... 262 %s... 242, 244 %u... 177

More information