项目六 任务一 一维数组(课件)-《算法与程序设计--C#》(河北科学技术出版社)同步精品课堂

| 28页
| 254人阅读
| 6人下载
精品

内容正文:

6.1 一维数组 算法与程序设计--C# 同步精品课堂 河北科学技术出版社 教学目标 一 理解 C# 中一维数组的概念和作用 能够运用一维数组解决简单的实际问题 掌握一维数组的声明、初始化、引用和遍历的方法 教学目标 01 02 03 掌握国家标准《机械制图》中有关图幅、比例、字体图线等基本规定。 教学重难点 二 教学难点 1、一维数组的声明和初始化 2、一维数组元素的引用和遍历 教学重点 1、理解数组在内存中的存储方式 2、灵活运用数组解决实际问题 教学难点 导入新课 三 讨论: 如果我们需要存储100个学生的成绩,如何高效地管理这些数据?如何快速遍历这些成绩并计算总分或平均分? 任务一 1 一维数组 新知讲授 四 数组的概念 数组是一种数据结构,用于存储一组相同类型的元素,这些元素在内存中是连续存储的。 一维数组可以看作是一个线性的列表,每个元素都有一个唯一的索引,用于访问该元素。 ➽ 数组的特点 (1)元素类型相同。 (2)元素存储在连续的内存空间中。 (3)通过索引访问元素。 设计菜单 新知讲授 四 一维数组的声明 ➽ 格式 数据类型 [ ] 数组变量名= new 数据类型[元素个数]; 如: int [] arr = new int [5] 数组变量类型 变量名称 元素个数 含义:定义arr是一个能装入int数据的数组变量,并且用new 在内存中为这个数组开辟了5个int数据的空间 设计菜单 新知讲授 四 一维数组的初始化 ➽ 静态初始化 在声明时直接赋值。 ➽ 语法: 数据类型[] 数组名 = {值1, 值2, ..., 值n}; 数组声明后需要初始化才能使用。 ➽ 示例 int [] arr = {1,2,3,4,5}; 设计菜单 新知讲授 四 一维数组的初始化 ➽ 动态初始化 使用 new 关键字初始化数组。在数组内元素未知情况下,可以先分配好数组空间,等待装入; ➽ 语法: 数据类型[] 数组名 = new 数据类型[长度]; ➽ 示例 int[] scores = new int[3]; // 初始化一个长度为3的整型数组 不同数组类型数组,拥有不同的初始值,如下所示 新知讲授 四 ➽ 动态初始化数组元素默认值 不同数组类型数组,拥有不同的初始值,如下所示 类型 初始值 整数 0 浮点数 0.0 布尔类型 false 字符类型 ‘\0’ 引用类型 null 设计菜单 新知讲授 四 一维数组元素的引用 通过数组名和索引来引用数组中的元素,索引从 0 开始。 ➽语法 数组名[索引]; ➽示例 int firstScore = scores[0]; // 获取第一个元素 ➽注意事项 1、数组索引从 0 开始。 2、索引不能超出数组长度,否则会抛出 IndexOutOfRangeException 异常。 设计菜单 新知讲授 四 一维数组元素的引用 任务:定义一个一维数组,存放3个元素,并将数组中的元素依次输出。 核心代码如下: int [] arr = new int [3]{1, 3, 5}; //访问数组元素 Console.WriteLine(arr[0]); Console.WriteLine(arr[1]); Console.WriteLine(arr[2]); 设计菜单 新知讲授 四 一维数组元素的遍历 数组遍历,是指将数组中存放的每一个元素内容取出来,随后进行使用的过程。 ➽ 用For循环遍历 int[] numbers = { 1, 2, 3, 4, 5 }; for (int i = 0; i < numbers.Length; i++) { Console.WriteLine(numbers[i]); } • 说明:通过 for 循环,使用索引依次访问数组中的每个元素。 设计菜单 新知讲授 四 一维数组元素的遍历 ➽ 用foreach循环遍历 格式:Foreach(数据类型 变量名 in 数组名) 示例: foreach (int score in scores) { Console.WriteLine(score); } • 说明:foreach 循环会自动遍历数组中的每个元素,无需手动管理索引。 设计菜单 新知讲授 四 一维数组元素的遍历 ➽ For循环与foreach循环比较 1、如果不使用每个元素的编号的话,可以选择foreach; 2、foreach当中的n只能读取访问,不能进行赋值; 3、for 循环适合需要索引的场景; 4、foreach 循环适合遍历所有元素; ContextMenuStrip contextMenu = new ContextMenuStrip(); ToolStripMenuItem copyItem = new ToolStripMenuItem("复制"); contextMenu.Items.Add(copyItem); this.ContextMenuStrip = contextMenu; // 绑定到窗体 新知讲授 四 ➽ 任务一:用For语句和foreach语句遍历一维数组 int[] scores = { 88, 56, 98, 89, 66 }。 for (int i = 0; i < scores.Length; i++) { Console.WriteLine("编号" + i); Console.WriteLine("成绩" + scores[i]); } foreach (int n in scores) { Console.WriteLine(n); } 新知讲授 四 任务二 :求一维数组元素的和。 int[] numbers = { 1, 2, 3, 4, 5 }; int sum = 0; for (int i = 0; i < numbers.Length; i++) { sum += numbers[i]; } Console.WriteLine("数组元素的总和是:" + sum); 新知讲授 四 任务三 :查找数组中的最大值 int[] numbers = { 10, 25, 15, 30, 20 }; int max = numbers[0]; for (int i = 1; i < numbers.Length; i++) { if (numbers[i] > max) { max = numbers[i]; } } Console.WriteLine("数组中的最大值是:" + max); 新知讲授 四 综合案例:已知学生成绩为{88,56,98,89,66},请完成如下需求: 1、找出最高成绩,并打印在控制台 2、找出最低成绩,并打印在控制台 3、求出成绩总和,并打印在控制台 4、求出平均分,并打印在控制台 5、求出低于平均分的学生成绩数量 新知讲授 四 综合案例:已知学生成绩为{88,56,98,89,66},请完成如下需求: int [] scores = {88,56,98,89,66}; int maxScore = scores[0]; int minScore = scores[0]; int sum=0; for(int i=0; i< scores.Length; i++){ if(scores[i]> maxScore){ //求最高值 maxScore = scores[i]; } if(scores[i]< minScore){//求最低值 minScore = scores[i]; } sum = sum + scores[i]; } Console.WriteLine("最高成绩为:{0}",maxScore); Console.WriteLine("最低成绩为:{0}",minScore); Console.WriteLine("成绩总和为:{0}",sum); Console.WriteLine("成绩平均分:{0}",sum/scores. Length); 师生互动 五 1、总结一维数组的定义、初始化和遍历的方法 2、总结for循环语句和foreach语句的使用场景 讨论 随堂练习 六 1、在C#中,声明一个长度为10的整型数组的代码是:int[] arr = new int[____]; 答案:10 解析:int[] arr = new int[10]代码定义一个长度为10的整型数组。 2、数组的索引从____开始。 答案:0 解析:数组的索引从0开始。 随堂练习 六 3、整数数组 int[] numbers = {1, 2, 3, 4, 5};,要访问数组中第三个元素,正确的方式是( ) A. numbers[2] B. numbers[3] C. numbers(2) D. numbers{2} 答案:A 解析:在 C# 中,数组的索引是从 0 开始的。 随堂练习 六 4、下列选项中,正确初始化一个包含 3 个元素的字符串数组的是( ) A. string[] arr = {"A", "B", "C"}; B. string[] arr = new string[] {"A", "B", "C"}; C. string[] arr = new string[3] {"A", "B", "C"}; D. 以上都可以 答案:D 解析:C# 支持多种数组初始化方式,以上三种方式都是正确的 随堂练习 六 5、 在C#中,以下代码声明的数组arr的默认值是( ) int[] arr = new int[5]; A. 数组中所有元素的值为null B. 数组中所有元素的值为0 C. 数组中所有元素的值为1 D. 数组中所有元素的值为-1 答案:B 解析:在C#中,数组在声明时会自动初始化所有元素为默认值。对于int类型的数组,默认值为0。 随堂练习 六 6.在 C# 中,数组的Length属性用于获取数组的长度。( ) 7.在 C# 中,数组的元素可以是不同的数据类型。( ) 答案:6. 对 7. 错误 解析: 6.Length用于获取数组的长度。 7.数组的所有元素必须是相同的数据类型。 课堂小结 七 谢谢 $$

资源预览图

项目六   任务一   一维数组(课件)-《算法与程序设计--C#》(河北科学技术出版社)同步精品课堂-第1页
1
项目六   任务一   一维数组(课件)-《算法与程序设计--C#》(河北科学技术出版社)同步精品课堂-第2页
2
项目六   任务一   一维数组(课件)-《算法与程序设计--C#》(河北科学技术出版社)同步精品课堂-第3页
3
项目六   任务一   一维数组(课件)-《算法与程序设计--C#》(河北科学技术出版社)同步精品课堂-第4页
4
项目六   任务一   一维数组(课件)-《算法与程序设计--C#》(河北科学技术出版社)同步精品课堂-第5页
5
项目六   任务一   一维数组(课件)-《算法与程序设计--C#》(河北科学技术出版社)同步精品课堂-第6页
6

由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。