《C#程序设计》课件第3章C#程序与数据类型_第1页
《C#程序设计》课件第3章C#程序与数据类型_第2页
《C#程序设计》课件第3章C#程序与数据类型_第3页
《C#程序设计》课件第3章C#程序与数据类型_第4页
《C#程序设计》课件第3章C#程序与数据类型_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

C#程序与数据类型思政目标:

☞通过学习数据类型及转换,培养学生的认真、细致的编程态度

☞通过编程练习,培养学生分析问题和解决问题的能力技能要求:

☞掌握C#基本语法要求

☞掌握C#中的基本数据类型及转换

☞正确理解变量的命名规则,学会使用值类型和引用类型实践目标:

☞通过认识C#基本语法,为深入学习打基础

☞认识变量与数据类型,能够在编程中正确运用

☞熟悉变量的使用,能够在适当场景中使用第3章编写首个C#程序常量与变量数据类型编写首个C#程序01PART我们从一个简单的C#程序开始,去认识C#语言的基本构成。编写程序观察上述程序,分析程序的组成部分。从运行结果可知,代码中的语句被输出到屏幕。整个程序包括usingSystem、namespace、class、Main方法、语句或表达式,以及注释。这些内容构成了一个完整的程序。第一句是usingSystem,using是C#中的关键字,用于在程序中包含System命名空间。第二句是namespaceConsoleApp2,将“namespace”命名为ConsoleApp2类型。第三句是classProgram,声明class类,命名为Program。程序详解第四句是staticvoidMain(string[]args),定义了一个Main方法。它是所有C#程序的入口点,Main方法用来执行类中的动作。应注意的是,每个程序必须带有Main方法。第五句是Console.WriteLine("欢迎来到C#的世界"),这是一条语句。这条语句可以将括号中双引号内的内容原样的输出到屏幕上,而其中的WriteLine即是执行该功能的方法。第六句是Console.ReadKey(),这条语句可以让输出的语句在控制台显示,否则程序会一闪而过。程序详解第七句是/*这是第一个程序*/,这是注释语句。注释中的内容,会被编译器忽略,不会执行。注释有多种方式可以选择。在程序中,经常用到注释。注释是一种备注手段,主要为了方便程序编写和维护人员修改、维护代码。注释方法注释内容并不会被程序编译器运行,即注释不会影响程序运行的结果。在C#中,主要有3种注释方式3.XML注释(///)2.多行注释(/**/)1.单行注释(//)单行注释用于注释文字不超过一行的情况,即短小的注释。注释内容很多时,可采用多行注释,只需要将注释文字放到/*和*/之间即可,且*与/之间不能有空格。注意,多行注释不能嵌套使用。XML注释主要用于方法、属性等的注释,因而调用此注释方法的其他用户也会看到相应的提示,该注释还可以方便地生成开发文档。因为该注释可自动生成部分代码,所以不需要人工输入全部内容。注释方法标识符是用来命名变量、方法、参数等的一种字符串。标识符程序中标识符的位置有规定:数字不能放在首位;字母和下划线随意使用;@字符只能放在标识符的首位;标识符区分大小写,如MyCar与myCar是不同的标识符。需要注意的是,标识符不能与C#的类库名称相同。标识符与关键字关键字是C#编译器预定的保留字,用于定义固定内容。关键字不能用作变量名,也不能用作标识符,关键字应全部小写。关键字关键字分为保留关键字(ReservedKeywords)和上下文关键字(ContextualKeywords)两种,二者有区别。上下文关键字充当标识符,有特殊的含义。标识符与关键字保留关键字标识符与关键字abstractasbaseboolbreakbytecasecatchcharcheckedclassconstcontinuedecimaldefaultdelegatedodoubleelseenumeventexplicitexternfalsefinallyfixedfloatforforeachgotoifimplicitinin(genericmodifier)intinterfaceinternalislocklongnamespacenewnullobjectoperatoroutout(genericmodifier)overrideparamsprivateprotectedpublicreadonlyrefreturnsbytesealedshortsizeofstackallocstaticstringstructswitchthisthrowtruetrytypeofuintulonguncheckedunsafeushortusingvirtualvoidvolatilewhile上下文关键字标识符与关键字addaliasascendingdescendingdynamicfromgetglobalgroupintojoinletorderbypartial(type)Partial(method)removeselectset常量与变量02PART常量常量是指在程序运行过程中,值不改变的量。通常,程序中多次出现且固定不变的值定义为常量。枚举类型使用常量最多。常量的特征(1)常量在程序中只能被赋予初始值,初始值一旦被赋予,该常量在程序运行过程中的值就不会改变。(2)对常量进行定义时,表达式中的运算符对象只允许有常量和常数。常量030201变量的命名变量的命名法变量的赋值变量变量的命名变量名可以包括字母、数字和下画线,但数字不能作为开头。(2)变量区分大小写,这意味着china和China是不同的两个变量。(3)变量名不能与C#中的函数名称、关键字及上下文关键字相同。(4)变量命名虽然支持中文,但并不推荐使用。(5)Unicode代码点可以作为变量标志符,效果同使用相应字符效果一样,但此做法并不推荐。(6)变量先赋值再使用。定义局部变量时可以先不赋初值,使用前必须赋初值。变量(1)变量的命名法Pascal命名法所有单词的首字母大写,如变量MyCar。对于能够从外部访问的成员,如类、属性、事件、公共方法(函数)和公共字段等的命名,采取Pascal命名法。匈牙利命名法该命名法的特点是在变量的名称前面添加数据类型的缩写前缀Camel命名法第一个单词首字母小写,其他单词首字母大写,如变量myCar。对于私有字段、私有方法、方法参数和局部变量等应采取Camel命名法。变量变量的赋值,其实就是将数据保存到变量中的过程。变量的赋值在C#中,变量赋值的格式如下:

