第3章-C#程序设计ppt课件

上传人:txadgkn****dgknqu... 文档编号:240616243 上传时间:2024-04-25 格式:PPT 页数:263 大小:1.77MB
收藏 版权申诉 举报 下载
第3章-C#程序设计ppt课件_第1页
第1页 / 共263页
第3章-C#程序设计ppt课件_第2页
第2页 / 共263页
第3章-C#程序设计ppt课件_第3页
第3页 / 共263页
资源描述:

《第3章-C#程序设计ppt课件》由会员分享,可在线阅读,更多相关《第3章-C#程序设计ppt课件(263页珍藏版)》请在装配图网上搜索。

1、软件技术专业剖析报告软件技术专业剖析报告 软件教研室软件教研室 李李 萍萍2006年年5月月 _C#第第3 3章章 C#C#程序设计语言程序设计语言讲课教师:周志德讲课教师:周志德软件技术专业剖析报告 软件教研室 李 萍11、了了解解C#C#程程序序组组成成中中解解决决方方案案、项项目目、类类、窗窗体体、函函数数等等基基本本概念和对应文件;概念和对应文件;2、了了解解C#的的数数据据类类型型,变变量量和和常常量量定定义义,公公用用函函数数、语语句句表表达式与程序书写规则;达式与程序书写规则;3、掌握赋值、分支、循环等语句的格式与使用方法;、掌握赋值、分支、循环等语句的格式与使用方法;4、掌掌握

2、握数数组组、数数组组列列表表、类类、接接口口、委委托托、命命名名空空间间等等概概念念与与使用方法。使用方法。5、学会、学会用类与对象设计学生成绩管理程序用类与对象设计学生成绩管理程序(解决方案)。(解决方案)。教学要求教学要求1、了解C#程序组成中解决方案、项目、类、窗体、函数等基本概21、采采用用类类比比教教学学法法,即即以以C+中中的的程程序序组组成成、语语法法、语语义义与与算算法为例,引出法为例,引出C#中有关:中有关:(1)程序结构;)程序结构;(2)数据类型、表达式;)数据类型、表达式;(3)流程控制语句;)流程控制语句;(4)数组类型;)数组类型;(5)类、对象、接口与委托;)类、

3、对象、接口与委托;(6)命名空间;)命名空间;的概念与使用方法。的概念与使用方法。2、采用理实一体化的教学方法。、采用理实一体化的教学方法。教学方法教学方法1、采用类比教学法,即以C+中的程序组成、语法、语义与算法31、类与对象、类与对象(1)类类(Class):数据成员(属性):数据成员(属性)+成员函数(方法)成员函数(方法)Class Class;(2)对象(对象(Object):;(3)对象成员调用:)对象成员调用:.;.();();相关术语相关术语1、类与对象相关术语42、命名空间、命名空间命名空间由若干个类的定义组成命名空间由若干个类的定义组成,如命名空间,如命名空间System由

4、由Math、String、DateTine、Double等类的定义组成。等类的定义组成。定义格式:定义格式:namespace 定义;定义;定义;定义;相关术语相关术语2、命名空间相关术语5C+工工 程程文文件件(.dsw)源文件源文件1(.cpp)源文件源文件2(.cpp)源文件源文件n(.cpp)编译预处理命令编译预处理命令函数函数1函数函数n函数函数2函数说明部分函数说明部分函数体函数体数据定义数据定义执行语句执行语句图图3.1 C+程序组成程序组成C+程序组成程序组成问题:问题:C#程序如何组成?答:解决方案程序如何组成?答:解决方案(.sln)3.1 C#3.1 C#程序组成程序组成

5、C+工程文件(.dsw)源文件1源文件2源文件n编译预63.1 C#3.1 C#程序组成程序组成图图3.2 C#程序(解决方案)的组成程序(解决方案)的组成普通类普通类1(*.cs)(class)普通类普通类m(*.cs)(class)窗体类窗体类1(*.cs)(Form)窗体类窗体类k(.cs)(Form)引用命名空间引用命名空间(using)定义项目命名空间定义项目命名空间(namespace)定义类定义类(class)定义成员函数定义成员函数(方法方法)定义数据成员定义数据成员(属性属性)解决方案解决方案(.sln)(solution)C#项目项目1(*.csproj)(class pr

6、oject)C#项目项目i(*.csproj)(class project)C#项目项目n(*.csproj)(class project)定义窗体类定义窗体类(Form.cs)窗体设计类窗体设计类(.Designer.cs)窗体资源(窗体资源(.resx)函数声明函数声明变量声明变量声明函数体函数体引用命名空间引用命名空间定义项目命名空间定义项目命名空间定义窗体类定义窗体类定义全局变量定义全局变量定义函数程序定义函数程序定义事件驱动程序定义事件驱动程序3.1 C#程序组成图3.2 C#程序(解决方案)的组成普通7图图3.3 C#程序(解决方案)的组成程序(解决方案)的组成引用命名空间引用命名

7、空间定义窗体类定义窗体类定定义义事事件件驱驱动动程序程序解决方案解决方案ex3_1.sln项目项目ex3_1.csproj引用命名空间引用命名空间定义窗体类定义窗体类(.cs)项目主程序项目主程序.cs定义普通类定义普通类.cs窗体设计类窗体设计类窗体资源类窗体资源类定义项目命名空间定义项目命名空间ex3_1图3.3 C#程序(解决方案)的组成引用命名空间定义窗体类定83.1 C#3.1 C#程序组成程序组成3.1.1 C#程序组成程序组成1、解决方案(、解决方案(.sln)Visual Studio 2005将将C#应用程序称为解决方案。应用程序称为解决方案。如:学生档案查询解决方案如:学生

