C#第2章程序设计基础课件_第1页
C#第2章程序设计基础课件_第2页
C#第2章程序设计基础课件_第3页
C#第2章程序设计基础课件_第4页
C#第2章程序设计基础课件_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、C#C#第2章程序设计基础C#面向对象程序设计面向对象程序设计主讲教师:主讲教师:胡胡 鹏鹏 飞飞个人邮箱:个人邮箱:教学邮箱:教学邮箱:C#C#C#C#第2章程序设计基础2.1程序2.2常量和变量 2.3数据类型2.4类型转换2.5输入输出操作第2章 程序设计基础C#C#C#C#第2章程序设计基础2.1.1初识初识C#程序程序C#C#C#C#第2章程序设计基础2.1.1初识初识C#程序程序MainC#C#C#C#第2章程序设计基础2.1程序程序2.1.1初识C#程序 通过这个程序我们可以简单总结出一个C#程序的基本框架结构:lC#程序由一个或多个独立的类类组成,每个类归属于某个命名空间(P4

2、5)。lC#的类可以由一个或多个方法组成,其中类中的静态Main方法可用作程序运行的入口。l注释,程序员素养的体现。C#C#C#C#第2章程序设计基础2.1.1初识初识C#程序程序C#C#C#C#第2章程序设计基础2.1.1初识初识C#程序程序_Main方法方法 Main Main 方法是程序的入口点,程序控制在该方法方法是程序的入口点,程序控制在该方法中开始和结束。中开始和结束。 该方法在类或结构的内部声明。它必须为静态该方法在类或结构的内部声明。它必须为静态方法,而不应为公共方法。(在上面的示例中,方法,而不应为公共方法。(在上面的示例中,它接受默认访问级别它接受默认访问级别 privat

3、eprivate。)。) 它可以具有它可以具有 void void 或或 int int 返回类型。返回类型。 声明声明 Main Main 方法时既可以使用参数,也可以不方法时既可以使用参数,也可以不使用参数。使用参数。 P47C#C#C#C#第2章程序设计基础2.1程序程序2.1.2标识符和关键字 标识符标识符:在C#语言中,标识符是惟一地标识代码中的各种程序元素的名称,可用于表示变量、常量、方法、类或接口的名称。C#C#C#C#第2章程序设计基础2.1.2标识符和关键字标识符和关键字标识符几乎可以使用任何名称,但必须遵循以下语法规则:l只能使用字母(大写的或小写的)、数字和下划线。l标识

4、符必须以字母或者下划线(“_”)开头。l标识符以符号开始时,允许使用关键字来作为标识符。l建议使用有意义的英语单词和数字组合作为标识符C#C#C#C#第2章程序设计基础2.1.2标识符和关键字标识符和关键字C#C#C#C#第2章程序设计基础2.2常量和变量常量和变量1.常量定义:对于在程序运行期间其值保持不变的量,我们称之为常量。C#语言中使用关键字来定义常量 。一般用大写标识符。常量总是静态的。例子:const double PI = 3.14159;优点:(1)常量使程序更方便修改(2)常量能够增加程序的可读性(3)常量能有助于避免程序出现错误 P22C#C#C#C#第2章程序设计基础2.

5、2常量和变量常量和变量2.变量定义:变量是指其值在运行时可以改变的量。 C#中,定义变量时必须指定一种数据类型,以确定其数据范围和允许的操作 。一般形式: 数据类型数据类型 变量名;变量名;例:int x, y; /x, y是整数类型变量double w = 3.1415; /w是实数类型变量bool truth = true; /truth是布尔类型变量 P20C#C#C#C#第2章程序设计基础2.3数据类型数据类型2.3.1简单类型2.3.2枚举类型 2.3.3结构类型2.3.4数组类型C#C#C#C#第2章程序设计基础2.3数据类型数据类型C#C#C#C#第2章程序设计基础2.3.1简单

6、类型简单类型C#提供了几种与定义的简单类型,包括:1.整数型:int、long2.实数类型:float、double3.高精度小数:decimal 4. 布尔类型:bool,不存在与其它类型的标准转换。其值为true,false。 5.字符类型:char(unicode编码)P24C#C#C#C#第2章程序设计基础2.3.2枚举类型枚举类型 枚举类型是用户自定义的数据类型,是一种允许用符号代表数据的值类型。枚举是指程序中某个变量具有一组确定的值,通过“枚举”可以将其值一一列出来。这样,使用枚举类型,就可以将一年的四季分别用符号Spring、Summer、Autumn和Winter来表示,将一个

