第3-12章C#程序设计基础.ppt
《第3-12章C#程序设计基础.ppt》由会员分享,可在线阅读,更多相关《第3-12章C#程序设计基础.ppt(47页珍藏版)》请在三一文库上搜索。
1、第3章 C#程序设计基础,3.1 标识符 3.2 C#中数据类型 3.3 C#中的变量和常量 3.4 结构类型和枚举类型 3.5 C#运算符和表达式 3.6 C#中常用类和结构,3.1 标识符,C#的标识符名称必须遵守以下规则: (1)所有的标识符只能由字母、数字和下划线这3类字符组成,且第一个字符必须为字母或下划线。 (2)标识符中不能包含空格、标点符号、运算符等其他符号。 (3)标识符严格区分大小写。 (4)标识符不能与C#关键字名相同。 (5)标识符不能与C#中的类库名相同。,a12_c ,1abc ,3.2 C#中数据类型,C#中数据类型分类,3.2.1值类型 值类型的变量内含变量值本
2、身,C#的值类型可以分为简单类型、结构类型和枚举类型。下面仅介绍简单类型。,1. 整数类型,2. 实数类型,3 字符类型,例如,可以采用如下方式字符变量赋值: char c=H ; / 字符H char c=x0048; / 字符H,十六进制转义符(前缀为x) char c=u0048; / 字符H,Unicode表示形式(前缀为u) char c=r; / 回车,转义字符 在表示一个字符常数时,单引号内的有效字符数量必须且只能是一个,而且不能是单引号或者反斜杠()。,4. 布尔类型 布尔类型数据用于表示逻辑真和逻辑假,布尔类型的类型标识符是bool。,3.2.2 引用类型 引用类型也称为参考
3、类型。和值类型相比,引用类型的变量不直接存储所包含的值,而是指向它所要存储的值。类似C中的指针。,1. object类 object是C#中所有类型(包括所有的值类型和引用类型)的基类,C#中的所有类型都直接或间接地从object类中继承而来。因此,对一个object的变量可以赋予任何类型的值。 float f=1.23; object obj1; /定义obj1对象 obj1=f; object obj2=“China“; /定义obj2对象并赋初值,2. string类 C#还定义了一个string类,表示一个Unicode字符序列,专门用于对字符串的操作。同样,这个类也是在.NET Fr
4、amework的命名空间System中定义的,是类System.String的别名。 字符串在实际中应用非常广泛,利用string类中封装的各种内部操作,可以很容易完成对字符串处理。例如: string str1=“123“+“abc“; /“+“运算符用于连接字符串 char c=“Hello World!“2; /“运算符可以访问string中的单个字符,c=e string str2=“China“; string str3=“China“; / 字符串的另一种表示形式,用引起来。 bool b=(str2=str3); /“=“运算符用于两个字符串比较,b=true,3.2.3 类型转
5、换 数据类型在一定条件下是可以相互转换的,如将int型数据转换成double型数据。C#允许使用两种转换的方式:隐式转换和显式转换。 1. 隐式转换 隐式转换是系统默认的、不需要加以声明就可以进行的转换。,2. 显式转换 显式转换又叫强制类型转换,与隐式转换相反,显式转换需要用户明确地指定转换类型,一般在不存在该类型的隐式转换时才使用。格式如下: (类型标识符)表达式 其作用是将“表达式”值的类型转换为“类型标识符”的类型。例如: (int)1.23 /把double类型的1.23转换成int类型,结果为1 需要提醒注意以下几点: (1)显式转换可能会导致错误。进行这种转换时编译器将对转换进行
6、溢出检测。如果有溢出说明转换失败,就表明源类型不是一个合法的目标类型,转换就无法进行。 (2)对于从float、double、decimal到整型数据的转换,将通过舍入得到最接近的整型值,如果这个整型值超出目标类型的范围,则出现转换异常。,【例3.1】 设计一个控制台程序说明类型转换的应用。,using System; namespace Proj3_1 class Program static void Main(string args) int i=65,i1,i2; double d = 66.3456,d1,d2; char c = A,c1,c2; Console.WriteLine
7、(“i=0:d5,d=1:f,c=2“, i, d, c); i1 = (int)d; /强制类型转换 d1 = i; /隐式类型转换 c1 = (char)i; /强制类型转换 Console.WriteLine(“i1=0:d5,d1=1:f,c1=2“, i1, d1, c1); i2 = c; /隐式类型转换 d2 = (int)d; /强制类型转换,转换成整数后再隐式转为double类型 c2 = (char)d; /强制类型转换 Console.WriteLine(“i2=0:d5,d2=1:f,c2=2“, i2, d2, c2); ,3.2.4 装箱和拆箱 1. 装箱转换 装箱
8、转换是指将一个值类型的数据隐式地转换成一个对象类型的数据。例如,下面语句就执行了装箱转换: int i=8; object obj=i; 或 object obj=(object)i; 2. 拆箱转换 拆箱转换是指将一个对象类型的数据显式地转换成一个值类型数据。例如,下面语句就执行了拆箱转换: object obj=2; int i=(int)obj; 拆箱转换需要(而且必须)执行显式转换,这是它与装箱转换的不同之处。,3.3 C#中的变量和常量 3.3.1 变量 1. 变量定义 在C#程序里使用某个变量之前,必须要告诉编译器它是一个什么样的变量,因此要对变量进行定义。定义变量的方法如下: 访
9、问修饰符 数据类型 变量名 = 初始值; 例如: string name=“王华“; int age=20; 也可以同时声明一个或多个给定类型的变量,例如: int a=1,b=2,c=3;,2. 理解值类型的变量 如果一个变量的值是普通的类型,那么这个C#变量就是值类型的变量。值类型的变量直接把值存放在变量名标记的存储位置上。 当定义一个值类型变量并且给它赋值的时候,这个变量只能存储相同类型的数据。所以,一个int类型的变量就只能存放int类型的数据。另外,当把值赋给某个值类型的变量时,C#会首先创建这个值的一个拷贝,然后把这个拷贝放在变量名所标记的存储位置上。 例如: int x; int
10、 y=2; x=y;,3. 理解引用类型的变量 引用表示所使用的是变量或对象的地址而不是变量或对象本身。当声明引用类型变量时,程序只是分配了存放这个引用的存储空间。要想创建对象并把对象的存储地址赋给该变量,就需要使用new操作符。例如: MyClass var; /MyClass是已定义的类或类型 var=new MyClass(); 数组示例: int a = new int3 1, 2, 3; for (int i = 0; i 3; i+) Console.Write(“0 “,ai);,3.3.2 常量 1. 直接常量 直接常量是指把程序中不变的量直接硬编码为数值或字符串值,例如,以下
11、都是直接常量: 100 /整型直接常量 1.23e5 /浮点型直接常量,2. 符号常量 符号常量是通过关键字const声明的常量,包括常量的名称和它的值。常量声明的格式如下: const 数据类型 常量名=初始值; 其中,“常量名”必须是C#的合法标识符,在程序中通过常量名来访问该常量。“类型标识符”指示了所定义的常量的数据类型,而“初始值”是所定义的常量的值。 例如: const double PI=3.14159265;,3.4 结构类型和枚举类型 3.4.1 结构类型 1. 结构类型的声明 结构类型由若干“成员”组成的。数据成员称为字段,每个字段都有自已的数据类型。声明结构类型的一般格式
12、如下: struct 结构类型名称 字段访问修饰符 数据类型 字段1; 字段访问修饰符 数据类型 字段2; . 字段访问修饰符 数据类型 字段n; ;,例如,以下声明一个具有姓名和年龄的结构体类型Student: struct Student /声明结构类型Student public int xh; /学号 public string xm; /姓名 public string xb; /性别 public int nl; /年龄 public string bh; /班号 ;,2. 结构类型变量的定义 声明一个结构类型后,可以定义该结构类型的变量(简称为结构变量)。定义结构变量的一般格式如
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 12 C# 程序设计 基础
链接地址:https://www.31doc.com/p-3425962.html