8、档案查询解决方案ex2_5.sln;由图由图3.23.2可知可知C#C#解决方案由一个或多个解决方案由一个或多个C#C#项目组成。项目组成。在解决方案中添加新项目的方法在解决方案中添加新项目的方法:菜单菜单|文件文件|添加添加|新建项目新建项目|在对话框中选择在对话框中选择:Visual C#、Windows应用程序、位置,输入项目名称。应用程序、位置,输入项目名称。3.1 C#程序组成3.1.1 C#程序组成93.1 C#3.1 C#程序组成程序组成【例【例3-1(1)】创建解决方案】创建解决方案ex3_1.sln,在在ex3_1.sln中添加项目中添加项目ex3_1_2。(1)创建解决方案

9、)创建解决方案ex3_1.sln菜单菜单|文件文件|新建新建|项目项目|新建项目对话框,设置如下:新建项目对话框,设置如下:项目类型:项目类型:Visual C#,模板:,模板:Windows应用程序应用程序位置:位置:c:C#,名称:名称:ex3_1|确定。确定。(2)在窗体)在窗体Form1中添加一个中添加一个label与一个与一个Butoon,双击按钮,编写事双击按钮,编写事件驱动程序:件驱动程序:private void button1_Click(object sender,EventArgs e)label1.Text=学习学习C#程序组成!程序组成!;3.1 C#程序组成【例3-

10、1(1)】创建解决方案ex3_1103.1 C#3.1 C#程序组成程序组成(3)在)在ex3_1.sln中添加项目中添加项目ex3_1_2菜单菜单|文件文件|添加添加|新建项目新建项目|添加新项目对话添加新项目对话框,设置如下:框,设置如下:项目类型:项目类型:Visual C#,模板:,模板:Windows应用程应用程序,位置:序,位置:c:C#名称:名称:ex3_2|确定。确定。此时,解决方案此时,解决方案ex3_1.sln中出现项目中出现项目ex3_1与与ex3_1_2,如图如图3.4所示,即解决方案所示,即解决方案ex3_1.sln由两由两个项目个项目ex3_1与与ex3_1_2组成

11、。组成。图图3.4 解决方案解决方案ex3_1.sln由由项目项目ex3_1与与ex3_1_2组成组成3.1 C#程序组成(3)在ex3_1.sln中添加项目ex113.1 C#3.1 C#程序组成程序组成2、项目、项目(.csproj)(1)项目组成)项目组成由图由图3.2可知可知C#C#项目由若干普通类项目由若干普通类(class)(class)与窗体类与窗体类(Form)(Form)组成组成。C#的项目是以命名空间的形式定义的。的项目是以命名空间的形式定义的。在项目中可以添加新窗体与新类。在项目中可以添加新窗体与新类。添加新窗体的方法添加新窗体的方法菜单菜单|项目项目|添加添加Windo

12、ws窗体窗体|输入窗体名输入窗体名|添加添加添加新类的方法添加新类的方法菜单菜单|项目项目|添加类添加类|输入类名输入类名|添加。添加。3.1 C#程序组成2、项目(.csproj)123.1 C#3.1 C#程序组成程序组成【例【例3-1(2)】在项目在项目ex3_1 添加一个新窗体添加一个新窗体Form2与一个类与一个类class1。(1)添加新窗体)添加新窗体Form2:菜单菜单|项目项目|添加添加Windows窗体窗体|输入窗体名输入窗体名 Form2|添加。添加。(2)添加新类)添加新类class1菜单菜单|项目项目|添加类添加类|输入类名输入类名class1|添加。添加。添加后项目

13、添加后项目ex3_1由属性、引用、类由属性、引用、类class1.cs、窗体、窗体Form1.cs与与Form2.cs、程序、程序Program.cs组成。组成。图图3.5 项目项目ex3_1添加窗体添加窗体Form2与类与类class13.1 C#程序组成【例3-1(2)】在项目ex3_1 添加133.1 C#3.1 C#程序组成程序组成(2)资源管理器中项目内容)资源管理器中项目内容 l项目文件(项目文件(.csproj),如:如:ex3_1.csprojl属性:属性:Propertiesl引用引用:,如:,如:System Systeml窗体窗体(.cs),(.cs),如:如:Form1

