目录
项目任务
如何用计算机来表达我们所见的各种事物?
这些对象如何用计算机语言来表达它的属性和行为呢?
这些数据在计算机中如何存储?
一、C#的数据类型

根据类型结构图我们得出:
(1)值类型包括内置数据类型如(int double float)、用户自定义值类型(struct 结构体)、枚举(emun)。
(2)引用类型包括指针类型、接口类型和自描述类型等。指针类型仅用于非安全代码中,在这里不讨论。
1. 简单数据类型
C#认可的基本预定义类型并没有内置于语言中,而是内置于.NET Framework 中,C#有
15 个预定义类型
,其中
13 个是值类型
,
2 个是引用类型
(string 和 object)。所有的简单类型均为 .NET Framework 系统类型的别名。例如, int 是 System. Int32 的别名。有关完整的别名如表所示,除了 object 和 string 外,表中的所有类型均称为简单类型。C#类型的关键字及其别名可以互换。例如,可使用表中两种声明中的一种来声明一个整数变量。数据类型的内存大小可能会根据 32 位或 64 位操作系统而不同。
2. 值类型和引用类型
C#的数据类型分为值类型和引用类型。区别:
1. 值类型的变量直接存放实际的数据,而引用类型的变量存放的则是数据的地址,即对象的引用;
2. 对于值类型,每个变量直接包含自身的所有数据,每创建一个变量,就在内存中开辟一块区域;而对于引用类型,每个变量只存储对目标存储数据的引用,每创建一个变量,就增加一个指向目标数据的指针。
3. 预定义的值类型
内置的值类型表示基本数据类型,例如整型和浮点类型、字符类型和 bool 类型。
(1)整数类型
整型数只能存放整数,C#提供了 9 种整型类型。
(2)实数类型
实数型也称为浮点类型,一般用来表示一个由确定值的小数,浮点数分为两种:单精度 (float)和双精度(double),其差别在于取值范围和精度不同。
(3)布尔(bool)类型
取值只能是 ture 或者 false,它在计算机中占 4 个字节,即 32 位存储空间。
(4)字符类型
char 类型的字面量是用单引号括起来的,例如'A'。如果把字符放在双引号中,编译器会把它看作是字符串,从而产生错误。除了把 char 表示为字符字面量之外,还可以用 4 位16 进制的 Unicode 值(例如'\u0041'),带有数据类型转换的整数值(例如(char)65),或 16 进制数('\x0041')表示它们。
4. 预定义的引用类型
(1)object 类型
许多编程语言和类结构都提供了根类型,层次结构中的其它对象都从它派生而来。C# 和.NET 也不例外。在 C#中,object 类型就是最终的父类型,所有内在和用户定义的类型都从它派生而来。这是 C#的一个重要特性。所有的类型都隐含地最终派生于 System.Object 类。
(2)string 类型
C#还定义了一个基本的类 string,专门用于对
字符串
的操作。这个类也是在命名空间System 中定义的,是类 System.String 的别名。
二、常量
1、常量的定义
在编译时其值能够确定,并且程序运行过程中值不发生变化的量。定义常量类型有 int, bool,char,double,sting 等。
语法: const 类型名 常量名=常量表达式;
例子: const string s="some text";
常量初始化:常量在定义时必须被初始化。通过在声明和初始化变量时,在前面加上 const 关键字,可以把此变量指定为常量。
const int i=10;const int j=i+2;
只能把局部变量和字段声明为常量。
2、常量的特征如下:
(1)常量必须在声明时初始化。指定了其值后,就不能再修改了 。
(2)常量的值必须能在编译时用于计算。因此,不能用从一个变量中提取的值来初始化常量,如果需要这么做,应使用只读字段。
(3)常量总是静态的,但不允许在常量声明中使用 static 修饰符。在程序中使用常量名要易于理解,使程序更易于阅读常量,使程序更易于修改。
三、变量
变量代表数据的实际存储位置,变量表示数值或字符串值或类的对象,它所能存储的数值由它本身的类型决定。在变量被赋值以前,变量自身的类型必须被明确地声明。变量存储的值可能会发生更改,但名称保持不变。
1. 变量声明的语法格式:
类型 变量名[=初值][变量名=[初值]...];
2. 说明:
(1)变量名必须是字母或下划线开头不能有特殊符号。
(2)在声明变量的同时可以给变量赋初值。例如:
int i=2;
(3) 如果在一个语句中声明和初始化了多个变量,那么所有的变量都具有相同的数据类型。例如:
int x,y=10;//定义了两个整型变量 x,y,其中 y 的初始值为 10;
(4) 要声明类型不同的变量,需要使用单独的语句。在多个变量的声明中,不能指定不同的数据类型:
int x = 10;bool y = true;int x = 10, bool y = true;// 这是不符合语法规定的!
(5) C#语言共有 7 种变量类型:静态变量,实例变量,数组元素,值参数,引用参数, 输出参数和局部变量等。
6. 注意:
C#在使用变量之前必须进行初始化。否则系统会提示错误。如没有赋值,采用默认值。
对于简单类型,sbyte、byte、short、ushort、int、uint、long 和 ulong 默认值为 0,char 类型默认值是0,float 为 0.0f,double 为 0.0d,decimal 为 0.0m,bool 为 false, 枚举类型为 0。
7. 初始化可以采用下面的方法:
(1)显示赋值。例如:
int i=0;
(2) 数值类型都是结构类型,可用 new 语句调用其构造函数初始化数值类型变量,例如:
int j=new int();
注意,用 new 语句并不是把 int 变量变为引用变量,j 仍是值类型变量,这里 new 仅仅是调用其构造函数。
四、代码案列
输入圆的半径,求圆的周长和圆的面积。
代码如下:
class Program
{
static void Main(string[] args)
{
const float PI = 3.1415f; //定义浮点型常量
Console.Write("输入圆的半径:");
float r, l, s; //定义浮点型变量
r = float.Parse(Console.ReadLine()); //将键盘输入的值转化为浮点类型,并赋予变量r
l = 2 * PI * r;
s = PI * r * r;
Console.WriteLine("圆的半径为:{0},周长:{1},面积:{2}", r, l, s);
Console.ReadLine();
}
}
1172

被折叠的 条评论
为什么被折叠?



