第四讲 C#程序设计基础(三) 精品教程《C#程序设计与应用(第2版)清华大学出版社 谭恒松 主编 课程网站:http://www.zjcourse.com/csharp 第四讲 C#程序设计基础(三) 《C#程序设计》
目录 CONTENTS 学习目标 学习内容 课堂实践
本讲学习目标 AIMS 1 知识目标 掌握数组的使用 能力目标 能够将数组应用到控制语句中 能够对程序进行异常处理 2
数组 CONTENT (1)数组是一组具有相同数据结构的元素组成的有序的数据集合。数组中包含多个数据对象,这些数据对象具有相同的数据类型,每个数据对象叫做数据元素,它占据一块连续的内存空间。数据元素的类型可以是任何一种值类型,可以是类,也可以是数组。 (2)数组中,对数组元素的区分用数组的下标来实现,下标的个数称为数组的维数。数组使用同一个变量名来表示一系列的数据,并用序号来表示同一数组中的不同数组元素。 (3)下标从0开始,即第一个元素的索引为0,第二个为1,以此类推。
数组 CONTENT (1)数组是一组具有相同数据结构的元素组成的有序的数据集合。数组中包含多个数据对象,这些数据对象具有相同的数据类型,每个数据对象叫做数据元素,它占据一块连续的内存空间。数据元素的类型可以是任何一种值类型,可以是类,也可以是数组。 (2)数组中,对数组元素的区分用数组的下标来实现,下标的个数称为数组的维数。数组使用同一个变量名来表示一系列的数据,并用序号来表示同一数组中的不同数组元素。 (3)下标从0开始,即第一个元素的索引为0,第二个为1,以此类推。
数组 一维数组 二维数组 数组初始化 CONTENT int [ ] score ; 二维数组 string[,] names; 数组初始化 int[] arr1 = new int[4];//arr1数组中的每个元素都初始化为0 int[] arr2 = new int[4] { 1, 2, 3, 4 };//分别将大括号后面的值初始化给相应数组
数组 CONTENT 数组的应用: int[] arr = new int[4] { 1, 2, 3, 4 }; int s; s=arr[1]+arr[2]; for (int i; i < arr.Length; i++) { …… }
异常处理 CONTENT 在.NET Framework中,用Exception类表示基类异常,大多数异常对象都是Exception或者某个派生类的实例,可以用以下代码定义一个异常: Exception e;
异常处理 CONTENT 异常处理语句包括: (1)throw,人为发出异常信息。在自定义对象中往往使用它来自定义异常。 (2)try…catch,尝试捕获异常,并处理异常。 (3)try…finally,尝试捕获异常,并执行一些代码,finally中的语句将被执行。 (4)try…catch…finally,尝试捕获异常并处理异常,同时也执行一些代码。
异常处理 CONTENT 例如:将两个数相除,如果除数为0,则给出异常信息。 int i, j; float result=0; i = int.Parse(txtNum1.Text); j = int.Parse(txtNum2.Text); try { result = i / j; } catch (Exception ex) txtMessage.Text = ex.Message; finally txtResult.Text = result.ToString();
学习任务:学生成绩统计程序设计 CONTENT (1)本学习任务需要建立一个学生成绩统计程序,具体是将班级所有学生的成绩输入后再计算出平均成绩和统计高于平均成绩的人数,并将结果输出。 (2)任务分两部分实施,第一部分是先输入每个学生的成绩,即在“请输入学生的成绩”后的文本框中一次输入一个学生的成绩,然后点击“输入”按钮。输完所有的学生成绩后再点击“计算”按钮,即可输出相应的结果。
学习任务:学生成绩统计程序设计 CONTENT 关键代码 在窗体构造函数下面设置两个静态变量,代码如下: static int n=0; static float[] istuScoreSum= new float[100]; private void btnConfirm_Click(object sender, EventArgs e) { istuScoreSum[n] = Convert.ToSingle(txtStuScore.Text); n = n + 1; txtStuScore.Text = ""; txtStuScore.Focus(); }
学习任务:学生成绩统计程序设计 CONTENT 关键代码 拓展:对于输入的成绩大于100分或小于0分的情况进行判断 并给出提示消息框“您的输入不正确,请重新输入!”。 关键代码 private void btnCount_Click(object sender, EventArgs e) { float stuScoreSum = 0; for (int i = 0; i <= istuScoreSum.Length - 1; i++) stuScoreSum = istuScoreSum[i] + stuScoreSum; } float avgScore = stuScoreSum / n; txtAvgScore.Text = Convert.ToString(avgScore); int m = 0; if (istuScoreSum[i] > avgScore) {m = m + 1; } txtOverAvg.Text = Convert.ToString(m);
课堂实践 PRACTICE 题目九:设计一个Windows窗体应用程序,要求从文本框中随机输入一系列的正整数,将其保存在数组中。输入完毕,单击【排序】按钮后对输入的数据进行从小到大的排序,并输出。 题目十:设计一个Windows窗体应用程序,要求由文本框输入一串字符或者数字,将其进行加密,如A变为F,0变为5,并在另外文本框中输出。
THANK YOU 更多资源,请访问课程网站:http://www.zjcourse.com/csharp