7、星期的7天分别用符号Monday、Tuesday、Wednesday、Thursday、Friday、Saturday和Sunday来表示,有助于用户更好地阅读和理解程序。P27C#C#C#C#第2章程序设计基础1 枚举类型的定义枚举类型的定义 定义枚举类型时必须使用关键字,其一般语法形式如下: enum 枚举名 :基本类型 枚举成员表; 说明: 声明枚举类型时,必须带上enum关键字。 枚举名必须是C#中合法的标识符。 枚举类型中定义的所有枚举值都默认为整型。 由一对花括号“”和“”括起来的部分是枚举成员表,枚举成员通常用用户易于理解的标识符字符串表示,它们之间用逗号隔开。 C#C#C#C#

8、第2章程序设计基础下面是一个定义枚举类型的例子:下面是一个定义枚举类型的例子: enum WeekDayenum WeekDay Sun, Mon, Tue, Wed, Thu, Fri, Sat; Sun, Mon, Tue, Wed, Thu, Fri, Sat; 上面的语句中定义了一个名称为上面的语句中定义了一个名称为WeekDayWeekDay的枚举的枚举类型,它包含类型,它包含SunSun、 MonMon、 TueTue、 WedWed、 ThuThu、 FriFri、 SatSat这这7 7个枚举成员。有了上述定义,个枚举成员。有了上述定义,WeekDayWeekDay本身就本身就

9、成了一个类型说明符,此后就可以像常量那样使用成了一个类型说明符,此后就可以像常量那样使用这些符号。两个枚举成员名不能完全相同。这些符号。两个枚举成员名不能完全相同。 C#C#C#C#第2章程序设计基础2 枚举成员的赋值枚举成员的赋值 在定义的枚举类型中,每一个枚举成员都有一个相对应的常量值,如 enum WeekDay Sun, Mon, Tue, Wed, Thu, Fri, Sat;中,其枚举成员Sun、Mon、Tue、Wed、Thu、Fri和Sat在执行程序时,分别被赋予整数值0、1、2、3、4、5和6。对于枚举成员对应的常量值,默认情况下C#规定第1个枚举成员的值取0,它后面的每一个枚

10、举成员的值按加上1递增。C#C#C#C#第2章程序设计基础3 枚举成员的访问枚举成员的访问 在C#中,可以通过枚举型变量和枚举名两种方式来访问枚举成员。1) 通过变量访问枚举成员 在通过变量访问枚举成员前,先要声明一个枚举型变量,声明枚举型变量的一般形式如下: 枚举类型名枚举类型名 变量名;变量名; 例: enum WeekDay Sun, Mon, Tue, Wed, Thu, Fri, Sat ; Weekday wd1; /声明一个枚举型变量wd1 wd1=WeekDay.Sun; /给枚举型变量wd1赋值 参看参看li2-1C#C#C#C#第2章程序设计基础3 枚举成员的访问枚举成员的

11、访问 2)2) 通过枚举名访问枚举成员通过枚举名访问枚举成员 一般形式如下:一般形式如下: 枚举类型名枚举类型名. .成员名;成员名; 例:例: enum WeekDayenum WeekDay Sun, Mon, Tue, Wed, Thu, Fri, Sat ; Sun, Mon, Tue, Wed, Thu, Fri, Sat ; Weekday wd1; / Weekday wd1; /声明一个枚举型变量声明一个枚举型变量wd1wd1 wd1= wd1=WeekDay.SunWeekDay.Sun; /; /给枚举型变量给枚举型变量wd1wd1赋值赋值 参看参看li2-2C#C#C#C

12、#第2章程序设计基础2.3.3结构类型结构类型 结构类型:它能把一系列相关的变量组织成为一个单一的实体。 结构的定义:structstruct 结构名结构名 1 2 n C#C#C#C#第2章程序设计基础2.3.3结构类型结构类型struct Student public string name; public char sex; public int number; public float Chinese; public float English; public float math; C#C#C#C#第2章程序设计基础2.3.3结构类型结构类型C#C#C#C#第2章程序设计基础2.3.

13、3结构类型结构类型首先定义结构类型变量, 结构变量的定义: 结构名结构名 变量名;变量名;例如: Student s1;Student s1; 再通过变量访问结构的成员。 一般形式如下: 结构变量名结构变量名. .成员名;成员名; 例如: s1.English s1.English /访问英语成绩参看参看li2-3li2-3C#C#C#C#第2章程序设计基础2.3.4数组类型数组类型数组数组: : C#内置的集合类,这种数据结构中包含具有相同类型的变量元素。 分为:一维数组:int x=new int4=1,2,3,4;多维数组:decimal, pay= new decimal12,30;不

