《数组枚举与结构》PPT课件.ppt

上传人:tia****nde 文档编号:6393404 上传时间:2020-02-24 格式:PPT 页数:27 大小:507.50KB
返回 下载 相关 举报
《数组枚举与结构》PPT课件.ppt_第1页
第1页 / 共27页
《数组枚举与结构》PPT课件.ppt_第2页
第2页 / 共27页
《数组枚举与结构》PPT课件.ppt_第3页
第3页 / 共27页
点击查看更多>>
资源描述
1 数组 结构和枚举 第三章 2 数组 数组是一组具有相同类型和名称的变量的集合 组成数组的这些变量称为数组元素 可以通过数组名数组下标 或者叫索引值 来访问数组元素 对于每一维中 数组中数组元素的个数叫这个维的数组长度 无论是一维数组还是多维数组 每个维的下标都是从0开始 结束于这个维的数组长度减1 3 一维数组的声明 声明一维数组的格式如下 数组类型 数组名 例 int a string arr char carr 4 一维数组的初始化 1 静态初始化数组的静态初始化必须与数组定义结合在一起 语法格式如下 数组类型 数组名 元素1 元素2 例 int IntArr 45 9 29 32 46 char StringArr a b c d 5 一维数组的初始化 2 动态初始化当数组元素个数较多且不能穷举时 可以使用动态初始化 动态初始化需要借助new运算符 为数组元素分配内存空间 并为数组元素赋初值 数值类型初始化为0 布尔类型初始化为false 字符串类型初始化为null 动态初始化数组的格式如下 数组名 new数据类型 数组长度 例 a newint 5 6 一维数组的初始化 2 动态初始化也可以将定义和动态初始化写在一起 数组类型 数组名 new数据类型 数组长度 例 double f1 newdouble 5 string arr newstring 3 as vb 23 也可动态初始化并赋初值 7 一维数组的使用 定义并初始化数组后就可以访问数组元素了 访问数组元素是通过数组名和下标来实现的 数组元素的下标可以是整形常量 变量 也可以是整形类型的表达式 例 str 0 str 2 str i str 2 i 1 举例 见课本L3 1 8 二维数组的声明 声明二维数组的格式如下 数组类型 数组名 逗号隔开每一维 其它同一维例 int a string arr 9 二维数组的初始化 1 静态初始化同一维数组一样 二维数组的静态初始化也必须与数组定义结合在一起 语法格式如下 数组类型 数组名 例 int score 76 67 88 89 10 二维数组的初始化 2 动态初始化动态初始化数组的格式如下 数组名 new数据类型 数组长度1 数组长度2 例 a newint 2 5 11 二维数组的初始化 2 动态初始化也可以将定义和动态初始化写在一起 数组类型 数组名 new数据类型 数组长度 例 double d2 newdouble 2 3 double d3 newdouble 2 2 1 2 2 3 动态初始化并赋初值 12 二维数组的使用 定义并初始化数组后就可以访问数组元素了 访问数组元素是通过数组名和下标来实现的 数组元素的下标可以是整形常量 变量 也可以是整形类型的表达式 例 str 1 2 str 2 i str 2 i 1 1 举例 运用二维数组打印杨辉三角形111121133114641 13 数组与Array类 Array类的Length属性获取数组中元素的个数 格式如下 数组名 LengthArray类的Sort 方法对一维数组中的元素进行排序 格式如下 Array Sort 数组名 Array类的BinarySearch 方法使用二进制算法 在已排序的一维数组中查找 找到给定的值后返回元素的下标 否则返回负数 格式如下 Array BinarySearch 数组名 待查找值 14 枚举 枚举类型是用户自定义的数据类型 是一种允许用符号代表数据的值类型 C 中 枚举是从System Enum类继承而来的 使用枚举类型 就可以将一年的四季分别用符号Spring Summer Autumn和Winter来表示 将一个星期的7天分别用符号Monday Tuesday Wednesday Thursday Friday Saturday和Sunday来表示 有助于用户更好地阅读和理解程序 15 枚举的声明 声明枚举类型必须使用Enum关键字 语法格式如下 enum枚举名 枚举成员名称1 枚举成员名称2 说明 声明枚举类型时 必须带上enum关键字 枚举名必须是C 中合法的标识符 枚举类型中定义的所有枚举值都默认为整型 由一对花括号 和 括起来的部分是枚举成员表 枚举成员通常用用户易于理解的标识符字符串表示 它们之间用逗号隔开 与定义结构类型一样在花括号 后 可以选择带或不带 符号 16 枚举举例 下面是一个定义枚举类型的例子 enumWeekDay Sun Mon Tue Wed Thu Fri Sat 上面的语句中定义了一个名称为WeekDay的枚举类型 它包含Sun Mon Tue Wed Thu Fri Sat这7个枚举成员 有了上述定义 WeekDay本身就成了一个类型说明符 此后就可以像常量那样使用这些符号 两个枚举成员名不能完全相同 17 枚举成员的赋值 在定义的枚举类型中 每一个枚举成员都有一个相对应的常量值 如 enumWeekDay Sun Mon Tue Wed Thu Fri Sat 中 其枚举成员Sun Mon Tue Wed Thu Fri和Sat在执行程序时 分别被赋予整数值0 1 2 3 4 5和6 对于枚举成员对应的常量值 默认情况下C 规定第1个枚举成员的值取0 它后面的每一个枚举成员的值按加上1递增 18 为某一枚举成员赋值 如果在定义枚举类型时 直接为某个枚举成员赋值 则其他枚举成员依次取值 如 enumcolor yellow brown blue black 6 purple 如果为某一个 不是按第1个 枚举成员赋值 则从第1个枚举成员到被赋值的枚举成员前的那个枚举成员是按默认方式赋值的 即第1个枚举成员yellow的值为0 后面的枚举成员则依次往上加1 被赋值的枚举成员取赋给它的值 即black 6 它后面的枚举成员则在所赋值基础上依次加1 19 为多个枚举成员赋值 在定义枚举类型时 还可以为所有枚举成员赋值 此时可以不遵从按次序取值的原则 如 enumcolor yellow brown 3 blue black 3 purple 如果为某几个枚举成员赋值 则被赋值的枚举成员取所赋给它的值 其后的枚举成员的值依次加1 在第1个被赋值的枚举成员之前的枚举成员 按默认方式赋值 20 例 输出枚举成员对应的整数值 usingSystem enumcolor yellow brown 3 blue black 3 purple classEnumDemo staticvoidMain Console WriteLine yellow 0 color yellow Console WriteLine yellow 0 int color yellow Console WriteLine brown 0 int color brown Console WriteLine blue 0 int color blue Console WriteLine black 0 int color black Console WriteLine purple 0 int color purple 21 举例 usingSystem enumWeekDay 星期日 星期一 星期二 星期三 星期四 星期五 星期六 classTest staticvoidMain WeekDaya for inti 0 i 7 i a WeekDay i Console WriteLine 0 t 1 int a a 22 结构 在C 中可以使用数组来存储许多类型和意义相同的相关信息 但是如果有些数据信息由若干不同数据类型和不同意义的数据所组成 如一个学生的个人记录可能包括 学号 姓名 性别 年龄 籍贯 家庭住址 联系电话等 这些信息的类型不完全一样 就不能通过定义一个数组来存储一个学生的所有信息了 这时 就可以用C 提供的结构类型有组织地把这些不同类型的数据信息存放到一起 结构类型是指把各种不同类型数据信息组合在一起形成的组合类型 结构是用户自定义的数据类型 使用结构类型可以方便地存储多条不同类型的数据 23 结构的声明 结构类型必须先声明后使用 声明结构类型时要使用struct关键字 声明结构类型的语法格式如下 struct结构名称 结构成员定义 说明 1 struct关键字表示声明的是一种结构类型 2 标识符必须是C 合法的标识符 它用来在程序中唯一确定所定义的结构 3 由一对花括号括起来的部分称为结构体 它定义了结构中所包含的各种成员 24 例 定义一个学生结构类型Student 包括 学号 姓名 年龄和所在系等信息 structStudent 定义名为Student的结构 publiclongno publicstringname publicintage publicstringuniversity 定义结构的方法成员publicvoidstructmethod 方法可执行代码 在上面定义的结构语句中 在结构体中定义了结构的数据成员及方法成员 25 结构成员的访问 结构成员可分为两类 一是实例成员 一是静态成员 若成员名前有static关键字 则该成员为静态成员 否则为实例成员 静态成员通过结构名来访问 而实例成员的访问是通过创建结构类型的变量来访问的 创建结构类型的变量的一般形式如下 结构名结构变量名 说明 结构名为已声明的结构类型的名称 结构变量名必须是C 合法的标识符 它用来表示结构类型的变量 26 结构应用示例 虽然结构是值类型 但在语法上常常可以把它当做类来处理 可以认为是一个缩小的类 但是结构和类还是有区别的 请同学们思考 结构与类的区别 27
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


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

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


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