第4章Visual C#NET案例教程(翁健红.ppt
《第4章Visual C#NET案例教程(翁健红.ppt》由会员分享,可在线阅读,更多相关《第4章Visual C#NET案例教程(翁健红.ppt(56页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第4章 数组 第第4 4章章 数组数组 4.1 任务描述 4.2 一维数组 4.3 二维数组 4.4 学生信息的数据存储与处理 4.5 习题 第4章 数组 在学生成绩管理系统中,我们要录入许多学生的信息,包括学号、姓名、语文成绩与英语成绩,如表4-1所示。如果所有这些数据,都分别用一个单独的变量来存储,那么,需要定义的变量非常多,不利于处理。我们可以利用C#语言提供的数组这种数据类型,来解决学生数据的存储问题。数组可以是一维数组,也可以是多维数组。存储二维表格的学生数据需要使用二维数组,下面先介绍一维数组的使用,在此基础上再介绍二维数组。4.1 4.1 任任 务务 描描 述述第4章 数组 表表
2、4-1 成成 绩绩 信信 息息第4章 数组 4.2.1 一维数组的定义一维数组的定义定义一维数组的格式如下:数据类型 数组名;其中:数据类型可以是C#语言中的各种数据类型,包括数值类型和引用类型。方括号“”在这里表示是定义一个数组。4.2 4.2 一一 维维 数数 组组第4章 数组 例如:int arr;/定义了一个名为arr的整型数组double area;/定义了一个名为area的数组,该数组可用来存放多个double型数string arr2;/声明了一个字符串型的一维数组第4章 数组 4.2.2 初始化一维数组初始化一维数组定义数组后只有对其进行初始化(为数组分配内存空间)后才能使用。
3、初始化数组有两种方法:静态初始化和动态初始化。1.静态初始化静态初始化如果数组中包含的元素不多,且初始元素值是已知的,则可以采用静态初始化方法。静态初始化数组时,必须与数组定义结合在一起,否则会出错。静态初始化格式如下:数据类型 数组名=元素1,元素2,元素n;第4章 数组 用这种方法对数组进行初始化,无需说明数组元素的个数,只需按顺序列出数组中全部元素即可,系统会自动计算并分配数组所需的内存空间。例如:int arry=1,2,3,4;string str=优,良,差;第4章 数组 2.动态初始化动态初始化动态初始化需用new关键字将数组实例化为一个对象,再为该数组对象分配内存空间 并为数组
4、元素赋初值,动态初始化数组的格式如下。用两条语句实现:数据类型 数组名;/数组定义数组名=new 数据类型表达式;/动态初始化或用一条语句实现:数据类型数组名=new数据类型表达式;/将数组定义和动态初始化结合在一起第4章 数组 new运算符用来为数组对象在内存中分配一定的空间。数组占据的内存空间由数组的数据类型和表达式的数值共同决定。例如:/定义了一个名为arr的整型数组,只进行声明,需要时再实例化intarr;/进行实例化,为arrv数组在内存中分配410个字节的存储空间,元素值均为0arry=new int10;如果需要,也可以在初始化的同时为其赋其他初始值。程序代码如下:int arr
5、y=new int 1,2,3,4,5,6,7,8,9,10;第4章 数组 说明:(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;/错误,数组元素个数与方括号中数值不一致第4章 数组 4.2.3 引用一维数组元素引用一维数组元
6、素当定义完一个数组并对其初始化后,就可以引用数组中的元素了。可通过数组名和元素的下标来引用数组元素。一维数组的引用方式是:数组名下标;第4章 数组 数组的下标是元素的索引值,代表了要被访问的数组元素在内存中的相对位置,就是从数组的第1个元素到某个数组元素的偏移量。数组元素的索引是从0而不是1开始的,如数组arr的第1个元素是arr 0,第2个元素是arr 1,依次类推,第n个元素是arr n-l。在访问数组元素时,要注意不要使下标越界,例如:int A=new int5;A5=15;/错误,下标越界第4章 数组【例4-1】遍历输出数组中的元素。using System;class Progra
7、m 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-1所示。第4章 数组 图4-1 例4-1运行结果第4章 数组【例4-2】输入几位学生的成绩,输出最高成绩。using System;class Program static void Main(string args)int grades=new int5;for(int j=0;j 5;j+)gradesj=int.Pars
8、e(Console.ReadLine();int max=grades0;/max变量用于存放最大数 int i=0;第4章 数组 while(i grades.Length)if(max gradesi)/如果当前元素ai比max大 max=gradesi;/把当前元素ai的值赋给max i+;Console.WriteLine(最高分为:+max);Console.ReadLine();运行结果如图4-2所示。第4章 数组 图4-2 例4-2运行结果第4章 数组【例4-3】使用“冒泡”法进行排序(由小到大)。冒泡排序又称简单交换排序。其基本思想是对存放原始数据的数组,按从后往前的方向进行多
9、次扫描,每次扫描称为一趟排序,当发现相邻两个数据的次序与排序要求不符时,将这两个数据交换。这样,较小的数据就会逐单元往前移动,好象气泡往上浮一样。第4章 数组 如图4-3所示。现有5个数,第1趟将9和7对调,然后将 9和4对调,得到38749的顺序,可以看出:最大的数9已“沉底”,成为最下面一个数;而小的数“上升”,如4向上“浮起”一个位置,所以这种排序方法叫“冒泡”法。经过一趟得到最大的数,然后进行第二趟比较,对余下的4个数再按上述方法进行比较,依次类推,直到最后得到一个有序的序列。“冒泡”的过程如下:第4章 数组 原顺序:3 8 9 7 4第1趟:3 8 7 4 9第2趟:3 7 4 8
10、9第3趟:3 4 7 8 9第4趟:3 4 7 8 9第4章 数组 算法代码如下:using System;class Program public static void Main(String args)int a=new int 3,8,9,7,4;int n=a.Length;Console.WriteLine(-排序排序前的数据-);for(int j=0;j n;j+)/显示排序前的数据 Console.Write(0t,aj);第4章 数组 Console.WriteLine(n-排序过程-);for(int i=1;i n;i+)/进行n-1趟排序 for(int j=0;j
11、aj+1)/前大后小,交换 /交换元素 int temp;temp=aj;aj=aj+1;aj+1=temp;第4章 数组 for(int j=0;j n;j+)/显示排序后的结果 Console.Write(0t,aj);Console.WriteLine();Console.WriteLine(-排序后的结果-);for(int j=0;j n;j+)/显示排序后的结果 Console.Write(0t,aj);Console.Read();运行结果如图4-3所示。第4章 数组 图4-3 例4-3运行结果第4章 数组 4.2.4 使用foreach遍历数组foreach语句列举出一个集合(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第4章Visual C#NET案例教程翁健红 Visual NET 案例 教程 翁健红
限制150内