14、.csForm1.cs窗体设计类(窗体设计类(.Designer.cs);如如:Form1.Designer.cs窗体资源类(窗体资源类(.resx);如如:Form1.resxl类类(.cs)(.cs),如,如Program.csProgram.csl其它其它(*.config,*.xml,*.ico,)3.1 C#程序组成(2)资源管理器中项目内容 14(3)项目命名空间的定义)项目命名空间的定义C#项目中所有类与窗体都被定义在项目命名空间内。如项目中所有类与窗体都被定义在项目命名空间内。如:打开项目打开项目ex3_1中类中类class1的代码编辑器可看的代码编辑器可看ex3_1命名空间的

15、定义代码如下:命名空间的定义代码如下:sing System;/引用系统类组成的命名空间引用系统类组成的命名空间Systemusing System.Collections.Generic;using System.Text;namespace ex3_1namespace ex3_1 /定义项目命名空间定义项目命名空间ex3_1 class Class1class Class1 /定义类定义类Class1 3.1 C#3.1 C#程序组成程序组成(3)项目命名空间的定义3.1 C#程序组成153.1 C#3.1 C#程序组成程序组成打开项目打开项目ex3_1中窗体中窗体Form1的代码编辑器

16、可看的代码编辑器可看ex3_1命名空间的定义命名空间的定义代码如下:代码如下:using System;/引用系统类组成的命名空间引用系统类组成的命名空间Systemusing System.Windows.Forms;/引用窗体类组成的命名空间引用窗体类组成的命名空间Formsnamespace ex3_1namespace ex3_1 /定义项目命名空间定义项目命名空间ex3_1 /由由Form公有公有派生出窗体类派生出窗体类Form1 public partial class Form1class Form1:Form public Form1()/定义窗体类定义窗体类Form1的构造函

17、数的构造函数 InitializeComponent();/调用函数初始化窗体与控件调用函数初始化窗体与控件 /该函数在该函数在Designer.cs文件中执行文件中执行3.1 C#程序组成打开项目ex3_1中窗体Form1的代码163、命名空间、命名空间(1)命名空间是类的定义集合)命名空间是类的定义集合如:系统命名空间如:系统命名空间System由由Math、String、DateTine、Double等公共类的等公共类的定义组成。在代码编辑器中输入定义组成。在代码编辑器中输入System后用成员运算后用成员运算“.”可显示其所有公共可显示其所有公共类类Math等,如图等,如图3.6所示。

18、所示。再如,项目命名空间再如,项目命名空间ex3_1由由Class1、Form1、Form2、Program类的定义组类的定义组成。成。3.1 C#3.1 C#程序组成程序组成图图3.6 System中的类中的类3、命名空间3.1 C#程序组成图3.6 System中的类17(2)命名空间的定义格式)命名空间的定义格式namespace 定义;定义;定义;定义;如:项目如:项目ex3_1的命名空间定义如下:的命名空间定义如下:namespace ex3_1 class Class1 public class Form1:Form public class Form2:Form static c

19、lass Program 说明:说明:实际类、窗体、程序的实际类、窗体、程序的ex3_1命名空间的定义是分开。命名空间的定义是分开。3.1 C#3.1 C#程序组成程序组成(2)命名空间的定义格式3.1 C#程序组成183.1 C#3.1 C#程序组成程序组成4 4引用定义引用定义在在C+中,当要使用输入输出对象中,当要使用输入输出对象cin、cout时,必须先用时,必须先用#include将头文件将头文件iostream.h包含到程序中来。包含到程序中来。#include void main(void)int a;cina;cout“a=”aendl;3.1 C#程序组成4引用定义193.1

20、 C#3.1 C#程序组成程序组成同样同样当使用命名空间中的类时,必须先引用命名空间后使用类当使用命名空间中的类时,必须先引用命名空间后使用类。命名空间引用定义格式:命名空间引用定义格式:using 如在项目如在项目ex3_1的命名空间定义前,定义引用:的命名空间定义前,定义引用:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;3

21、.1 C#程序组成同样当使用命名空间中的类时,必须先引用命20定义定义System等命名空间引用后,在后续代码中等命名空间引用后,在后续代码中,可以使用可以使用 System、System.Windows.Forms这些命名空间中的类。这些命名空间中的类。实验:实验:在代码编辑器中,对下列引用定义语句作注解处理在代码编辑器中,对下列引用定义语句作注解处理 /using System.Windows.Forms;则生成解决方案时:因为找不到基类则生成解决方案时:因为找不到基类Form,定义窗体类的语句:,定义窗体类的语句:public partial class Form1:Form 出错!出错

22、!且且Form1Form1窗体设计器不能使用窗体设计器不能使用!3.1 C#3.1 C#程序组成程序组成定义System等命名空间引用后,在后续代码中,可以使用 S213.1 C#3.1 C#程序组成程序组成5 5、窗体、窗体(1)窗体组成)窗体组成窗体由下列三个文件组成窗体由下列三个文件组成1)程序代码文件程序代码文件(*.cs)(*.cs)如:如:Form1.cs Form1.cs程序代码文件由引用定义、命名空间定义、窗体类定义、函程序代码文件由引用定义、命名空间定义、窗体类定义、函数定义(控件事件驱动程序)、变量定义等组成。用户在此界数定义(控件事件驱动程序)、变量定义等组成。用户在此界

23、面内的主要工作是编写事件驱动程序。面内的主要工作是编写事件驱动程序。3.1 C#程序组成5、窗体223.1 C#3.1 C#程序组成程序组成2 2)窗体设计类)窗体设计类(*.Designer.cs)(*.Designer.cs)如:如:Form1.Designer.cs 该程序主要用于窗体与控件的初始化工作,初始化工作主要由该程序主要用于窗体与控件的初始化工作,初始化工作主要由Form1.cForm1.cs调用调用InitializeComponent()InitializeComponent()函数实现。函数实现。在在InitializeComponent()函数内有窗体与控件属性、方法初

24、值的函数内有窗体与控件属性、方法初值的设置代码。一般不要用户管理。设置代码。一般不要用户管理。3 3)窗体资源()窗体资源(*.resx*.resx)如:如:Form1.resx该程序主要用于设置窗体与控件所需资料,如图像资源等。该程序主要用于设置窗体与控件所需资料,如图像资源等。3.1 C#程序组成2)窗体设计类(*.Designer.c23(2)添加新窗体)添加新窗体C#项目中允许有多个窗体,添加新窗体的方法如下:项目中允许有多个窗体,添加新窗体的方法如下:方法一方法一:菜单:菜单|项目项目|添加添加Windows窗体窗体|Windows窗体窗体|Form1|添加添加方法二:方法二:资源管

25、理器资源管理器|右击项目右击项目ex3_1|添加添加|Windows窗体窗体|Form1|添加添加3.1 C#3.1 C#程序组成程序组成(2)添加新窗体3.1 C#程序组成243.1 C#3.1 C#程序组成程序组成6 6、类文件、类文件类类文文件件由由引引用用定定义义、命命名名空空间间定定义义、类类(或或结结构构等等)定定义义以以及及类函数组成。类函数组成。(1 1)主程序类)主程序类Program.csProgram.csC#项目中首先运行的是主程序类文件项目中首先运行的是主程序类文件Program.cs该该文文件件由由引引用用定定义义、命命名名空空间间定定义义、主主函函数数main()

26、定定义义组组成成,用于对应用项目程序的初始化,及决定调用的启动窗体。用于对应用项目程序的初始化,及决定调用的启动窗体。3.1 C#程序组成6、类文件253.1 C#3.1 C#程序组成程序组成如:如:Program.cs:主程序类文件代码如下:主程序类文件代码如下using System;using System.Collections.Generic;using System.Windows.Forms;namespace WindowsApplication1 static class Program /应用程序的主入口点。应用程序的主入口点。static void Main()/主函数主

27、函数 Application.EnableVisualStyles();Application.SetCompatibleTextRenderingDefault(false);Application.Run(new Form1();/运行运行Form1Form1窗体程序窗体程序 /当项目中有多个窗体时,当项目中有多个窗体时,/该程序将决定先启动运行哪一个窗体该程序将决定先启动运行哪一个窗体3.1 C#程序组成如:Program.cs:主程序类文件代263.1 C#3.1 C#程序组成程序组成(2 2)添加类)添加类方法一方法一:菜单:菜单|项目项目|添加类添加类|类类|class1|添加添加

28、方法二:方法二:资源管理器资源管理器|右击项目右击项目ex3_1|添加添加|类类|class1|添加添加3.1 C#程序组成(2)添加类277函数函数定义一个函数,包括函数的名称、参数、返回值等等,如下定义一个函数,包括函数的名称、参数、返回值等等,如下代码:代码:private void btn_Find_Click(object sender,EventArgs e)函数体函数体函数体是在函数定义后的函数体是在函数定义后的之间包含的所有代码行,用之间包含的所有代码行,用于改变程序、窗体或类的对象的状态和行为、完成对相关信息于改变程序、窗体或类的对象的状态和行为、完成对相关信息进行处理等的代

29、码。进行处理等的代码。3.1 C#3.1 C#程序组成程序组成7函数3.1 C#程序组成28 3.1.2 C#代码行书写规则代码行书写规则1.语句语句语句定义符语句定义符;2.注释注释格式格式1:/注释内容;注释内容;格式格式2:/*注释内容注释内容*/3.换行书写换行书写 当语句较长时,当语句较长时,C#允许语句换行书写,语句用允许语句换行书写,语句用“;”结束。结束。3.1 C#3.1 C#程序组成程序组成 3.1.2 C#代码行书写规则3.1 C#程序组成29/若中桥校区复选框被选中,则在文本框中赋若中桥校区复选框被选中,则在文本框中赋“中桥校区中桥校区”;if(rbtn_Zhongqi

30、ao.Checked)txt_Xiaoqu2.Text=“中桥校区中桥校区”;3.1 C#3.1 C#程序组成程序组成/若中桥校区复选框被选中,则在文本框中赋“中桥校区”;330 4.命名规范命名规范在在C#程序中给常量、变量、类、函数等命名时应遵守命名规范,程序中给常量、变量、类、函数等命名时应遵守命名规范,体现专业素养。体现专业素养。(1)常量:用大写字母。)常量:用大写字母。例如:例如:PI。当含有多个单词,用下划线。当含有多个单词,用下划线“_”隔开。例如隔开。例如CIRCLE_RADIUS等。等。(2)变量)变量:用首字母小写,之后每个单词首字母大写其余小写的用首字母小写,之后每个单

31、词首字母大写其余小写的方式。方式。例如例如frm_StuFind、filename、errorHandler、peopleNumber。3.1 C#3.1 C#程序组成程序组成 4.命名规范3.1 C#程序组成31(3)类成员变量:加前缀)类成员变量:加前缀“m”。例如:例如:mFilename、mErrorHandler、mPeopleNumber。类名:一般使用每个单词首字母大写其余字母小写的方式。例如:类名:一般使用每个单词首字母大写其余字母小写的方式。例如:FileAppender、StreamWriter等。等。(4)函数名)函数名:根据函数功能用动词名词的单词组合进行命名,根据函数

32、功能用动词名词的单词组合进行命名,做到做到“见名知意见名知意”。如:。如:btn_Find_Click,再如,打开文件的函数可以命名为再如,打开文件的函数可以命名为OpenFile。(5)C#中的命名是区分大小写中的命名是区分大小写如,如,Name和和name代表的是不同的变量。代表的是不同的变量。3.1 C#3.1 C#程序组成程序组成(3)类成员变量:加前缀“m”。3.1 C#程序组成325.使用缩进使用缩进private void btn_Delete_Click(object sender,EventArgs e)int index=lst_User.SelectedIndex;if(

33、index=0)/宝山认为宝山认为c,c+,java都是以都是以0为开始为开始 lst_User.Items.RemoveAt(index);else MessageBox.Show(请选择用户后再删除!请选择用户后再删除!);3.1 C#3.1 C#程序组成程序组成5.使用缩进3.1 C#程序组成331、C#程序组成程序组成,C#程序称为解决方案;程序称为解决方案;l解决方案解决方案由若干个项目组成,以命名空间形式定义项目;由若干个项目组成,以命名空间形式定义项目;l项目项目由若干个普通类、窗体类与主程序类组成;由若干个普通类、窗体类与主程序类组成;l普通类普通类由定义类的数据成员(属性)与

