第2章C基本语法.ppt
《第2章C基本语法.ppt》由会员分享,可在线阅读,更多相关《第2章C基本语法.ppt(78页珍藏版)》请在三一办公上搜索。
1、第2章 C#基本语法,2.1 变量与常量2.2 C#的基本数据类型2.3 不同数据类型之间的转换2.4 运算符与表达式2.5 控制台的输入、输出与输出格式化2.6 C#中的流程控制语句2.7 数组,编程语言都要处理不同类型的数据,而数据都必须以某种方式表示。变量和常量是在编写程序时要经常用到的,变量和常量的使用让代码更具有可读性、更容易维护。,2.1 变量与常量,2.1.1 变量2.1.2 常量,2.1.1 变量,所谓变量,就是代表发生变化的同类型量的符号,在程序中是用来保存特定的值或计算结果的。变量的值可以通过赋值或运算而改变。,1变量的命名,程序中的变量都需要有一个名字,称为变量名。在C#
2、中,变量的命名必须遵循以下规则:变量名必须以字母(或汉字)开头;变量名只能由字母、数字或下划线组成;变量名中不能包含空格、标点符号和运算符号;变量名不能与C#中的关键字同名;变量名不能与C#中的库函数名相同;,2变量的声明及使用,由于C#语言是强类型语言,所以在使用变量前必须遵循先声明后使用的原则。变量声明也就是说明变量的类型及构成变量的字符,说明之后就可以使用了。在定义变量名及类型时,可以直接给变量赋值,相当于变量的初始化。如果变量在定义时没有赋值,则在程序中就必须给变量赋值,否则,定义的变量就没有存在的必要了。,3匿名类型的变量,C#3.0(适用于VS2008及更高版本)提供了一种新类型的
3、变量,称为匿名类型的变量。匿名类型的变量就是程序员不必指定“局部”变量的类型,统统用var来表示类型即可。,4变量的作用域和生命期,与C语言不同,C#允许在任何代码块中声明变量,在某一代码块中定义的变量,在该代码块及其所属子代码块中可以对其进行各种操作,这就是该变量的作用域,如果该代码块及其所属子代码块执行完毕,则在该代码块中定义的变量的生命期也就结束了。每次创建新的代码块时,都意味着创建了一个作用域。作用域规则提供了封装的基础。,变量在进入作用域时被创建,在离开作用域时被销毁。这就意味着一旦离开作用域,变量就无法存储原来的值。因此说,变量的生命期被限制在其作用域范围之内。,2.1.2 常量,
4、常量就是其值固定不变的量,即在程序执行期间,其值不会发生变化。在C#中,用关键字const声明的量为常量。,2.2 C#的基本数据类型,2.2.1 C#数据类型的分类2.2.2 整数类型2.2.3 字符类型与字符串类型2.2.4 实数类型与十进制类型2.2.5 布尔类型2.2.6 枚举类型2.2.7 结构类型,2.2.1 C#数据类型的分类,C#提供的数据类型可以分为两大类,一类是值类型(value type),另一类是引用类型(reference type)。值类型又可分为简单类型、枚举类型、结构类型和可空类型;引用类型则进一步划分为类类型、接口类型、数组类型和委托类型。,2.2.2 整数类
5、型,整数类型共有8种,这8种整数类型数据战用的内存位数各不相同。,2.2.3 字符类型与字符串类型,C#提供了字符(char)来处理ASCII字符和Unicode编码的字符。Unicode是国际标准化组织制定的采用16位二进制表示的字符集,ASCII字符集成为Unicode字符集的一部分,它可以表示世界上大多数语言。,char可隐式转换为ushort、int、uint、long、ulong、float、double或decimal类型。但是,不可隐式地将其他类型转换为字符类型。例如下面的程序将char类型隐式转换为int类型。,2.2.4 实数类型与十进制类型,实数又称浮点数。实数数据有两种表
6、示形式:单精度(float)和双精度(double),这两者的主要区别是取值的范围和精度不同。另外,C#还提供了一种专门用于计算金融和货币方面的数据类型十进制类型(decimal)。,2.2.5 布尔类型,布尔类型数据仅有两个值,“true”和“false”,对应的.NET Framework类型为System.Boolean。与C语言不同,C#中是不允许用其他值来取代这两个值的(如C语言中可以用0代表“假”,用非0代表“真”)。并且C#中规定,条件表达式的运算结果必须是bool型。,2.2.6 枚举类型,枚举类型是由用户根据具体问题定义的数据类型,其定义的形式一般为:enum 枚举名 枚举值
7、表;枚举值表中列出了所有可用值,这些值称为枚举元素。例如:enum Day Sun,Mon,Tue,Wed,Thu,Fri,Sat;,2.2.7 结构类型,结构类型是另一种由用户定义的数据类型,一般情况下,结构类型往往是将几种不同的数据类型定义为一个有机的整体,由结构体作为运算的基本元素参与运算。例如,编写一个学生信息管理系统,需要对全校学生的信息进行管理,而每个学生的信息包括学号、姓名、性别、年龄、籍贯、成绩等等信息,如果用简单的数据类型进行存储,虽然完全可以完成相应的工作,但却很难反映出这些数据的内存联系。,在C#中,结构体定义的形式一般为:,struct 结构体名 结构体成员;定义一个学
8、生基本信息的结构体如下:struct Student public int ID;/学号 public string Name;public char Sex;public int Age;public int Score;/成绩public string Address;,2.3 不同数据类型之间的转换,2.3.1 隐式转换与显式转换2.3.2 装箱和拆箱,在实际使用中,有时需要将一种数据类型转换成另一种数据类型参与数据处理,因而C#语言中提供了多种不同数据类型之间的转换方式。如果是一种值类型转换为另一种值类型,或者一种引用类型转换为另一种引用类型,比较常用的转换方式是隐式转换和显式转换。对
9、于不同值类型之间的转换,可以使用Convert类提供的静态方法进行转换。,2.3.1 隐式转换与显式转换,隐式转换就是系统默认的、不需要加以声明就可以进行的转换。如从int类型转换为long类型:int k=1;long i=2;i=k;/隐式转换,隐式转换适用于从低精度、小范围的数据向高精度、大范围的数据类型转换,一般不会有问题。这是因为大范围类型的变量具有足够的空间存放小范围类型的数据。,显式转换是强制类型转换,需要用户明确指定转换的类型。例如:long k=1234;int i=(int)k;,在变量k前加上一个括起来的数据类型的方式的转换就是显式转换,它要求系统把变量k的值强制转换为i
10、nt类型后赋给变量i。所有的隐式转换都可以用显式转换进行操作。,2.3.2 装箱和拆箱,在System命名空间下有一个Object类,该类是其它所有类型的基类,因而,可以将Object类的对象显式转换为任何一种对象。装箱和拆箱就是基于这种思想而设计的。装箱和拆箱是C#类型系统的核心概念。通过允许一个值类型转换为引用类型或从一个引用类型转换成值类型的机制,形成了值类型与引用类型之间的等价连接,即任何数据都可被看作对象。,1.装箱,装箱(boxing)操作是将值类型隐式地转换为Object类型,或者把这个值类型转换成一个被该值类型应用的接口类型(interface-type)并将其装箱,也就是创建
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基本 语法

链接地址:https://www.31ppt.com/p-5896160.html