14、规则数组:int data=new int3; data0=new int5; data1=new int1; data2=new int3;P27C#C#C#C#第2章程序设计基础2.3.4.1 一维数组 (1) 一维数组的声明、创建和初始化 声明声明声明一维数组的格式为:MyArray; 创建创建 数组是引用类型的对象,也需要有实例化,即创建对象的过程。创建一个一维数组有两种方式: 针对已经声明了但没有指定长度的数组名,可以用new关键字创建,同时在方括号 中用正整数指定数组元素的个数,例如:MyArray = new int 3; 将声明和创建同时完成。例如:int MyArray ne

15、w int 3;C#C#C#C#第2章程序设计基础2.3.4.1 一维数组(1) 一维数组的声明、创建和初始化 初始化初始化 一维数组的初始化的形式很简单,将初始值依次列于一对大括号之内,注意,内的值,必须和数组类型一致。 int MyArray =1,3,5 ;int MyArray = new int 1,3,5 ;C#C#C#C#第2章程序设计基础2.3.4.1 一维数组访问一维数组元素 可以这么认为,数组是一组同一类型的变量,每个元素是一个变量,只不过变量名由数组名和数组索引两部分组成。 数组元素:数组名数组名 下标下标;数组的属性数组的属性LengthLength表示数组中元素的个数

16、!表示数组中元素的个数!参看li2-4C#C#C#C#第2章程序设计基础2.3.4.2 多维数组(1) 多维数组的声明二维数组的声明格式为:类型名 , 数组名;三维数组的声明格式为:类型名, 数组名; 依此类推,中n-1个逗号表示声明n维数组。C#C#C#C#第2章程序设计基础2 多维数组 (2) 多维数组的创建 对于已经声明为多维数组但没有创建的数组名,用new表达式创建, 例如:int , egArray; egArray = new int 2,2,2;可以将声明和创建归并为一句语句, 例如:int , egArray = new int 2,2,2; C#C#C#C#第2章程序设计基础

17、2 多维数组 (3) 多维数组的初始化 将初始化数据列于之内,每维的数据封装在一对中,附在new表达式之后, 例如:int , Array; Array = new int 2,30,1,2,2,3,4; 也可以写成 int, Array = new int 2,30,1,2,2,3,4;或者 int, Array =0,1,2,2,3,4;C#C#C#C#第2章程序设计基础2 多维数组(4 4)访问多维数组元素)访问多维数组元素 同一维数组一样,多维数组中的每个元素就是一个变量,只不过变量名由数组名和数组索引两部分组成。数组元素访问形式:数组名数组名 下标,下标下标,下标;int, Arra

18、y =0,1,2,2,3,4;for (int i=0;i2;i+) /用二重循环遍历二维数组 for (int j=0;j3;j+) Console.Write(“0 ”Arrayi,j); Console.Writeline(); 输出结果: 0 1 2 2 3 4 参看参看li2-5li2-5C#C#C#C#第2章程序设计基础3交错数组 (1) 交错数组的声明 交错数组也可以看成数组的数组,所以要使用多个 来表示。例如:char Array1; int Array2; C#C#C#C#第2章程序设计基础3交错数组 2 创建和初始化 创建交错数组的过程也是使用new表达式以分配空间,但是每

19、一维的长度可能不同,所以应该每一维分别用语句指定空间。例如 : int Array1 = new int 3; Array10 = new int 4 1,2,3,4; Array11 = new int 210,11; Array22= new int 320,21,22; C#C#C#C#第2章程序设计基础 3 访问交错数组元素 访问交错数组元素也需要通过数组索引对元素定位,定位需要用多个,并指定合法的数组索引。数组元素:数组名数组名 下标下标 下标下标; 例如:int jaggedArray1 = new int 1,3,5,9, new int 0,2,4, new int 11,22

20、 ;jaggedArray103=7; 参看 li2-6 C#C#C#C#第2章程序设计基础2.4类型转换类型转换C#是一种强类型语言,不同类型的变量之间不能互相代替,但可以转换。2.4.1隐式转换 编译器负责,数值不失真2.4.2显式转换 只在特定条件下允许转换,且由程序员明确指定转换的类型,可能会造成数据失真。C#C#C#C#第2章程序设计基础2.4.1隐式转换隐式转换隐式转换是系统默认的,不需要加以声明,也不需要编写代码就可以进行转换。在隐式类型转换时,编译器无需对转换进行详细检查就能够安全地实施转换。 隐式转换规则:任何类型只要其取值范围完全包含在另一个类型的取值范围内,就可以执行隐式