34、成员函数(方法)组成;由定义类的数据成员(属性)与成员函数(方法)组成;l窗体类窗体类由窗体定义类由窗体定义类(定义控件事件驱动程序等定义控件事件驱动程序等)、窗体设计类、窗体设计类(定义窗体内的控件定义窗体内的控件)、窗体资源类、窗体资源类(定义窗体内的资源定义窗体内的资源)等组成。等组成。l主程序类主程序类由项目主函数等构成,用于创建启动窗体。由项目主函数等构成,用于创建启动窗体。2、代码行书写规则、代码行书写规则第第1 1次课小结次课小结1、C#程序组成,C#程序称为解决方案;第1次课小结34作业:作业:新建一个解决方案新建一个解决方案ex3_1.sln,在解决方案的在解决方案的Form

35、1窗体窗体内添加一按钮与图片框控件内添加一按钮与图片框控件(装入黄金虎教师照片装入黄金虎教师照片),单击按钮,单击按钮将金鱼图片装入图片框。将金鱼图片装入图片框。(1)在代码编辑器中,)在代码编辑器中,阅读阅读Form1.cs文件,写出引用、命名空间、窗体类、构造函数、文件,写出引用、命名空间、窗体类、构造函数、事件驱动程序的定义代码;事件驱动程序的定义代码;阅读阅读Form1.Designer.cs文件,写出窗体、按钮控件变量的定文件,写出窗体、按钮控件变量的定义初始化设置代码。义初始化设置代码。阅读阅读Form1.resx文件,写出文件中的资源。阅读文件,写出文件中的资源。阅读Progra

