



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1.1 一维数组在实际应用中,经常需要处理一批相互有联系、有一定顺序、同一类型和具有相同性质的数据。例如,1 000个职工的工资、一个班级学生的姓名等。C#提供了数组来保存和处理这类数据。数组是指一组类型相同的数据,每个数据称为一个数组元素。例如,如果上述1 000个职工的工资构成一个数组,则每位职工的工资就是数组元素。1.1.1 一维数组的定义定义一维数组的格式如下:数据类型 数组名其中:l 数据类型可以是C#语言中的各种数据类型,包括数值类型和引用类型。l 方括号”在这里表示是定义一个数组。 例如:int arr; /定义了一个名为arr的整型数组double area; /定义了一个名为area的数组,该数组可用来存放多个double型数string arr2; / 声明一个字符串型的一维数组1.1.2 初始化一维数组定义数组后必须对其初始化(为数组分配内存空间)才能使用。初始数组有两种方法:静态初始化和动态初始化。1. 静态初始化如果数组中包含的元素不多,且初始元素值是已知的,则可以采用静态初始化方法。静态初始化数组时,必须与数组定义结合在一起,否则会报错。静态初始化格式如下:数据类型 数组名=元素1,元素2,元素n;用这种方法对数组进行初始化,无需说明数组元素的个数,只需按顺序列出数组中全部元素即可,系统会自动计算并分配数组所需的内存空间。例如:int arry=1,2,3,4;string str=“优”,”良”,”差”;2. 动态初始化动态初始化需用new关键字将数组实例化为一个对象,再为该数组对象分配内存空间 并为数组元素赋初值。动态初始化数组的格式为:用两条语句实现:数据类型 数组名; /数组定义数组名=new 数据类型表达式; /动态初始化或用一条语句:数据类型数组名=new数据类型表达式; /将数组定义和动态初始化合在一起其中,“表达式”代表着数组长度。它通过计算可以得到整数结果的表达式,且其值不能为负。new运算符用来为数组对象在内存中分配一定的空间。数组占据的内存空间由数组的数据类型和表达式的数值共同决定。例如: /定义了一个名为arr整型数组,只进行了声明,需要的时候再进行实例化int arr; /进行实例化,为arrv数组在内存中分配410个字节的存储空间,元素值均为0arry=new int10;如果需要,也可以在初始化的同时为其赋予其他初始值。程序代码如下:int arry = new int 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ;说明:(1) 静态初始化数组必须与数组定义结合在一条语句中,否则程序会出错。(2) 在数组初始化语句中,如大括号中已明确列出了数组中的元素值,即确定了数组元素个数,则数组元素的个数(方括号中的数值)必须是常量,并且该数值必须与数组元素个数一致。例如:int i=4;int x=new int41,2,3,4; /正确int y=new intil,2,3,4; /错误,i不是一个常量int z = new int3 1, 2, 3, 4 ; /错误,数组元素个数与方括号中数值不一致1.1.3 引用一维数组元素当定义完一个数组,并对其初始化后,就可以引用数组中的元素了。通过数组名和元素的下标来引用数组元素的。一维数组的引用方式是:数组名下标数组的下标是元素的索引值,它代表了要被访问的数组元素在内存中的相对位置,就是从数组的第1个元素到某个数组元素的偏移量。在数组元素的索引是从0而不是1开始的,如数组arr的第1个元素是arr 0,第2个元素是arr 1,依次类推,第n个元素是arr n-l。 在访问数组元素时,要注意不要使下标越界,例如:int A=new int5;A5=15; / 错误,下标越界【例4-1】遍历输出数组中的元素。using System;class Program public static void Main(String args) int a = new int 3, 8, 9, 23, 4 ; for (int i = 0; i a.Length; i+) / Length返回数组元素个数 Console.WriteLine(ai); 【例4-2】输入几位学生的成绩,输出最高成绩。using System;class Program static void Main(string args) int grades = new int5 ; for (int j = 0; j 5; j+) gradesj = int.Parse(Console.ReadLine(); int max = grades0; /max变量用于存放最大数or( int i = 0; while (i grades.Length) if (max gradesi) /如果当前元素ai比max大 max = gradesi; /把当前元素ai的值赋给max i+; Console.WriteLine(最高分为: + max); Console.ReadLine(); 1.1.4 使用foreach遍历数组foreach语句列举出一个集合(collection)的所有元素,并执行关于集合中每个元素的嵌套语句。foreach语句格式如下所示。其格式如下:foreach ( 变量类型 迭代变量 in 集合表达式) 循环体语句块语句中的“迭代变量”是一个循环变量,在循环中,该变量依次获取数组中各元素的值。因此,对于依次获取数组中各元素值的操作,使用这种循环语句就很方便。要注意,“迭代变量”的类型必须与数组的类型一致。foreach语句遍历数组虽然很方便,但其功能受一定的限制,例如,如果想为数组各元素依次有规律赋值,foreach循环将无能为力。【例4-4】计算一维整型数组中奇数的个数和偶数的个数using System;class Program public static void Main(String args) int odd = 0, even = 0; int array = new int 0, 4,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 教育游戏化与学习动机的激发关系
- 抖音商户剪辑师特效使用合理性制度
- 全球铀矿资源分布与核能产业国际合作模式研究报告
- 公交优先战略2025年城市交通拥堵治理的公共交通与共享单车融合报告
- 哈尔滨石油学院《病原生物学与免疫学》2023-2024学年第一学期期末试卷
- 2024年黑龙江省哈尔滨市六十中学九年级化学第一学期期末教学质量检测模拟试题含解析
- 上海立信会计金融学院《大学语文与写作》2023-2024学年第一学期期末试卷
- 安徽冶金科技职业学院《英语教学法》2023-2024学年第一学期期末试卷
- 江苏省常州市武进区2024年七年级数学第一学期期末经典试题含解析
- 广西电力职业技术学院《合唱与合唱指挥1》2023-2024学年第一学期期末试卷
- 2018年上海高考历史试题及答案
- 医疗器械直调管理制度
- 中储粮内控管理地图手册
- 新加坡公司法-英文版
- 医院管理肾内科腹膜透析护理常规
- 自动控制原理浮球液位控制系统课程设计
- 离婚一方财产转移
- 施工总进度计划与进度保证措施
- 铁塔组立施工合同
- 隧道施工安全技术教育培训记录(共19页)
- (完整版)四川建龙软件全套表格
评论
0/150
提交评论