21、转换。注意:注意:对于char类型,它可以转换为很多的值类型,但不存在到char类型的隐式转换,也就是说不能从其他整型自动转换为char类型。 C#C#C#C#第2章程序设计基础2.4.2显式转换显式转换显式类型转换(强制类型转换):在明确要求编译器把数值从一种数据类型转换为另一种数据类型时,就是在执行显式类型转换 。显式类型转换需要程序员明确地指明转换的类型,当然也就需要编写额外的代码,代码的格式将随着转换方法的不同而不同。 C#C#C#C#第2章程序设计基础2.4.2显式转换显式转换显式转换方法:long a=3;int b;1、b=(int)a;2、b=Convert.ToInt32(v

22、ar);3、b=int.Parse(a.ToString(); C#C#C#C#第2章程序设计基础2.52.5输入输入/ /输出操作输出操作 一般情况下,数据输入的方式有两种:从控制台一般情况下,数据输入的方式有两种:从控制台输入,或者从文件中输入;数据的输出也有两种情况:输入,或者从文件中输入;数据的输出也有两种情况:可以输出到控制台,也可以输出到文件中。可以输出到控制台,也可以输出到文件中。 控制台(控制台(consoleconsole)输入)输入/ /输出主要通过命名空间输出主要通过命名空间SystemSystem中的类中的类ConsoleConsole来实现,它提供了从控制台读写来实现

23、,它提供了从控制台读写字符的基本功能。控制台输入主要通过字符的基本功能。控制台输入主要通过ConsoleConsole类的类的ReadRead方法和方法和ReadLineReadLine方法来实现的,控制台输出主要方法来实现的,控制台输出主要通过通过ConsoleConsole类的类的WriteWrite和和WriteLineWriteLine方法来实现的。方法来实现的。C#C#C#C#第2章程序设计基础 WriteLine( )WriteLine( )方法的作用是将信息输出到控制台,方法的作用是将信息输出到控制台,但是但是WriteLineWriteLine方法在输出信息的后面添加一个回车方

24、法在输出信息的后面添加一个回车换行符用来产生一个新行。换行符用来产生一个新行。在在WriteLine( )WriteLine( )方法中,可以直接输出变量的值。方法中,可以直接输出变量的值。例如:例如:int a=1;int a=1;Console.WriteLine(a); Console.WriteLine(a); 2.5.1 Console.WriteLine( ) 方法方法参看参看li2-8C#C#C#C#第2章程序设计基础也可以采用也可以采用“N,M”N,M”的形式来格式化输出字符串,其的形式来格式化输出字符串,其中的参数含义如下:中的参数含义如下: 花括号(花括号(“”)用来在输出

25、字符串中插入变量。)用来在输出字符串中插入变量。 N N表示输出变量的序号,从表示输出变量的序号,从0 0开始,如当开始,如当N N为为0 0时,则对时,则对应输出第应输出第1 1个变量的值,当个变量的值,当N N为为5 5时,则对应输出第时,则对应输出第6 6个变量,个变量,依次类推。依次类推。 ,M,M是可选项,其中是可选项,其中M M表示输出的变量所占的字符个数,表示输出的变量所占的字符个数,当这个变量的值为负数时,输出的变量按照左对齐方式排列;当这个变量的值为负数时,输出的变量按照左对齐方式排列;如果这个变量的值为正数的时候,输出的变量按照右对齐方如果这个变量的值为正数的时候,输出的变

26、量按照右对齐方式排列。式排列。 2.5.1 Console.WriteLine( ) 方法方法C#C#C#C#第2章程序设计基础 Write( )Write( )方法和方法和WriteLine( )WriteLine( )方法类似,都是方法类似,都是将信息输出到控制台,但是输出到屏幕后并不会产将信息输出到控制台,但是输出到屏幕后并不会产生一个新行,即换行符不会连同输出信息一起输出生一个新行,即换行符不会连同输出信息一起输出到屏幕上,光标将停留在所输出信息的末尾。到屏幕上,光标将停留在所输出信息的末尾。 2.5.2 Console.Write( )方法方法C#C#C#C#第2章程序设计基础 ReadLine( )ReadLine( )方法用来从控制台读取

温馨提示

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

评论

0/150

提交评论