36、m.cs文文件,写出调用窗体件,写出调用窗体Form1的代码。的代码。第第1 1次课小结次课小结作业:新建一个解决方案ex3_1.sln,在解决方案的For35(2)在资源管理器中,写出项目、引用、窗体、类的名称。)在资源管理器中,写出项目、引用、窗体、类的名称。(3)在解决方案的目录中,写出解决方案文件、项目文件、)在解决方案的目录中,写出解决方案文件、项目文件、窗体文件(程序代码文件、窗体设计类文件、窗体资源文件)、窗体文件(程序代码文件、窗体设计类文件、窗体资源文件)、类文件的名称。类文件的名称。(4)写出解决方案执行过程。)写出解决方案执行过程。第第1 1次课小结次课小结(2)在资源管

37、理器中,写出项目、引用、窗体、类的名称。第1次36C+数据类型数据类型 基本类型基本类型 导出类型导出类型 整型整型 实型实型 字符型字符型 char 无值型无值型 void 短整型短整型 short int 整型整型 int 长整型长整型 long int 单精度型单精度型 float 双精度型双精度型 double 数组数组 指针指针 结构体结构体 共同体共同体 类类图图 3.4 C+的数据类型的数据类型3.2 3.2 数据类型与表达式数据类型与表达式C+数据类型 基本类型 导出类型 整型 实型 字符型 c373.23.2数据类型与表达式数据类型与表达式C#C#数据数据类类 型型值类型值类

38、型整整 型型结构类型结构类型枚举类型枚举类型引用类型引用类型类类型类类型接口类型接口类型数组类型数组类型基本类型基本类型浮点型浮点型逻辑型逻辑型字符型字符型字符串型字符串型日期型日期型图图3.5 C#的基本数据类型的基本数据类型3.2数据类型与表达式C#数据值类型整 型结构类型枚举类型38 3.2.1 数据类型数据类型 C#除保留除保留C+的数据类型外的数据类型外,还新增了还新增了C#内置数据类型内置数据类型。1内置数据类型(内置数据类型(如表如表3-1所示)所示)Byte b=1;/定义定义 C#新增的新增的 字节变量字节变量b Int32 i=2;/定义定义C#新增的新增的32位整型变量位

39、整型变量i int j=3;/定义定义C+整型变量整型变量j Single x1=4;/定义定义 C#新增的新增的 单精度变量单精度变量x1,float x2=5;/定义定义 C+单精度变量单精度变量x2 Double y=1.234567;/定义定义 C#新增的双精度变量新增的双精度变量y Char c=a;/定义定义 C#新增的新增的 字符变量字符变量c Boolean a=true;/定义定义 C#新增的新增的 布尔变量布尔变量a在在VS2005中中蓝色多为蓝色多为C+数据类型数据类型,浅蓝色为浅蓝色为C#新增数据类型新增数据类型 3.2 3.2 数据类型与表达式数据类型与表达式 3.2

40、.1 数据类型3.2 数据类型与表达式39表表3-1 C#内置数据内置数据类型型类别类名名说 明明数据数据类型型完整完整类名名整型整型Byte8 位的无符号整型位的无符号整型byteSystem.ByteSByte8 位的有符号整型位的有符号整型sbyteSystem.SByteInt1616 位的有符号整型位的有符号整型shortSystem.Int16Int3232 位的有符号整型位的有符号整型intSystem.Int32Int6464 位的有符号整型位的有符号整型longSystem.Int64UInt1616 位的无符号整型位的无符号整型ushortSystem.UInt16UInt

41、3232 位的无符号整型位的无符号整型uintSystem.UInt32UInt6464 位的无符号整型位的无符号整型ulongSystem.UInt64浮点浮点Single单精度(精度(32 位)浮点位)浮点floatSystem.SingleDouble双精度(双精度(64 位)浮点位)浮点doubleSystem.Double逻辑Boolean布布尔尔值(真或假)(真或假)boolSystem.Boolean字符字符CharUnicode(16 位)字符位)字符charSystem.Char数数值Decimal十十进制制值decimalSystem.Decimal表3-1 C#内置数据类

