项目2 C#语言基础 任务2.2-数据类型(课件)-《C#程序设计基础》(河海大学出版社)同步精品课堂
|
26页
|
123人阅读
|
0人下载
精品
内容正文:
C#
项目2C#语言基础
制作:孔艳丽
2024年2月
2010版
C#
项目2C#语言基础
C#程序的组成
保留字和标准指令符
任务2.1
制作一个简单的计算器
标识符和注程
控制台程序中的标准输入和输出
C#程序代码的书写规则
值类型
项目2C#语言基础
任务2.2
显示购物清单
引用类型
类型转换
任务2.3
变量
温度转换器
常量
任务2.4
运算符和表达式
体重指数计算器
运算符优先级和结合性
2010版
C#
任务2.2显示购物清单
C#中的变量类型分为两种:一种是值类型;另一种是引用类型。这两种类型的区别是数据的存
储方式,值类型只需要一段单独的内存(称为栈)来存储实际的数据。而引用类型需要两段内存,
第1段存储实际数据,它总是位于堆中,第2段是一个引用,指向数据在堆中的存放位置。
栈
栈,
堆
变量名一
数据。
数据
变量名
引用,
值类型变量的存储方式
引用类型变量的存储方式
注意:栈(Stack)是内存中用于存储值类型变量的一段连续的区域。堆(Heap)是内存中用
于存储引用类型数据的一段不连续区域。
2010版
C#
任务2.2显示购物清单
2.2.1值类型
值类型变量直接存储数据值。
C#中的值类型有三类:简单类型、结构类型和枚举类型。其中简单类型有13个,分
别是整数类型(8个)、浮点类型(2个)和小数(decimal)类型(1个)、布尔类型(1)
和字符类型(1个),如图2-8所示。
整数类型(8个)
数值类型
浮点类型(2个)
简单类型
小数类型
字符类型
值类型
布尔类型
结构类型
枚举类型
图2-8值类型的分类
2010版
c#
任务2.2显示购物清单
2.2.1值类型
1.整数类型
整数类型用来存储整数数值。可以是正数,也可以是负数。在C#中,整型数据可以表示成十进
制或十六进制。
(1)十进制:用0~9表示,逢十进位,如120、0、-127。
(2)十六进制:用0~9和A~F(或a~f)表示,逢十六进位,必须以0X或0x开头,如0x25(十
进制数为37)、0Xb01e(十进制数为45086)。
2010版
C#
任务2.2显示购物清单
2.2.1值类型
1.整数类型
C#中内置的整数类型
序号
类型
说明
范围
sbyte
8位有符号整数
-128~127(-27~27-1)
2
short
16位有符号整数
-32768~32767(-215~215-1)
3
int
32位有符号整数
-231~231-1
4
long
64位有符号整数
-263~263.1
5
byte
8位无符号整数
0~255(0~28-1)
6
ushort
16位无符号整数
0~65535(0~216-1)
7
uint
32位无符号整数
0232-1
8
ulong
64位无符号整数
0~264.1
通常我们使用int定义整数类型。
2010版
C#
任务2.2显示购物清单
2.2.1值类型
2.浮点类型
浮点类型变量主要用于处理含有小数的数值数据,浮点类型主要包含floati和double两种数值类型。
若无精度要求,通常使用float来定义浮点数。一个小数如果没有定义类型,则默认为double类型。
浮点类型及描述
类型
说明
范围
float
32位单精度浮点数,小数位精确到7位数
±1.5x1045~±3.4x1038
double
64位双精度浮点数,小数位精确到15-16位数
±5.0x10324~±1.7x10308
3.decimal,小数类型
decimal类型能表示128位高精度浮点数,小数位精确到28位数,数值范围是±1.0×10-28~±7.9×1028
decimal类型是一种专门用于财务计算的类型,如果要将数值以decimal类型来处理,就应该通过使用M(或m)
将其强制指定为decimal类型。例如:
decimal d=123.456M
浮点类型和小数类型用来表示数学中的实数,又称实数数据类型。
2010版
C#
2.2.1值类型
任务2.2显示购物清单
4.字符类型
在C#中,char类型用于表示单个字符。
char类型表示的是一个16位的Jnicode字符,不再是8位的ASCI码。即1个字符由2个字节组成。
cha类型的字符值是用单引号括起来表示的,如果用双引号,则系统会把它看作字符串,从而产生
错误。例如:char c='A';正确
,char c="A";/错误
5.布尔类型
布尔类型数据用于逻辑运算,表示真或假的情况,通常被用在流程控制中作为判断条件。布尔类
型变量的值只能是true和false,分别表示真和假。布尔类型变量不能与其他类型进行转换。
【例2-4】定义一个布尔类型的变量isTrue,第一次给它赋值为true,第二次给它赋值为false,
并输出结果。
static void Main(string[]args)
bool isTrue=true;
∥定义一个bool类型的变量
C.Windows\system32×
Console..WriteLine("'isTrue的值为:"+isTrue);∥输出bool变量的值
isTrue的值为:True
isTrue=false;/∥将bool变量设置为false
isTrue的新值为:False
请按任意键继续.··
Console.WriteLine("isTrue的新值为:"+isTrue);/再次输出bool变量的值
2010版
C#
2.2.1值类型
任务2.2显示购物清单
6.结构类型
结构类型可以由不同类型的元素组成,
[访问修饰符]struct结构名[:包含结构所实现接口的列表]
这些元素称为成员或域。在结构类型中为每
1结构体
个成员指定一个名称和数据类型。格式:
【说明】
①访问修饰符表达不同的保护级。
public可以被任意存取。
protected只可以被本类和其继承子类存取。
internal只可以被本组合体(Assembly)内所有的类存取。
protected internal只可以被本组合体内所有的类和这些类的继承子类所存取。
private只可以被本类所存取。
②struct是关键字,用于定义一个结构。
③结构名,应选择一个能表示该结构所包含数据的意义的名词。
④大括号{}用于包含结构的成员。⑤对结构成员的访问通过结构变量名加访问符“”后跟成员的名称实现。
2010版
C#
2.2.1值类型
任务2.2显示购物清单
6.结构类型
例如,通讯录的记录中可以包含他人的姓名、电话和地址。如果按照简单类型来管理,每条记录都
要存放到三个不同的变量中,这样的工作量很大,也不够直观。我们可以定义通讯录记录结构:
struct PhoneBook
public string name;
public string phone;
public string address;}
PhoneBook p1;
p1就是一个Phone Book结构类型的变量。
对结构成员的访问通过结构变量名加访问符“”后跟成员的名称实现
p1.name="Mike";
2010版
资源预览图