数组与自定义类型.ppt_第1页
数组与自定义类型.ppt_第2页
数组与自定义类型.ppt_第3页
数组与自定义类型.ppt_第4页
数组与自定义类型.ppt_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第1章程序设计语言与程序设计方法第2章VisualC 概述第3章C 语法基础第4章顺序结构程序设计第5章选择结构程序设计第6章循环结构程序设计第7章面向对象编程技术第8章继承 第9章数组与自定义类型第10章菜单 工具栏与状态栏第11章文件操作第12章数据库技术第13章ActiveX控件第14章异常处理与跟踪调试第15章开发Web应用程序第16章部署应用程序 下一页 VisualC 程序设计教程 上一页 章节目录 上一页 下一页 第9章数组与自定义类型9 1数组概述数组是一些具有相同类型的数据按一定顺序组成的序列 数组中的每一个数据都可以通过数组名及唯一一个索引号 下标 来存取 所以 数组用于存储和表示既与取值有关 又与位置 顺序 有关的数据 章节目录 上一页 下一页 9 1 1数组与数组元素在C 中 把一组具有同一名字 不同下标的下标变量称为数组 一个数组可以含有若干个下标变量 或称数组元素 下标也叫索引 Index 用来指出某个数组元素在数组中的位置 数组中第一个元素的下标默认为0 第二个元素的下标为1 依次类推 所以数组元素的最大下标比数组元素个数少1 即如果某一数组有n个元素 则其最大下标为n 1 数组的下标必须是非负值的整型数据 章节目录 上一页 下一页 1 使用悬浮窗缺省情况下FlashGet被设置为显示 悬浮窗 监视剪贴板 和监视 浏览器点击 2 使用快捷菜单在带有下载文件的链接的网页中 右键单击链接文字 在弹出的快捷菜单中执行 用网际快车下载 命令 设置完毕后 单击 确定 按钮 章节目录 上一页 下一页 如果只用一个下标就能确定一个数组元素在数组中的位置 则称该数组为一维数组 也可以说 由具有一个下标的下标变量所组成的数组称为一维数组 如上述中的数组A就是一维数组 而由具有两个或多个下标的下标变量所组成的数组称为二维数组或多维数组 多维数组元素的下标之间用逗号分隔 如A 0 1 表示是一个二维数组中的元素 章节目录 上一页 下一页 9 1 2数组的类型在C 中 数组属于引用类型 数组元素在内存中是连续存放的 这是数组元素用下标表示其在数组中位置的根据 C 中的数组类型可以对应任何数据类型 即数组可以是基本数据类型 也可以是类类型 例如 可以声明一个文本框 TextBox 类型的数组 C 通过 NET框架中的System Array类来支持数组 因此 可以使用该类的属性与方法操作数组 章节目录 上一页 下一页 9 2声明与访问数组9 2 1声明与访问一维数组声明数组的过程与声明类对象相同 包含两个环节 即声明数组变量与数组变量的实例化 1 声明一维数组声明一维数组的格式为 访问修饰符类型名称 数组名 例如 int A 章节目录 上一页 下一页 数组在声明后必须实例化才可以使用 实例化数组的格式为 数组名称 new类型名称 无符号整型表达式 例如 A newint 5 使数组包含5个元素 声明数组过程中 声明变量与实例化变量这两个环节可以用一条语句完成 例如 int A newint 5 数组一旦实例化 其元素即被初始化为相应的默认值 章节目录 上一页 下一页 指定数组元素个数的 无符号整型表达式 可以是一个常量表达式 也可以是一个变量表达式 intSize 5 int A newint Size C 允许声明元素个数为0的数组 例如 int A newint 0 章节目录 上一页 下一页 数组在实例化时 可以为元素指定初始化值 其格式为 数组名称 new类型名称 无符号整型表达式 值1 值2 例如 int A newint 5 1 2 3 4 5 如果为数组指定初始化值 可以省略对元素个数的说明 int A newint 1 2 3 4 5 可以将声明数组的语句 int A newint 5 1 2 3 4 5 简化为 int A 1 2 3 4 5 章节目录 上一页 下一页 为数组指定初始化的值可以是变量表达式 例如 intx 1 y 2 int A newint 5 x y x y y y y y 1 一旦要为数组指定初始化值 就必须为数组的所有元素指定初始化值 指定值的个数既不能多于数组的元素个数 也不能少于数组的元素个数 章节目录 上一页 下一页 2 访问数组使用数组名与下标 索引 可以唯一确定数组中的某个元素 从而实现对该元素的访问 例如 intx 4 y 5 int A newint 3 1 2 3 使用数组第1个元素的值为其他变量赋值x A 0 A 1 y 为数组第2个元素赋值 章节目录 上一页 下一页 在访问数组元素时 要注意不要使下标越界 例如 int A newint 5 A 5 15 下标越界可以在实例化数组时为数组的所有元素初始化指定的值 但不能在赋值语句中使用一个赋值运算符为整个数组赋值 例如 int A newint 3 1 2 3 正确A 4 5 6 错误 试图为整个数组赋值 章节目录 上一页 下一页 3 foreach循环语句C 专门提供了一种用于遍历数组的foreach循环语句 foreach循环语句的格式为 foreach 类型名称变量名称in数组名称 循环体 语句中的 变量名称 是一个循环变量 在循环中 该变量依次获取数组中各元素的值 因此 对于依次获取数组中各元素值的操作 使用这种循环语句就很方便 要注意 变量名称 的类型必须与数组的类型一致 章节目录 上一页 下一页 例如 假定有一个整型数组A 则用foreach语句获取数组中和元素的值并输出到label1控件的Text属性中的代码为 foreach intiinA label1 Text label1 Text i foreach语句遍历数组虽然很方便 但其功能受一定的限制 例如 如果想为数组各元素依次有规律赋值 foreach循环将无能为力 章节目录 上一页 下一页 9 2 2声明多维数组在多维数组中 比较常用的是二维数组 声明二维数组与声明一维数组格式类似 例如 声明并实例化一个两行两列的二维数组int A newint 2 2 1 2 3 4 声明多维数组时 用逗号表示维数 一个逗号表示二维数组 两个逗号表示三维数组 依次类推 章节目录 上一页 下一页 访问多维数组需要用多个下标唯一确定数组中某个元素 例如 声明一个4行4列的二维数组int Ar newint 4 4 Ar 1 2 15 为第2行第3列的元素赋值 用第2行第3列的元素为其他变量赋值inta Ar 1 2 要访问二维数组中的所有元素可以使用双重循环来实现 通常外循环控制行 内循环控制列 章节目录 上一页 下一页 9 2 3声明数组列表 ArrayList ArrayList叫数组列表 数组列表是一个集合类 由该类声明的对象可以当做数组来使用 ArrayList类属于System Collections命名空间 所以声明ArrayList类对象必须引用该命名空间 在VisualSdudio Net2003中创建Windows应用程序时 该命名空间的引用已由系统自动生成 但在VisualSdudio Net2005中则需要手动添加对该命名空间的引用 章节目录 上一页 下一页 如果在声明ArrayList类对象时 想使该对象具有数组那样所包含的元素个数 可以用一个已经实例化的数组来初始化 其格式为 ArrayList名称 newArrayList 数组名称 其中 数组名称 为已经实例化的数组 例如 int A newint 5 ArrayListAL newArrayList A string sA newstring 4 ArrayListsAL newArrayList sA 章节目录 上一页 下一页 可以使用访问数组元素的方法访问数组列表中的元素 例如 int A newint 5 ArrayListAL newArrayList A AL 3 15 为数组列表中的第4个元素赋值 用数组列表中的第4个元素为其他变量赋值inta int AL 3 控件如果包含Items属性 该属性可以看作是一个数组列表 章节目录 上一页 下一页 7 2 2字符方式下的FTP命令进入DOS方式 Windows的命令提示符方式 或UNIX Linux终端窗口后 执行类似 ftp192 168 10 16 或 的命令 若登录的是匿名服务器 可输入登录用户名 username 如本例的 Anonymous 不输入密码 password 直接按 Enter 键 屏幕显示 230Userloggedin proceed 及提示符 ftp 表示登录成功 章节目录 上一页 下一页 9 2 4声明控件数组1 在窗体中添加控件创建一个Windows应用程序项目 在窗体上添加4个文本框 2 设计代码在Form1类定义中声明文本框数组字段代码 privateSystem Windows Forms TextBox textB 章节目录 上一页 下一页 对该数组实例化 窗体的Load事件代码为 privatevoidForm1 Load objectsender System EventArgse 实例化并指定各元素值textB newTextBox textBox1 textBox2 textBox3 textBox4 章节目录 上一页 下一页 9 3数组参数9 3 1数组元素为参数数组元素作为参数只能在调用方法时作为实参进行传递 这时数组元素实参与简单变量实参功能相同 9 3 2整个数组为参数整个数组作为参数时 实参与形参是相对应的 由于数组是引用类型 所以数组参数总是按引用传递的 章节目录 上一页 下一页 声明方法时 数组作为形参的格式为 public返回类型方法名称 类型名称 数组名称 调用方法时 数组作为实参进行传递的格式为 方法名称 数组名称 章节目录 上一页 下一页 9 3 3params关键字在使用数组作为形参时 C 提供了params关键字 使调用数组为形参的方法时 既可以传递数组实参 也可以只传递一组数据 params的使用格式为 public返回类型方法名称 params类型名称 数组名称 章节目录 上一页 下一页 9 4数组与数组列表的属性与方法9 4 1数组与数组列表属性1 Length与Count属性Length属性表示数组包含多少个元素 在数组列表中 表示包含元素个数的属性为Count 其性质与用法与数组的Length属性相同 2 IsReadOnly属性数组与数组列表均具有IsReadOnly属性 该属性可判断数组或数组列表中的元素是否为只读的 章节目录 上一页 下一页 9 4 2数组与数组列表方法1 Clone与CopyTo方法克隆 Clone 与拷贝 CopyTo 方法的功能均为数组复制操作 数组与数组列表均具有这两种方法 Clone方法的使用格式如下 目标数组名称 数组类型名称 源数组名称 Clone 章节目录 上一页 下一页 CopyTo方法的使用格式如下 源数组名称 CopyTo 目标数组名称 起始位置 使用拷贝方法与使用克隆方法有两点区别 一是拷贝方法在往目标数组进行拷贝之前 目标数组必须实例化 可以不初始化元素值 否则将产生错误 而使用克隆方法时 目标数组不必进行初始化 二是拷贝方法需要指定从目标数组的什么位置开始进行复制 而克隆方法不需要 章节目录 上一页 下一页 2 Sort方法Sort方法可以将数组中的元素按升序排列 数组与数组列表都具有Sort方法 但使用的格式不同 数组的Sort方法使用格式为 Array Sort 数组名称 数组列表的Sort方法使用格式为 数组列表名称 Sort 章节目录 上一页 下一页 数组与数组列表中还有一个Reverse 反转 方法 将该方法与Sort方法结合 可以实现降序排序 数组反转方法的使用格式为 Array Reverse 数组名称 起始位置 反转范围 数组列表反转方法的使用格式为 数组列表名称 Reverse 列表起始位置 反转范围 章节目录 上一页 下一页 9 5自定义数据类型9 5 1结构类型1 定义结构结构的定义需使用struct关键字 定义格式如下 struct结构类型名称 public类型名称1结构成员名称1 public类型名称2结构成员名称2 章节目录 上一页 下一页 2 声明结构变量定义结构后 一个新的数据类型就产生了 可以像使用基本数据类型那样 用结构来声明变量 3 访问结构变量使用结构中的成员必须指出访问的结构变量 方法是在结构变量和成员之间通过运算符 连接在一起 即 结构变量名 成员名 章节目录 上一页 下一页 9 5 2枚举类型1 定义枚举类型定义枚举类型使用关键字enum 定义枚举类型的一般格式为 enum枚举类型名称 符号常量1 符号常量2 章节目录 上一页 下一页 枚举常量成员的默认值为0 1 2 可以在定义枚举类型时为

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论