42、型类别类名说 明数据类型完整类40【例【例3-2(1)】新建解决方案】新建解决方案ex3_2.sln,在窗体中添加,在窗体中添加5个按钮与个按钮与5个个文本框控件文本框控件,如图如图3-1所示,双击按钮所示,双击按钮1编写事件驱动程序如下编写事件驱动程序如下:private void button1_Click(object sender,EventArgs e)Byte b=1;Int32 i=2;int j=3;Single x1=4;float x2=5;Double y=1.234;Char c=a;Boolean a=true;textBox1.Text=b.ToString();3

43、.2 3.2 数据类型与表达式数据类型与表达式图图3.6 数据类型示例数据类型示例【例3-2(1)】新建解决方案ex3_2.sln,在窗体中412.字符串类型字符串类型:String(C#新增)新增)String属于值类型属于值类型:System.String作用:定义字符串变量(对象)作用:定义字符串变量(对象)【例【例3-2(2)】在窗体中双击按钮在窗体中双击按钮2,编写事件驱动程序。编写事件驱动程序。private void button2_Click(object sender,EventArgs e)String s1=“abcd”;/定义字符串变量定义字符串变量s1 string

44、s2=“xyz”;/定义字符串变量定义字符串变量s2 System.String s3=“”;/定义字符串变量定义字符串变量s3 s3=s1+s2;/字符串连接运算字符串连接运算 textBox2.Text=s3;/在文本框中显示在文本框中显示s3值值 3.2 3.2 数据类型与表达式数据类型与表达式2.字符串类型:String(C#新增)3.2 数据类型与42说明:在说明:在C#中同一种中同一种数据类型数据类型有时允许用有时允许用首字母大写或小写首字母大写或小写两种表达方式。如:两种表达方式。如:字符串类型有字符串类型有:String 与与string两种表达方式。两种表达方式。双精度类型有

45、:双精度类型有:Double与与double两种表达方式。两种表达方式。在在VS2005中小写为蓝色,大写为浅蓝色。中小写为蓝色,大写为浅蓝色。3.日期时间类型日期时间类型:DateTime(C#新增)新增)作用:用于定义日期与时间变量。作用:用于定义日期与时间变量。日期格式:日期格式:2012-09-18 10:45:50。3.2 3.2 数据类型与表达式数据类型与表达式说明:在C#中同一种数据类型有时允许用首字母大写或小写两种表43DateTime值类型:值类型:System.DateTime取值范围:取值范围:0001-1-1 24:00:00 到到 9999-12-31 23:59:5

46、9。例例3-2(3)在窗体中双击按钮在窗体中双击按钮3,编写事件驱动程序。编写事件驱动程序。private void button3_Click(object sender,EventArgs e)DateTime d1=Convert.ToDateTime(2012-09-18 10:20:00);System.DateTime d2=Convert.ToDateTime(“2012-09-03 10:20:00”);/定义日期时间变量定义日期时间变量d1、d2,并赋初值并赋初值 textBox3.Text=Convert.ToString(d1-d2);/计算日期相差天数计算日期相差天数3

47、.2 3.2 数据类型与表达式数据类型与表达式DateTime值类型:System.DateTime3.2443.2 3.2 数据类型与表达式数据类型与表达式4.4.结构体类型(自定义数据类型)结构体类型(自定义数据类型)(1 1)定义)定义结构体类型结构体类型 struct 数据成员;数据成员;函数体;函数体;(2)定义结构体变量)定义结构体变量:;(3)引用结构体变量)引用结构体变量:.3.2 数据类型与表达式4.结构体类型(自定义数据类型)453.2 3.2 数据类型与表达式数据类型与表达式【例【例3-2(4)】在窗体类在窗体类Form1中定义学生成绩结构类型中定义学生成绩结构类型Sco

48、re。public struct Score/在窗体类在窗体类Form1中中定义成绩结构体类型定义成绩结构体类型 public int no;/定义公有定义公有数据成员学号数据成员学号 public string name;/定义公有定义公有数据成员姓名数据成员姓名 public float math;/定义公有定义公有数据成员数学数据成员数学 public float phy;/定义公有定义公有数据成员物理数据成员物理 public float eng;/定义公有定义公有数据成员英语数据成员英语 public float ave;/定义公有定义公有数据成员均分数据成员均分 ;3.2 数据类型

49、与表达式【例3-2(4)】在窗体类Form1463.2 3.2 数据类型与表达式数据类型与表达式在窗体内双击按钮在窗体内双击按钮4,编写按钮编写按钮4事件驱动程序事件驱动程序:用用Score定义变量定义变量s,成绩赋给,成绩赋给s,计算均分,输出姓名:均分。,计算均分,输出姓名:均分。private void button4_Click(object sender,EventArgs e)Score s;/定义学生成绩结构变量定义学生成绩结构变量s s.no=1001;/通过引用给数据成员赋值通过引用给数据成员赋值 s.name=zhou;s.math=90;s.phy=85;s.eng=80

