版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第14页第1页课题第一讲任务1.1_安装VisualStudio集成开发环境课型理论授课班级授课时数1教学目标1.了解VisualStudio.NET集成开发环境(IDE)2.了解.NETFrameWork的作用3.会在官方网站下载最新版本的集成开发环境的安装文件4.会安装VisualStudio.NET集成开发环境(IDE)的安装教学重点了解C#程序开发的必备条件认识和熟悉VisualStudio.NET集成开发环境(IDE)掌握.NET集成开发环境的安装教学难点无学情分析学生已经学习过《计算机基础》,对于在网站上搜索指定资源有一定的经验,会安装一般的软件,对于VisualStudio.NET集成开发环境的安装一般可以较好掌握。教学效果教后记提出任务完成VisualStudio集成开发环境的安装和配置。完成.NETFrameWork的安装。二、任务分析安装开发环境,首先需要获得安装文件。安装文件的来源:产品光盘下载安装文件,注意版权保护C#应用程序的运行二、任务实施演示:播放安装过程的视频文件,了解安装步骤。提示:安装VisualStudio集成开发环境的同时,安装.NETFrameWork。学生操作:在自己的电脑中练习安装开发环境,教师进行指导,直至测试运行成功。相关知识点:C#与.NET框架(了解)MicrosoftVisualStudio简介第1页课题任务1.2创建第一个C#应用程序课型理论授课班级授课时数1教学目标1.进一步熟悉VisualStudio.NET集成开发环境(IDE)2.会在.NET开发环境中创建控制台应用程序3.了解.NET项目的文件组成结构4.了解C#程序的基本结构和框架教学重点1.VisualStudio.NET集成开发环境(IDE),掌握控制台应用程序的创建方法2.C#应用程序的结构和基本框架教学难点1.理解并掌握C#程序结构,区别于C语言程序结构的不同点学情分析第一学期学生已经系统地学习了C语言知识,建立了程序设计的基本思想,对程序设计课程形成了自己的观点,或喜欢、或讨厌、或恐惧,学生们刚接触新的一门编程语言,重视那些对课程学习缺乏自信的同学,以鼓励为主,调动学生学习C#的积极性。以C语言为依照,介绍C#程序与C程序的异同点,通过指导学生亲手编写代码,调试成功第一个应用程序建立学生对课程学习的自信心。教学效果教后记一、导入1.C#语言的发展历史(1)C——1972年至1973年间,贝尔实验室的D.M.Ritchie在B语言的基础上设计出了C语言(取BCPL的第二个字母)。是面向过程的语言,目前主要应用在系统底层和单片机上的开发。(2)C++——读音,Cplusplus,含义,但++的主要含义是指对C的扩充。不同是c++是面向程序设计的,而c不是。c++是对c的补充.增加了许多内容.但基本的语句大多是相同的。(3)C#——读音,Csharp,C#是C++的下一个产品,就是“C++++”,而“#”可以看成是4个“+”,上面两个下面两个。sharp还有锋利的意思,也就是说它是开发程序的利刃,让你开发起来游刃有余。Microsoft.NET平台上的一门语言,2000年由微软件推出的一门全新的语言。是纯面向对象的,以.NETFramework为基础。2.学习C#的理由“在企业计算领域,C#将会变成为用于编写下一代窗口服务"(NextGenerationWindowsServices,简写为NGWS)应用程序的主要语言。”C#语言自C/C++演变而来。但是,它现代、简单、完全面向对象和类型安全。如果曾经是C/C++程序员,学习曲线将会很平坦。3.C#语言的优势简单现代面向对象类型安全版本控制兼容灵活二、新授1.提出本课任务使用VisualSiudio集成开发环境创建一个控制台应用程序,在控制台输出“HelloWorld!”。2.任务分析(1)在哪里编写代码——创建代码文件首先创建一个空的控制台应用程序,然后编写程序代码并编译运行程序,从而实现在控制台输出信息。C#应用程序的三种常见类型:(一般用C#编写以下三种类型的应用程序)控制台应用程序Windows应用程序ASP.NETWeb应用程序3.任务实现步骤一:新建项目。步骤二:进入开发界面步骤三:编写代码4.知识点讲解(1).using指令引用一个由Microsoft.Net框架类库提供的、名为System的命名空间,此命名空间包含Main()方法中引用的Console类。(2).命名空间(namespace)为了避免名称冲突,把一个类放在一个名称空间中,这个类的全称为:名称空间名+“.”+类本身的名称。如:namespaceMicrosoft{namespaceUser{classMyClass{……}}}类MyClass的全名是Microsoft.User.MyClass类(class)C#的每一个程序至少包含一个自定义类,用关键字class引导,用{}来包含类体中的代码。Main()方法程序的入口点,当程序执行时,首先从Main()方法开始执行,Main()方法一定被包含的类中。控制台I/O输出——Console.Write()和Console.WriteLine()方法(自动换行);输入——Console.Read()和Console.ReadLine()方法(自动换行);(6)注释单行注释//多行注释/*……*/文档注释///课堂练习:编写一个控制台应用程序,在屏幕上输出一首你所熟悉的古诗或其他文字。三、课堂小结1.VisualStudio.NET集成开发环境(IDE)2.用C#创建、编译和执行简单的.NET应用程序3.命名空间、类、Main()方法、注释四、课后作业请说明Main方法的作用。请说明哪个类可在命令窗口中显示信息,哪个类可输入信息?//是什么符号?有什么作用?using关键字的含义是什么?5.创建一个控制台应用程序,在Main()方法中输入以下代码:Console.Write("您好!");Console.WriteLine("欢迎光临!");6.创建一个控制台应用程序,在屏幕中输出如图所示的图形。第1页课题任务2.1打印系统主菜单课型理实一体化授课班级授课时数1教学目标1.进一步熟悉VisualStudio.NET集成开发环境(IDE)2.进一步了解.NET项目的文件组成结构3.进一步了解C#程序的基本结构和框架4.掌握输入输出方法教学重点1.输入输出方法教学难点1.理解并掌握C#控制台输入输出操作,区别于C语言的不同点学情分析教学效果教后记一、新授1.提出任务在本任务中,将实现“学生社团管理系统”主菜单的显示功能,系统主菜单如图所示。2.实现步骤步骤一:新建一个控制台应用程序项目StudentClubMis。步骤二:修改文件名。步骤三:在Main()主方法中编写如下代码,实现系统菜单的打印。1.Console.WriteLine("##########欢迎使用学生社团管理系统##########");2.Console.WriteLine("**");3.Console.WriteLine("*1.用户登录*");4.Console.WriteLine("*2.退出*");5.Console.WriteLine("**");6.Console.WriteLine("********************************************");7.Console.Write("请选择(1-2):");步骤四:保存并运行程序。二、同步训练1.在StudentClubMis项目中,创建AdminMenu.cs类文件,实现在屏幕上输出“学生社团管理系统”的管理员用户菜单,运行结果如图2-1-8所示。图2-1-8管理员菜单2.在StudentClubMis项目中,创建UserMenu.cs类文件,在屏幕上输出“学生社团管理系统”的普通用户菜单,运行结果如图2-1-9所示。图2-1-9普通用户菜单课堂小结1.C#程序基本结构2.C#输出语句第1页课题任务2.2定义数据类型课型理实一体化授课班级授课时数2教学目标1.了解数据类型分类2.掌握变量与常量的含义、声明和使用3.了解变量的命名规则和命名规范4.了解C#运算符,掌握算术运算符和关系运算符的使用5.初步掌握使用Convert类进行数据转换的方法教学重点1.掌握数据类型、常量、变量的概念及变量的定义和使用方法2.掌握运算符的优先级和结合性的概念;3.掌握不同数据类型相互的转换方法教学难点1.不同数据类型转换在应用程序中的灵活应用学情分析教学效果教后记一、新授1.提出任务在本任务中,为社团成员设定基本属性,如学号、姓名、性别、生日等,并把这些信息保存成不同类型的数据,由键盘输入某位社团成员的基本信息并输出显示在屏幕上。2.任务分析社团人员的基本属性包含编号、姓名、性别、年龄等。这些不同的属性可以用不同的数据类型来表示,信息的接收和保存需要用变量来实现。3.实现步骤步骤一:在StudentClubMis项目中新建Student.cs文件。步骤二:在Student类中添加Main方法,编写代码,定义变量。1.classStudent2.{3.staticvoidMain(string[]args)4.{5.stringname; //声明变量name(姓名)为字符串类型6.stringsex; //声明变量sex(性别)为字符串类型7.intage; //声明变量age(年龄)为整型8.DateTimebirthday; //声明变量birthday(出生日期)为日期时间型9.}10.}步骤三:编写代码,接收键盘输入信息并按格式输出。1.classStudent2.{3.staticvoidMain(string[]args)4.{5-8.……9.Console.WriteLine("*******录入成员基本信息*******");10.Console.Write("姓名:");11.name=Console.ReadLine();12.Console.Write("性别:");13.sex=Console.ReadLine();14.Console.Write("年龄:");15.age=Convert.ToInt32(Console.ReadLine());16.Console.Write("出生日期(如2000-12-16):");17.birthday=Convert.ToDateTime(Console.ReadLine());18.Console.WriteLine();19.Console.WriteLine("***********成员基本信息表***********");20.Console.WriteLine("姓名\t性别\t年龄\t出生日期\t");21.Console.WriteLine("{0}\t{1}\t{2}\t{3}",name,sex,age,birthday.ToShortDateString());22.Console.ReadLine();23.}24.}步骤四:测试运行。4.知识点讲解(1).C#中的基本数据类型a.数据类型的基本分类“值类型”在它自己的内存分配中存储数据;“引用类型”包含指向存储数据的其他内存位置的指针(地址);数值类型不可能派生出新的类型,而引用类型则能指向新的数据对象;数值类型不能包含null值,而引用类型可以。b.几种重要数据类型介绍整数类型浮点类型float:32位单精度浮点类型,后缀F或fdouble:64位双精度浮点类型后缀D或ddecimal类型精度更高的浮点数,专门用于财务计算的类型,128位。布尔类型bool,用来表示真和假这两个概念。真用true表示,假用false表示。字符类型char,用来表示单个字符,它是一个16位的Unicode,不再是8位的ASCII码,用来表示世界上多数已知的书面语言。字符串类型C#中提供自己的string类型,简化对字符串的操作,如复制,连接等。如:stringstr1=“abcd”;stringstr2=“efg”;stringstr3=str1+str2;(2).变量与常量变量是在程序运行过程中,其值可以改变的数据。变量必须先声明后使用。变量的命名规则:变量名的第一个字符必须是字母、下画线,其后的字符可以是字母、下画线或数字。变量名不能是C#的关键字。常量就是在程序运行过程中,其值保持不变的量。常量有直接常量和符号常量两种。①直接常量。直接常量即数据值本身。②符号常量。用户定义符号常量是由用户根据需要自行创建的常量。用户定义符号常量使用const关键字。语法格式:const类型名称常量名=常量表达式;(3).数据类型转换隐式转换。隐式转换是系统自动执行的数据类型转换。隐式转换的基本原则是允许数值范围小的类型向数值范围大的类型转换,允许无符号整数类型向有符号整数类型转换。显式转换。显式转换也叫强制转换,是在代码中明确指示将某一类型的数据转换为另一种类型。显式转换的一般格式为:(数据类型名称)数据。使用特定方法进行数据类型转换。使用Convert类进行数据类型的转换。同步训练在StudentClubMis项目中,创建ClubMember.cs类文件,添加Main方法,要求输入某个学生的基本信息,并显示该学生的信息(信息包含学号、年级、系部编号、专业编号、姓名、年龄、出生日期、性别、家庭地址、联系电话等,数据类型自定),如图2-2-7所示。图2-2-7运行结果四、课后作业1.创建一个控制台应用程序,要求用户输入两个整型数据,并显示它们的乘积,运行结果如图2-2-5所示。图2-2-5运行结果2.创建一个控制台应用程序,要求用户输入直角三角形的两条直角边长,求出该三角形的面积,运行结果如图2-2-6所示。图2-2-6运行结果教师备课首页苏州工业职业技术学院教师备课首页SuzhouInstituteOfIndustrialTechnology第1页课题任务2.3模拟用户登录课型理实一体化授课班级授课时数2教学目标了解C#中的运算符和表达式,掌握运算符的使用了解程序设计的三大基本结构3了解选择结构if语句的作用,掌握if语句的基本语法3.能使用if语句解决编程中的选择性问题教学重点选择语句if的基本用法3.使用条件语句if解决简单的实际问题教学难点1.条件语句灵活应用2.条件语句嵌套使用学情分析教学效果教后记一、新授1.提出本课任务实现用户登录的基本功能(用户分为管理员和普通用户,假设管理员的用户名为和密码均为Admin,普通用户的用户名和密码分别均为User)。2.任务分析当用户选择主菜单项时,将使用分支语句(if语句)进行判断,并根据用户输入进入对应的操作;当用户登录时,将用户输入数据与正确账号进行匹配,并输出验证结果,也将使用if语句来实现。3.实现步骤步骤一:在StudentClubMis项目中新建Login.cs文件。步骤二:编写代码,实现用户登录的基本功能。namespaceStudentClubMis{classLogin{staticvoidMain(string[]args){Console.WriteLine("\t#########欢迎使用学生社团管理系统##########");Console.WriteLine("\t**");Console.WriteLine("\t*1.用户登录*");Console.WriteLine("\t*2.退出*");Console.WriteLine("\t**");Console.WriteLine("\t*******************************************");Console.WriteLine();Console.Write("请选择(1-2):");Stringchoice=Console.ReadLine();if(choice=="1"||choice=="2")//如果选择的是1或2将执行以下语句块{if(choice=="1"){Console.Write("请输入用户名:");stringuserName=Console.ReadLine();Console.Write("密码:");stringuserPass=Console.ReadLine();if(userName=="Admin"&&userPass=="Admin"){Console.WriteLine("{0},欢迎使用本系统!",userName);}elseif(userName=="User"&&userPass=="User"){Console.WriteLine(userName+",欢迎使用本系统!");}else{Console.WriteLine("用户名或密码错!");}}if(choice=="2"){Console.WriteLine("谢谢使用!");}}else{Console.WriteLine("输入错误!");}Console.ReadLine();}}}步骤三:保存并运行程序。4.知识点讲解(1)运算符和表达式运算符的分类。根据运算符作用的操作数个数来划分运算符的类型,C#中有3种类型的运算符。①一元运算符。一元运算符作用于一个操作数据,包括前缀运算符和后缀运算符。②二元运算符。二元运算符作用于两个操作数据,使用时在操作数中间插入运算符。③三元运算符。C#中仅有一个三元运算符“?:”,三元运算符作用于3个操作数,使用时在操作数中间插入运算符。关系运算符关系运算符包括>(大于)、>=(大于等于)、<(小于)、<=(小于等于)、==(等于)、!=(不等于)。运算符的优先级(2)顺序结构顺序结构是指程序的执行按照语句行的先后次序、自上而下地进行,不遗漏任何代码。它是最简单的一种结构。(3)选择结构选择结构是指程序根据条件从一系列可能被执行的操作中选择一种操作来执行。(4)if语句if语句是最常用的选择语句,它的功能是根据所给定的条件(关系、布尔表达式表示)是否满足,决定是否执行后面的操作,或执行哪个操作。if语句主要有以下三种常见格式:格式一:非对称的if语句if(表达式)语句块格式二:对称的if语句if(表达式)语句块1else语句块2非对称的if语句流程图对称的if语句流程图说明:无论P条件是否成立,只能执行A操作或B操作中的一个;无论执行完哪一个分支后,就结束了。两个操作可以有一个是空操作,即不执行任何操作条件判断的结果是逻辑值:成立或不成立,在程序中用“真”(true)和“假”(false)来表示。if…else结构可以实现两路分支选择结构。C#语言也允许if…else结构的嵌套。即在语句1与语句2中又可以包含完整的if语句或if…else结构,并且,这种嵌套可以多层。利用if…else结构的嵌套,可以实现多路分支选择结构。格式三:if语句的嵌套if(表达式)if(表达式)嵌套的if语句语句块1else语句块2else语句块3二、课堂小结1.运算符和表达式2.if语句三、课后作业1.创建一个控制台应用程序,要求用户输入两个整型数据,求出这两个数的较小数,运行结果如图2-3-3所示。2.创建一个控制台应用程序,根据性别,身高及体重,显示身高体重比是否正常。计算公式如下:身高和体重比例正常范围:|身高-105-体重|<=2(男性)|身高-110-体重|<=2(女性)运行结果如图2-3-4所示。图2-3-3运行结果图2-3-4运行结果教师备课首页苏州工业职业技术学院教师备课首页SuzhouInstituteOfIndustrialTechnology第1页课题任务2.4选择菜单课型理实一体化授课班级授课时数1教学目标进一步了解程序设计的三大基本结构2.了解选择结构语句switch的作用,掌握switch语句的基本语法3.能使用switch语句解决实际问题教学重点1.选择控制结构中switch语句的基本语法2.使用条件语句和多重选择语句编写程序解决简单的实际应用教学难点无学情分析教学效果教后记一、新授1.提出本课任务在本任务中,将在任务2.3的基础上,使用多分支语句实现普通用户菜单选择的功能(普通用户菜单包括社团成员管理、活动管理、活动考勤与统计及退出等)。2.任务分析当用户选择菜单项时,由于菜单项数量较多,相应选择的分支就比较多,嵌套的if语句层数就会很多,导致程序冗长,可读性下降。使用多分支语句(switchcase语句)来实现用户菜单选择的功能。3.实现步骤步骤一:打开项目,修改Login.cs文件代码。将任务2.3中创建的代码作简要修改,当用户登录成功后,根据用户类型显示相应菜单步骤二:使用switchcase多分支语句实现普通用户菜单选择。步骤三:保存并运行程序。3.知识点讲解(1)多分支语句switchswitch语句非常类似于if语句,它也是根据测试的值有条件地执行代码,但switch语句可以一次将测试变量与多个值进行比较,而不是仅测试一个条件,所以又叫多分支语句。switch语句的基本结构如下:switch(测试变量){case常量1:语句块1;break;case常量2:语句块2;break;…case常量n:语句块n;break;default:语句块n+1;break;}与C语言中switch语句不用的是,这里每个分支语句块后的break不可省略,否则将产生的“无法从一个case标签贯穿到另一个case标签的”编译错误。二、同步训练使用多分支语句实现管理员用户菜单选择的功能(管理员用户菜单包括社团信息管理、系统用户管理及退出),运行结果如图2-4-4所示。图2-4-4管理员用户菜单选择三、课后作业1.一年四季,按照农历一般规定1~3月为春季,4~6月为夏季,7~9月为秋季,10~12月为冬季,创建一个控制台应用程序,实现当输入农历月份(1~12)时,输出对应的季节,运行结果如图2-4-2所示。2.某航空公司规定:根据月份与订票张数决定机票价格的优惠率,在旅游的旺季7~9月份,订票超过20张,票价优惠15%,20张以下,优惠5%;在旅游的淡季1~5月、10月、11月,如果订票数超过20张,票价优惠30%,20张以下,优惠20%;其他情况一律优惠10%。创建一个控制台应用程序,当输入月份和订票数时,输出优惠率,运行结果如图2-4-3所示。图2-4-2运行结果图2-4-3运行结果教师备课首页苏州工业职业技术学院教师备课首页SuzhouInstituteOfIndustrialTechnology第1页课题任务2.5菜单重现课型理实一体化授课班级授课时数2教学目标进一步了解程序设计的三大基本结构2.了解选择循环语句while、do-while的作用,掌握它们基本语法3.能使用while、do-while及for语句解决编程开发中的循环问题教学重点1.选择控制结构中循环语句的基本语法2.使用循环语句编写程序解决简单的实际应用教学难点1.while语句和do-while语句的异同2.使用循环语句编写程序解决简单的实际应用学情分析教学效果教后记一、新授1.提出本课任务本任务将实现主菜单及用户菜单的重现功能,通过与用户的交互,实现对系统功能的灵活使用。2.任务分析循环允许我们多次执行一个语句或语句组,实现某些规律性的重复操作。菜单的重现即重复执行菜单显示的相关语句,何种条件下执行,重复执行多少次,都可以利用C#循环语句来控制。3.实现步骤步骤一:在Login.cs文件中编写代码,定义bool类型变量isExit。boolisExit=false;步骤二:添加while循环语句的代码,实现主菜单循环显示。步骤三:添加dowhile循环语句的代码,实现子菜单循环显示。do//循环显示普通用户菜单{Console.WriteLine("****欢迎使用学生社团管理系统***");Console.WriteLine("*****当前权限:普通用户****");Console.WriteLine("**");Console.WriteLine("*1.社团成员管理*");Console.WriteLine("*2.社团活动管理*");Console.WriteLine("*3.活动考勤统计*");Console.WriteLine("*0.退出*");Console.WriteLine("**");Console.WriteLine("************************************");Console.Write("请选择(0-3):");intmenuNo=int.Parse(Console.ReadLine());switch(menuNo){case0:choice="2"break;case1:Console.WriteLine("欢迎进入社团成员管理!");break;case2:Console.WriteLine("欢迎进入社团活动管理!");break;case3:Console.WriteLine("欢迎进入活动考勤统计!");break;default:Console.WriteLine("输入有误!");break;}if(menuNo!=0){Console.WriteLine("继续吗?(Y/N)");answer=Console.ReadLine();while(answer!="Y"&&answer!="N"){Console.WriteLine("输入有误请重输!");answer=Console.ReadLine();}}}while(answer=="Y");步骤四:保存并运行程序。3.知识点讲解(1)循环语句C#中提供了4种循环语句:while循环、do…while循环、for循环和foreach循环。while循环while循环常用于循环次数未知的情况,在进入循环时先判断循环条件,当循环条件满足时,进入循环,否则退出循环。while循环也被称为“当”型循环while循环的语法格式while(条件表达式){循环语句序列}do…while循环do…while循环也用于无法预知循环次数的情况,和while循环不同的是,do…while循环是在循环体执行结束时对循环条件进行测试。do…while循环的语法格式:do{循环语句序列}while(条件表达式);for循环语句for循环适合于“已知循环次数”的循环。①for循环的语法格式for(循环初始值;循环条件;改变循环变量的值)foreach循环foreach循环可以使用一种简单的语法来定位数组和集合中的每个元素。foreach循环的语法格式foreach(类型变量名in表达式){循环语句序列}(2)多重循环在程序设计过程中,常常需要使用循环的嵌套来处理重复操作。当一个循环(称为“外循环”)的循环语句序列内包含另一个或若干个循环(称为“内循环”)时,称为循环的嵌套,这样的语句结构称为多重循环结构。二、课后作业1.某培训机构2018年培训学员4万人,按每年25%的增长速度,到哪一年培训学员人数超过20万人?2.编写程序,依次输入10位学员的英语成绩(需提示当前是第几个学员),计算班级学员的英语平均成绩。3.创建一个控制台应用程序,要求输出一个等腰三角形图案,运行结果如图2-5-4所示。图2-5-4运行结果教师备课首页苏州工业职业技术学院教师备课首页SuzhouInstituteOfIndustrialTechnology第1页课题任务2.6社员信息管理课型理实一体化授课班级授课时数3教学目标了解C#中的结构2.了解数组的概念,掌握数组的定义和元素访问的方法3.能定义结构,能声明并访问数组教学重点1.结构的定义2.数组的声明和访问教学难点1.数组遍历2.数组查询学情分析教学效果教后记一、新授1.提出本课任务本任务中实现对批量成员信息的录入保存、信息浏览及查询等,并通过菜单调用这些功能2.任务分析社团成员包含姓名、性别等多项信息,使用结构类型可将这些信息集中成一个整体,而批量数据的保存可以通过结构体数组来实现,通过循环语句实现社员信息的浏览和查询。3.实现步骤步骤一:在StudentClubMis项目中新建StudentManage.cs文件。boolisExit=false;步骤二:添加Main方法,编写代码,实现输出社团成员管理菜单的功能。classStudentManage{staticvoidMain(string[]args){stringanswer="";do{Console.WriteLine("***********欢迎使用学生社团管理系统***********");Console.WriteLine(">>社员管理");Console.WriteLine("*1.添加社员*");Console.WriteLine("*2.社员列表*");Console.WriteLine("*3.社员查询*");Console.WriteLine("**********************************************");Console.Write("请选择(1-3):");stringchoice=Console.ReadLine();switch(choice){case"1":Console.WriteLine("添加成员!");break;case"2":Console.WriteLine("成员列表!");break;case"3":Console.WriteLine("成员查询!");break;default:Console.WriteLine("输入有误!");break;}Console.WriteLine("继续吗?(Y/N)");answer=Console.ReadLine();while(answer!="Y"&&answer!="N"){Console.WriteLine("输入有误请重输!");answer=Console.ReadLine();}}while(answer=="Y");}}步骤三:在Main方法外部,创建表示社团成员的结构体StudentpublicstructStudent //声明结构类型Student2.{3.publicstringname; //姓名;4.publicstringsex; //性别5.publicintage; //年龄6.publicDateTimebirthday; //出生日期; 7.}步骤四:声明社团数组,编写代码,实现添加社员、浏览和查询。具体代码见教材步骤五:保存并运行程序3.知识点讲解(1)结构结构(struct)是由一系列具有相同类型或不同类型的数据构成的数据集合。结构类型声明的语法格式:访问修饰符struct结构名{成员变量;}访问成员变量的语法格式:结构变量名.成员变量(2)数组数组是由一组类型相同的有序数据构成,是一个下标变量的列表,存储在数组类型的变量中。一个数组可以含有若干个下标变量(或称数组元素),下标用来指出某个数组元素在数组中的位置。一维数组的声明声明一维数组的格式为:访问修饰符类型名称[]数组名;数组在声明后必须实例化才可以使用。实例化数组的格式为:数组名称=new类型名称[无符号整型表达式];访问数组使用数组名与下标可以唯一确定数组中的某个元素,从而实现对该元素的访问。转向语句转向语句用于改变程序的执行流程。C#提供了许多可以立即跳转的语句,常用的有break语句和continue语句。break语句break语句在多分支选择(switch)语句中的作用是跳出switch语句,它也可以用于中断循环,使循环不再执行,且程序流将继续执行紧接着循环的下一条语句。continue语句continue语句类似break语句,但它不是强迫终止,continue语句作用是结束本次循环,跳过该语句之后的循环语句,返回到循环的起始处,并根据循环条件决定是否执行下一次循环。二、同步训练在本任务基础上,实现如下功能,根据菜单选择查询的关键字,然后查询社团成员的基本信息,运行结果如图2-6-3所示。图2-6-3运行结果三、课后作业1.创建一个控件台应用程序,要求产生10个随机整数(1~100),将这10个数从小到大输出,运行结果如图2-6-4所示(产生随机数的方法:Random随机对象名称=newRandom();再使用Next()方法)。图2-6-4运行结果2.创建一个控制台应用程序,实现如下功能:某次程序大赛,3个班级各4名学员参赛,计算每个班参赛学员的平均分,运行结果如图2-6-5所示。图2-6-5运行结果3.创建一个控制台应用程序,能实现如下功能,显示5个学员3门成绩的平均分及每门课的平均分,运行结果如果2-6-6所示。图2-6-6运行结果教师备课首页苏州工业职业技术学院教师备课首页SuzhouInstituteOfIndustrialTechnology第1页课题3.1创建学生类课型理实一体化授课班级授课时数4教学目标1.了解类和对象的概念以及类和对象的关系2.掌握类的声明方式及类的实例化方法3.了解类的主要成员(字段、属性、方法、构造方法等)4.能根据需求来创建类,封装字段,创建方法;5.能实例化类的对象,并使用构造方法初始化对象教学重点1.类的声明2.对象的创建3.方法(构造方法)的定义教学难点面向对象思想的理解学情分析教学效果教后记一、新授1.提出本课任务创建“学生社团管理系统”学生类,编写测试程序,并编译、运行该应用程序。测试程序结果如图所示。2.任务分析类是具有相同属性和行为(或者称之为方法)的一组对象的集合。本课任务是创建一个Student(学生类),它的结构可以用类图来表示,如图所示。3.任务实施步骤一:创建解决方案和实体类库项目。步骤二:创建解决方案和实体类库项目。步骤三:添加类的字段。1.publicclassStudent2.{3.stringstudentid; //学号4.stringname; //姓名5.stringsex; //性别6.DateTimebirthday; //出生日期7.stringgrade; //年级8.intdepartmentid; //系部代码9.intprofessionid; //专业代码10.}步骤四:添加类的属性(封装字段)。publicclassStudent2.{3.……//字段部分4.publicstringStudentID //学号属性5.{6.get{returnstudentid;}7.set{studentid=value;}8.}9.publicstringName //姓名属性10.{11.get{returnname;}12.set{name=value;}13.}14.publicstringSex //性别属性15.{16.get{returnsex;}17.set{sex=value;}18.}19.publicDateTimeBirthday //出生日期属性20.{21.get{returnbirthday;}22.set{birthday=value;}23.}24.publicstringGrade //年级属性25.{26.get{returngrade;}27.set{grade=value;}28.}29.publicintDepartmentID //系部代码属性30.{31.get{returndepartmentid;}32.set{departmentid=value;}33.}34.publicintProfessionID //专业代码属性35.{36.get{returnprofessionid;}37.set{professionid=value;}38.}39.}步骤五:添加ShowInfo()方法。1.publicclassStudent2.{3.……//字段部分4.……//属性部分5.6.publicvoidShowInfo()7.{8.Console.WriteLine("学号:"+this.StudentID);9.Console.WriteLine("姓名:"+this.Name);10.Console.WriteLine("性别:"+this.Sex);11.Console.WriteLine("出生日期:"+this.Birthday.ToShortDateString());12.Console.WriteLine("年级:"+this.Grade);13.Console.WriteLine("系部代码:"+this.DepartmentID);14.Console.WriteLine("专业代码:"+this.ProfessionID);15.}16.}步骤六:添加构造方法。1.publicclassStudent2.{3.……//字段部分4.……//属性部分5.……//自定义方法6.7.publicStudent(stringsid,stringname,stringsex,DateTimebirthday,stringgrade,intdeptid,intprofessionid)8.{9.this.StudentID=sid;//this关键字引用类的当前实例10.this.Name=name;//它的值是对该构造对象的引用11.this.Sex=sex;12.this.Birthday=birthday;13.this.Grade=grade;14.this.DepartmentID=deptid;15.this.ProfessionID=professionid;16.}17.}步骤七:新建测试项目,并添加项目引用。步骤八:编写测试代码,创建类的对象。1.usingModel;//引用命名空间2.namespaceTest3.{4.classProgram5.{6.staticvoidMain(string[]args)7.{8.Studentstu1=newStudent();//创建对象9.stu1.StudentID="19435432";10.stu1.Name="李小天";11.stu1.Sex="女";12.stu1.Birthday=Convert.ToDateTime("2000-8-1");13.stu1.Grade="2019";14.stu1.DepartmentID=1;15.stu1.ProfessionID=1;16.DateTimedt2=Convert.ToDateTime("2001-4-8");17.Studentstu2=newStudent("18623405","张小明","男",dt2,"2018",2,3);//创建对象18.stu1.ShowInfo();//调用方法19.stu2.ShowInfo();//调用方法20.Console.ReadLine();21.}22.}23.}步骤九:设置启动项目,并运行。4.知识点讲解(1)类(class)和对象(Object)对象是一个自包含的实体,用一组可识别的特性和行为来标识。将现实中的对象经过抽象,映射为软件中的对象。对象的两个特征:特性和行为以车为例:特性:红色的,车牌为888;行为:它可以加速、减速、刹车、停车(2)类(class)概念:对具有相同特性和行为的一个或多个类似对象的描述。类是定义同一类所有对象的变量和方法的蓝图或原型。类是某一类事务的描述,是抽象的、概念上的定义。(3)类和对象的关系对象是实际存在的该类事务的个体,是由类定义所产生出来的实例。类是对象的模板,一个类可以对应多个对象。(4)类的声明和对象的创建类的声明语法格式:[访问修饰符]class<类名>{类体;——用于对类的数据成员和成员方法进行声明并指定这些类成员的访问级别}例1:声明一个客户类。classCustomer{ publicstringName; privatedecimal creditLimit; privateuint customerID;}例2:声明一个汽车类。classVehicles{ publicstringBrand;//字段 publicstringNumber; privateintspeed; voidBack()//方法 {MessageBox.Show(“backing!”);}}创建类的对象创建对象运算符:new语法格式:格式一:<类名><对象名>=new<类名>();格式二:<类名><对象名>;<对象名>=new<类名>();类成员的访问类成员访问运算符号“.”语法格式:<对象名>.<成员名>例3:创建Vehicles类的对象mycar,并为其成员赋值。Vehiclesmycar=newVehicles();mycar.Brand=“TOYOTA”;mycar.Number=“苏ES7678”;mycar.speed=80;(5)类成员的访问修饰符访问修饰符可访问性说明public公共可以任意访问private私有只能被本类访问protected保护只能被本类及其子类访问internal内部只可以被本程序集内所有类访问protectedinternal内部保护只被本程序集内所有的类和这些类的子类访问方法类的方法就是这个类所具有的行为、功能和能力。方法的声明。方法是按照一定格式组织的一段程序代码,在类中用方法声明的方式来定义。语法形式如下:方法修饰符返回类型方法名(形参列表){方法体}(7)构造方法构造方法(也称为构造函数)是在创建类的对象时执行的方法。构造方法具有与类相同的名称,它通常初始化新对象的数据成员。构造方法声明的语法形式如下:构造方法修饰符标识符(参数列表){语句块}二、同步训练1.创建User类(用户类),类图如图3-1-13所示,字段描述如表3-1-5所示。图3-1-13User类图字段类型字段名说明intuserid用户编号stringusername用户名stringpwd密码stringrole用户类型2.创建Club类(社团类),类图如图3-1-14所示,字段描述如表3-1-6所示。图3-1-14Club类图字段类型字段名说明intclubid社团编号stringclubname社团名称stringteachername指导老师姓名DateTimeFounddate成立日期stringintroduction社团介绍三、课后作业1.创建一个长方体类Cuboid,类图如3-2-8所示,类的定义中包含字段、属性和构造函数。构造方法有无参和带参构造方法。此外,再定义一个求长方体体积的方法Cubage。教师备课首页苏州工业职业技术学院教师备课首页SuzhouInstituteOfIndustrialTechnology第1页课题3.2创建社员类课型理实一体化授课班级授课时数4教学目标1.了解面向对象编程中的继承2.了解继承中的父类、子类、虚方法、方法重写等概念3.掌握base关键字的使用,能正确使用base关键字调用父类方法教学重点1.继承的实现2.继承机制的理解教学难点继承的理解学情分析教学效果教后记一、新授1.提出本课任务本任务将创建“学生社团管理系统”社员类,编写测试程序,并编译、运行该应用程序,运行结果如图3-2-1所示。图3-2-1测试程序运行结果2.任务分析我们在创建社团成员类时,可以基于学生类来创建,避免重复开发,用面向对象的观点来说,就是“继承”。本节任务要创建一个社团成员类,类结构图如图所示。3.任务实施步骤一:新建ClubMember类文件。步骤二:实现类的继承。步骤二:创建解决方案和实体类库项目。步骤三:为ClubMember类添加新字段。1.publicclassClubMember:Student2.{3.intclubid; //社团编号4.stringqq; //QQ号码5.stringphone; //联系电话6.stringpic; //照片路径7.stringhobby; //兴趣爱好8.stringmemo; //备注9.}步骤四:添加类的属性(封装字段)。步骤五:声明构造方法。1.……2.publicClubMember(){}//定义无参构造方法3.4.//定义带参构造方法5.publicClubMember(stringsid,stringname,DateTimebirthday,stringsex,stringgrade,intdeptid,intprofessionid,intclubid,stringqq,stringphone,stringpic,stringhobby,stringmemo)6.:base(sid,name,sex,birthday,grade,deptid,professionid)7.{8.this.ClubID=clubid;9.this.QQ=qq;10.this.Phone=phone;11.this.Pic=pic;12.this.Hobby=hobby;13.this.Memo=memo;14.}步骤六:编写测试代码。1.namespaceTest2.{3.classProgram4.{5.staticvoidMain(string[]args)6.{7. DateTimedt=Convert.ToDateTime("2001-4-8");8.ClubMembercm=newClubMember("18623405","张小明","男",dt,"2018",2,3,1,"3456543000",,"zxm.jpg","打球","一级运动员");9.cm.ShowInfo();10.Console.ReadLine();11.}12.}13.}步骤七:保存并运行程序。4.知识点讲解(1)继承的概念当一个类A能够获取另一个类B中所有非私有的数据和操作的定义作为自己的部分或全部成分时,就称这两个类之间具有继承关系。被继承的类B称为父类或超类,继承了父类或超类的数据和操作的类A称为子类。(2)继承的实现一般基类都可以通过继承关系来产生子类。在声明子类时,子类名称后紧跟一个冒号,冒号后指定基类的名称。语法格式如下:访问修饰符class派生类名:基类名{//类体}(3)继承的规则和特点C#中的继承具备以下特点:继承是可传递的。如果C从B中派生,B又从A中派生,那么C不仅继承了B中声明的成员,同样也继承了A中的成员。派生类应当是对基类的扩展。派生类可以添加新的成员,但不能除去已经继承的成员的定义。构造方法和析构函数不能被继承。除此以外的其他成员,不论对它们定义了怎样的访问方式,都能被继承。基类中成员的访问方式只能决定派生类能否访问它们。派生类如果定义了与继承而来的成员同名的新成员,就可以覆盖已继承成员。(4)基类成员修饰符修饰符类内部子类其他类public可以可以可以private可以不可以不可以protected可以可以不可以(5)继承中的构造方法使用base关键字调用基类的构造方法。方法方法方法1.classCircle2.{3.intraduis;4.publicCircle(intraduis)5.{6.this.raduis=raduis;7.}8.}9.classCylinder:Circle10.{11.intheight;12.//使用base关键字调用基类构造方法13.publicCylinder(intraduis,intheight):base(raduis)14.{15.this.height=height;16.}17.}多个基类构造方法的调用。当基类的构造方法不止一个时,此时根据base关键字后传递的参数的个数、参数的次序、类型来确定到底调用基类的哪个构造方法。隐式调用基类的构造方法。如果基类没有定义构造方法,此时在实例化派生类对象时将会隐式调用基类的无参构造方法。如果基类定义了构造方法,但不含无参数的构造方法,此时在派生中定义带参数的构造方法时,就会出现编译错误。(6)虚方法与方法重写虚方法:若一个实例方法的声明中含有virtual修饰符,则称该方法为虚方法。在该方法所在的派生类中,就可以使用override或者new关键字来重写这个方法。虚方法的声明格式:publicvirtual方法名称(参数列表){...}方法重写:在派生类中声明与基类同名的方法,也叫方法重写。派生类中的方法重写声明格式:publicoverride方法名称(参数列表){...}二、课后作业1.创建一个正方体类Cube,类图如3-2-8所示,该类继承自Cuboid类。该类包含无参和带参构造方法,要求通过base关键字调用Cuboid类构造方法。此外,重写基类的求长方体体积的虚方法,实现求正方体体积的方法。图3-2-8类图教师备课首页苏州工业职业技术学院教师备课首页SuzhouInstituteOfIndustrialTechnology第1页课题3.3创建社员管理数据访问接口课型理实一体化授课班级授课时数4教学目标1.了解接口的概念和作业2.掌握接口的声明方法3.掌握接口的实现方法教学重点1.接口的声明2.接口的实现教学难点接口的理解学情分析教学效果教后记一、新授1.提出本课任务本任务将创建“学生社团管理系统”社员管理的数据访问接口,编写测试程序,并编译、运行。接口成员结构如图所示。2.任务分析C#接口(interface)用来定义一种程序的协定。实现接口的类或者结构要与接口的定义严格一致,使用接口可以使程序更加清晰和条理化。3.任务实施步骤一:。步骤二:创建接口IMemberService。步骤二:创建解决方案和实体类库项目。步骤三:声明接口中的成员。1.publicinterfaceIMemberService2.{3.//根据社团编号获取所有社员信息4.ArrayListGetAllMembers(intclubid);5.6.//根据社员编号获得社员信息7.ClubMemberGetMemberByID(stringid);8.9.//添加社员10.boolAddMember(ClubMembermember);11.12.//修改社员13.boolUpdateMember(ClubMembermember);14.15.//根据编号删除社员16.boolDeleteMember(stringid);17.}步骤四:添加项目引用。在接口方法声明中,由于用到Model项目及其他命名空间的类,因此需要添加引用。usingModel;usingSystem.Collections;步骤五:创建MemberManageTest类实现接口IMemberService。1.classMemberManageTest:IMemberService2.{3.//获取所有社员信息4.publicArrayListGetAllMembers(intclubid)5.{6.Console.WriteLine("查询所有成员信息!");7.returnnull;8.}9.//根据编号获得社员信息10.publicClubMemberGetMemberByID(stringid)11.{12.Console.WriteLine("查询编号"+id+"的成员!");13.returnnull;14.}15.//添加社员16.publicboolAddMember(ClubMembermember)17.{18.Console.WriteLine("添加新社员"+member.Name+"成功!");19.returntrue;20.}21.//修改社员22.publicboolUpdateMember(ClubMembermember)23.{24.Console.WriteLine("修改社员"+member.Name+"成功!");25.returntrue;26.}27.28.//根据编号删除社员29.publicboolDeleteMember(stringid)30.{31.Console.WriteLine("删除编号"+id+"社
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 主扇风机操作工风险评估能力考核试卷含答案
- 滴水法松香工岗前岗位安全考核试卷含答案
- 变压器处理工安全实操评优考核试卷含答案
- 汽车零部件再制造工岗前合规化考核试卷含答案
- 栓皮制品工岗位异常处置考核试卷含答案
- 泵装配调试工岗前基础评估考核试卷含答案
- 印泥制作工技术传承考核试卷含答案
- 招聘师岗前生产标准化考核试卷含答案
- 提琴制作工工作质量强化考核试卷含答案
- 熔炼浇注工岗中能力考核试卷含答案
- 2026年秋国开电大形势与政策大作业答案
- 吸入性肺炎诊断和治疗中国专家共识(2025版)
- 2026年黑龙江省齐齐哈尔市中考英语试卷附答案
- 第8课《咏雪》课件(共25张)
- 2027届新高考语文热点精准复习 古诗鉴赏:+比较鉴赏+知同辨异
- 2026东方电气风电限公司招聘63人易考易错模拟试题(共500题)试卷后附参考答案
- 小班美工《图形添画》课件
- 职场动物进化手册
- 超星尔雅学习通《工程伦理(浙江大学)》2025章节测试答案
- 系统工程课件完整版
- 七年级上册英语阅读还原50题含答案
评论
0/150
提交评论