变量名=表达式该格式的意义是:将表达式计算后的值赋予变量。这里的等号意思是赋值符号,不同于运算表达式中的等号。在程序中,一个变量可以被多次赋值,变量的当前值等于最后一次给变量所赋的值。在对变量进行赋值时,表达式的值的类型必须与变量的类型相同。字符串类型的变量不能是int类型的数值。变量数据类型03PART04030201整型布尔类型char类型枚举类型数据类型0605隐式类型浮点类型数据类型整型类型说明范围sbyte8位有符号整数-128~127byte8位无符号整数0~255short16位有符号整数-32768~32767ushort16位无符号整数0~65535int32位有符号整数-2147483648~2147483647uint32位无符号整数0~4294967295long64位有符号整数-9223372036854775808~9223372036854775807ulong64位无符号整数0~18446744073709551615数据类型布尔类型数据类型bool类型的变量仅有两个值:true和false。true和false两种状态的转换可以通过“!”运算符来实现无论中文字符、英文字符或者数字都归属于char类型,char类型占两个字节,故最多可以容纳65536个符号,其取值范围为0~65535。char类型的赋值需要以成对单引号标记char类型使用char类型需要注意以下五个方面。(1)给字符变量赋值时,需要使用单引号,且单引号内的字符数有且仅有一个。(2)若某个字符使用双引号则表明是字符串,即使其长度为1也无法赋给字符型变量。(3)虽然char类型本质上为整数,然而其整型数值(即int,long,short,byte,sbyte等类型)却不能直接赋给char类型变量。(4)char类型可以直接赋给int和long型变量(不能赋给short,byte,sbyte类型)。它可以像数值一样参与运算,并将结果赋给int或long型变量。(5)char类型在实际应用中常和string类型一起使用,特别是在需要逐字符判断校验字符串中是否含有不合法字符的场合。数据类型enum枚举类型名称{枚举元素1[=数值1],枚举元素2[=数值2],…}枚举类型被用来表达若干固定值定义了枚举后,则可以使用所定义的枚举类型定义新的变量类型枚举类型数据类型数值0有一个特性:它可以赋给任何的枚举变量,而其他数值则不具有此特性。枚举类型元素的默认值类型为int,在默认情况下,各个枚举元素的值按照定义顺序递增1。为枚举类型元素赋值时,所能赋值的类型只能为byte、short、int、long等整型数值。除上面所讲述的常规枚举外,还有一类标记枚举。标记枚举的实现需要注意如下两个事项:(1)在枚举顶部添加[Flags]标记。(2)各个枚举项的值应符合2的幂指数规律。隐式类型用var声明,var关键字是“万能类型”的定义方式,可以用来声明任何类型的变量,但并不意味着声明之后其类型仍不确定。使用var声明变量的情况下,强制要求在声明的同时给变量赋初值当使用var声明变量后,表面没有给变量赋予某个具体的类型,然而编译器将会根据变量的赋值情况,推断其真实类型。一旦其真实类型被推断,则此后该隐式类型变量不能再作为其他类型使用,故隐式类型变量表面类似JavaScript中的弱类型声明方式,但它仍然属于强类型。使用隐式类型变量时需要注意的问题:(1)var声明的变量,初始值不能为null。(2)var可以用来定义任何数据类型,但在声明的同时需要赋初始值。(3)var不能一次声明多个变量,如“vari=1,j=2;”,这是错误的声明方式。(4)var声明的变量,初始值若为表达式,则表达式中不能包含自身,如“vari=i+1”。(5)隐式类型变量仍为强类型,其具体类型由编译器根据初始化赋值情况来推断确定。(6)var能不用则不用,使用场合多为LINQ。(7)var看似相像于object,实则完全不同。其效率和强类型定义方式一样,无object类型使用时的装箱、拆箱操作。隐式类型数据类型无论中浮点类型,分别是float、double和decimal,float和double都为浮点类型,分别称为单精度浮点型和双精度浮点型;而decimal,一般用于精度要求高的场合。小数类型(decimal)是高精度的数据类型,占用16个字节(128位),主要为了满足需要高精度的财务和金融计算机领域。文字符、英文字符或者数字都归属于char类型,char类型占两个字节,故最多可以容纳65536个符号,其取值范围为0~65535。char类型的赋值需要以成对单引号标记浮点类型数据类型浮点数据类型数据类型类型字节精度后缀标记范围float47f/D1.5×10-45~3.4×1038double815~16d/D5.0×10-324~1.7×10308decimal1629m/M1.0×10-28~7.9×1028由于double是浮点数值类型的默认类型,若使用了一个浮点数,而没有在该数值后面添加后缀标记,则会使感到初学者困惑两个整数相除,除数不能为0,因而decimal类型不能除以0,但此结论在float类型和double类型上并不成立。此外,使用小数时还需要注意精度问题。虽然通常情况下,由于误差过小,程序输出结果并不会受到太大影响,但积累到一定程度后,问题便会逐渐显露理论上,该程序输出的值应该每次递增0.1,然而实际输出结果并非如此01020304数据类型数据类型1.隐式

转换2.显式

转换3.Type.Parse4.Convert5.装箱与拆箱隐式转换可以自动进行,不会丢失数量级,不会引发异常的任何转换都属于隐式转换。典型的隐式转换如int转为long,值不会发生根本性的变化,此种转换最简单,只需要使用赋值运算符即可自动完成显式转换又叫强制类型转换,与隐式转换相反,显式转换需要用户明确地指定转换类型。显式转换可以将一种数值类型强制转换成另一种数值类型Type.Parse的转换对象都

温馨提示

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

评论

0/150

提交评论