50、;s.ave=(s.math+s.phy+s.eng)/3;/计算均分计算均分 textBox4.Text=s.name+:+s.ave.ToString();3.2 数据类型与表达式在窗体内双击按钮4,编写按钮4事件驱473.2 3.2 数据类型与表达式数据类型与表达式5 5、类类型(自定义类型)类类型(自定义类型)(1)定义类类型)定义类类型 class 数据成员;数据成员;(形参)(形参)函数体;函数体;(2)定义对象)定义对象:;(3)引用对象数据成员)引用对象数据成员:.3.2 数据类型与表达式5、类类型(自定义类型)48【例【例3-2(5)】在在C#解决方案解决方案ex3_1.sl

51、n中定义矩形类中定义矩形类Rectangle(1)在解决方案中添加矩形类)在解决方案中添加矩形类Rectangle菜单菜单|项目项目|添加类添加类|选择:类选择:类|名称:名称:Rectangle|添加添加|资源管理器中资源管理器中出现出现Rectangle.cs,如图如图3.7所示。所示。3.2 3.2 数据类型与表达式数据类型与表达式图图3.7 定义矩形类定义矩形类Rectangle【例3-2(5)】在C#解决方案ex3_1.sln中定义矩形49(2)在代码编辑器中编写定义类的代码)在代码编辑器中编写定义类的代码 class Rectangle private int Left,Top,H

52、eight,Width;/定义矩形数据成员定义矩形数据成员 public Rectangle(int L,int T,int H,int W)/定义构造函数定义构造函数 Left=L;Top=T;Height=H;Width=W;public int Area()/定义计算矩形面积成员函数定义计算矩形面积成员函数 return Height*Width;3.2 3.2 数据类型与表达式数据类型与表达式(2)在代码编辑器中编写定义类的代码 3.2 数据类型与表达50(3)在)在Form1窗体中添加文本框窗体中添加文本框5与按钮与按钮5(4)双击按钮)双击按钮5,在代码编辑器中输入事件驱动程序在代

53、码编辑器中输入事件驱动程序private void button5_Click(object sender,EventArgs e)Rectangle r;/定义矩形对象定义矩形对象r r=new Rectangle(10,10,10,10);/为为r分配内存并初始化分配内存并初始化 textBox5.Text=r.Area().ToString();/调用调用r的面积函数的面积函数 /计算矩形面积,并在文本框中显示计算矩形面积,并在文本框中显示实验:完成解决方案实验:完成解决方案ex3_1.sln的编程,体验的编程,体验C#数据类型使用方数据类型使用方法。法。3.2 3.2 数据类型与表达式

54、数据类型与表达式(3)在Form1窗体中添加文本框5与按钮53.2 数据类型513.2.2 3.2.2 常量常量1直接常量(常数)直接常量(常数)逻辑常量逻辑常量:true,false2符号常量符号常量访问权限访问权限 const 数据类型数据类型 =;例如:例如:public const int DAY_OF_WEEK=7;public const string SHOW_TITLE=Hello world!;3.2 3.2 数据类型与表达式数据类型与表达式3.2.2 常量3.2 数据类型与表达式52 3.C#内部定义符号常量内部定义符号常量如如:System.Math.PI(圆周率)(圆周

55、率)System.Math.E(自然对数的底(自然对数的底e)等等,)等等,这些常量在程序代码中可以直接使用。这些常量在程序代码中可以直接使用。3.2 3.2 数据类型与表达式数据类型与表达式 3.C#内部定义符号常量3.2 数据类型与表达式53【例【例3-2(6)】在在Form1窗体中添加文本框窗体中添加文本框6与按钮与按钮6,事件驱事件驱动程序动程序:private void button6_Click(object sender,EventArgs e)double r=10.0;/定义半径定义半径r=10 Double s=r*r*System.Math.PI;/计算圆面积计算圆面积s

56、 textBox6.Text=s.ToString();/显示圆面积显示圆面积s 3.2 3.2 数据类型与表达式数据类型与表达式【例3-2(6)】在Form1窗体中添加文本框6与按钮6,54 3.2.3 变量变量u 变量必须按照变量必须按照C#命名规则进行命名。命名规则进行命名。u对对于于变变量量,编编译译程程序序时时,系系统统要要为为其其分分配配与与其其类类型型相相对对应应的若干个字节的存储单元,以存储变量的值。的若干个字节的存储单元,以存储变量的值。u为变量赋值就是将值存放到为其分配的存储单元中;为变量赋值就是将值存放到为其分配的存储单元中;u引用变量就是从变量的存储单元中取出数据。引用

57、变量就是从变量的存储单元中取出数据。3.2 3.2 数据类型与表达式数据类型与表达式 3.2.3 变量3.2 数据类型与表达式551变量定义语句变量定义语句(1)定义函数内局部变量)定义函数内局部变量:,;例如:例如:private void btn_Delete_Click(object sender,EventArgs e)int index=lst_User.SelectedIndex;if(index=0)lst_User.Items.RemoveAt(index);else MessageBox.Show(请选择用户后再删除!请选择用户后再删除!);3.2 3.2 数据类型与表达式数

58、据类型与表达式1变量定义语句3.2 数据类型与表达式56(2)定义类的成员变量)定义类的成员变量作用域修饰符作用域修饰符 ,;namespace WindowsApplication1 public partial class Form1:Form /定义定义Form1类类 public Form1()/定义构造函数定义构造函数 InitializeComponent();int count=0;/定义类的成员变量定义类的成员变量 private void timer1_Tick(object sender,EventArgs e)count+;textBox1.Text=Convert.To

59、String(count);3.2 3.2 数据类型与表达式数据类型与表达式(2)定义类的成员变量3.2 数据类型与表达式57(3)定义控件变量(从工具箱将控件拖入窗体后自动定义)定义控件变量(从工具箱将控件拖入窗体后自动定义)private ,;例如:从工具箱将文本框、按钮控件拖入窗体后,在例如:从工具箱将文本框、按钮控件拖入窗体后,在Fowm1.Designer.cs文件中出现控件定义语句:文件中出现控件定义语句:private System.Windows.Forms.TextBox textBox1;private System.Windows.Forms.Button button1

60、;3.2 3.2 数据类型与表达式数据类型与表达式(3)定义控件变量(从工具箱将控件拖入窗体后自动定义)3.258(4)定义静态变量)定义静态变量作用域修饰符作用域修饰符 static ,;例如:例如:static int count;说明:静态变量只能定义函数外部,不能定义在函数内。说明:静态变量只能定义函数外部,不能定义在函数内。3.2 3.2 数据类型与表达式数据类型与表达式(4)定义静态变量3.2 数据类型与表达式59(5)说明)说明与与C+变量初值为随机数所不同的是,变量初值为随机数所不同的是,C#值类型变量定义后,值类型变量定义后,系系统自动为该变量赋一个初值:统自动为该变量赋一个

61、初值:u整型:初值为整型:初值为0,u逻辑型:初值为逻辑型:初值为false;u引用类型:初值为引用类型:初值为null。ustring类型:初值为类型:初值为null,而不是空字符串,而不是空字符串”。3.2 3.2 数据类型与表达式数据类型与表达式(5)说明3.2 数据类型与表达式603.2.4 运算符与表达式运算符与表达式1、C#运算符运算符C#运算符与运算符与C+类似,分为:类似,分为:算术运算符:算术运算符:+、-、*、/、%、+、-逻辑运算符:!、逻辑运算符:!、&、|、&(位与)、(位与)、|(位或)(位或)关系运算符:关系运算符:、=、=、=、!=条件运算符:?条件运算符:?:

62、赋值运算符:赋值运算符:=、+=、-=、*=、/=字符串连接运算符:字符串连接运算符:+等,运算符及优先级如表所示。等,运算符及优先级如表所示。3.2 3.2 数据类型与表达式数据类型与表达式3.2.4 运算符与表达式3.2 数据类型与表达式61运算符运算符类别运运 算算 符符算算术+-*/%+-*/%逻辑&|!&|true false&|!&|true false字符串字符串连接接+递增、增、递减减+-+-移位移位关系关系=!=!=赋值=+=-=*=/=%=&=|=+=-=*=/=%=&=|=成成员访问.索引索引转换()()条件条件?:?:委托串委托串联和移除和移除+-+-创建建对象象new

63、new类型信息型信息as is sizeof typeof as is sizeof typeof 溢出异常控制溢出异常控制checked uncheckedchecked unchecked间接接寻址和地址址和地址*-&*-&表表3.2 C#运算符一览表运算符一览表运算符类别运 算 符算术+-*/62 优先先级类别运算符运算符高高低低基本基本x.y f(x)ax x+x-new x.y f(x)ax x+x-new typeof checked uncheckedtypeof checked unchecked一元一元+-!+x -x (T)x+-!+x -x (T)x乘法乘法*/%*/%加

64、法加法+-+-移位移位关系和关系和类型型检测 =is as =is as相等相等=!=!=逻辑 AND AND&逻辑 XOR XOR 逻辑 OR OR|条件条件 AND AND&条件条件 OR OR|条件条件?:?:赋值=*=/=%=+=-=&=|=*=/=%=+=-=&=|=表表3.3 C#运算符一览表运算符一览表 优先级类别运算符高基本x.y f(x)ax x632、C#表达式表达式 与与C+类似,类似,C#表达式也由常量、变量、函数用运算符连接而表达式也由常量、变量、函数用运算符连接而成。成。例如:例如:Double x=2.0,y;y=1+x+sin(x);3.2 3.2 数据类型与表

65、达式数据类型与表达式2、C#表达式 3.2 数据类型与表达式64 (1)数据类型)数据类型u内置基本数据类型:内置基本数据类型:Boolean、Byte等等u字符串类型字符串类型:Stringu日期时间型日期时间型:DateTimeu 结构体类型结构体类型(struct)与类类型与类类型(class)(首字母大写)(首字母大写)(2)常量)常量:大写字母大写字母,如如PIu 直接常量(常数)直接常量(常数):true,falseu 符号常量符号常量:public const int DAY_OF_WEEK=7;u C#内部定义符号常量内部定义符号常量:System.Math.PI第第2 2次课

66、小结次课小结 (1)数据类型第2次课小结65(3)变量)变量:首字母小写,单词首字母大写首字母小写,单词首字母大写,如如btn_Addu函数内局部变量函数内局部变量u类的成员变量类的成员变量u控件变量控件变量u静态变量静态变量(static)(5)运算符与表达式)运算符与表达式作业:补充题:完成例作业:补充题:完成例3-1(1)(6)的解决方案界面与事件驱动的解决方案界面与事件驱动程序设计。程序设计。习题三习题三 3.1,3.2 第第2 2次课小结次课小结(3)变量:首字母小写,单词首字母大写,如btn_Add第2663.2 3.2 数据类型与表达式数据类型与表达式 3.2.5 C#中公共类及其函数中公共类及其函数 C#提供许多公用类函数供用户使用提供许多公用类函数供用户使用,使用前必须先引用公共类所使用前必须先引用公共类所在命名空间,后调用类的公用函数。在命名空间,后调用类的公用函数。现介绍算术、字符串、转现介绍算术、字符串、转换、日期类中公有函数的使用方法。换、日期类中公有函数的使用方法。1.算术类:算术类:System.Math(见表(见表3-4)算术类公用函数主要有:算术类公用

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!