C程序的设计2章_第1页
C程序的设计2章_第2页
C程序的设计2章_第3页
C程序的设计2章_第4页
C程序的设计2章_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

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

文档简介

1、c# 程序设计 www.zg- www.zr- www.skf- www.nsk- www.fag- www.ntn- 第2章 c#程序设计基础n值类型和引用类型数据的使用值类型和引用类型数据的使用 n值类型和引用类型数据的区别值类型和引用类型数据的区别 n数据类型转换数据类型转换n变量和常量的使用变量和常量的使用 n常用运算符和关键字常用运算符和关键字 2.1 数据类型数据类型 2.1.1 值类型值类型 值类型共分为3大类 简单类型结构类型枚举类型2.1.1 值类型值类型 1. 简单类型 简单类型包含:整数类型字符类型、实数类型布尔类型 c#基本类型类型说明范 围byte8位无符号整型025

2、5(028-1)sbyte8位有符号整型-128127(-2727-1)short16位有符号整型-3276832767(-215215-1)int32位有符号整型-21474836482147483647(-231231-1)long64位有符号整型-92233720368547758089223372036854775807(-263263-1)ushort16位无符号整型065535(0216-1)uint32位无符号整型04294967295(0232-1)ulong64位无符号整型018446744073709551615(0264-1)整数类型实数类型c#基本类型类型说明范 围de

3、cimal有28位小数的高精度浮点数1.010-287.91028single(float)单精度浮点类型1.510-453.41038double双精度浮点类型5.010-3241.710308字符型 c#基本类型类型说明范 围decimal有28位小数的高精度浮点数1.010-287.91028single(float)单精度浮点类型1.510-453.41038double双精度浮点类型5.010-3241.7103082.1.1 值类型值类型 1. 简单类型 简单类型包含:整数类型字符类型、实数类型布尔类型 2.1.1 值类型值类型 (1)整数类型 c#支持8种整型类型,分别是:byt

4、e、sbyte、short、int、long、ushort、uint和ulong c#基本类型类型说明范 围byte8位无符号整型0255(028-1)sbyte8位有符号整型-128127(-2727-1)short16位有符号整型 -3276832767(-215215-1)int32位有符号整型 -21474836482147483647(-231231-1)long64位有符号整型-92233720368547758089223372036854775807(-263263-1)ushort16位无符号整型 065535(0216-1)uint32位无符号整型 04294967295(

5、0232-1)ulong64位无符号整型 018446744073709551615(0264-1)2.1.1 值类型值类型 (2)实数类型 c#中的实数型包含单精度浮点型(float)、双精度浮点型(double)和固定精度浮点型(decimal)三种 c#基本类型类型说明范 围decimal有28位小数的高精度浮点数1.010-287.91028single(float)单精度浮点类型1.510-453.41038double双精度浮点类型5.010-3241.7103082.1.1 值类型值类型 (2)实数类型浮点型数据表示: 1.20f 双精度型数据表示:12.5d 固定精度浮点型数据

6、表示:25.7m 2.1.1 值类型值类型 (3)字符型 使用的是unicode编码 . unicode编码是16位字符集,最多可表示65536个字符,并且asc码字符集被包含于unicode字符集中,所以ascii码的字符值与相应的unicode编码值是相同的。 2.1.1 值类型值类型 (3)字符型 字符型的内容要用单引号括起来,如果把字符放到双引号中,那么编译器会把它视为字符串,从而导致编译错误。例如字符型数据:a、a。 转义序列字符说明单引号双引号反斜杠0空a警告b退格f换页n换行r回车t水平制表符v垂直制表符2.1.1 值类型值类型 (4)布尔类型 布尔类型的数据只含有两个数值:tr

7、ue和false,即变量为真或者为假。 2. 结构类型(struct types)声明一个结构体类型的一般形式如下:struct 结构体名 /成员列表 2. 结构类型(struct types)struct people public string name; public int age; public string telephone; 2. 结构类型(struct types)people m; = 刘艺丹; m.age = 7; m.telephone = console.writeline(姓名:0,); console.writ

8、eline(年龄:0岁, m.age ); console.writeline(电话号码:0, m.telephone); console.readline();3. 枚举类型 枚举是指将变量的值一一列举出来,变量的值只限于列举出来的值的范围内。例如: enum weekday sun,mon,tue,wed,thu,fri,sat3. 枚举类型 weekday w; w = weekday.wed; console.writeline(w); w = w + 2; console.writeline(w); w = (weekday)4; console.writeline(w); cons

9、ole.readline();2.1.2 引用类型 引用类型保存的是数据的存放位置,保存数据的空间大小就不一定相同 string s1 = mm; string s2 = hello c# world!; 2.1.2 引用类型在c#中提供以下引用类型: 类类型 接口类型 委托类型 数组类型 字符串类型 object类型 在.net框架中有两种类型转换:显示转换和隐式转换。 隐式转换是一种由clr自动执行的类型转换,只有在确保不会丢失信息的情况下,才可以使用这种转换;显示转换是一种需要明确请求编译器执行的类型转换,否则可能会丢失信息或产生转换错误。2.1.3 数据类型转换 1. 隐式转换源类型目

10、的类型sbyteshort,int,long,float,double或decimalbyteshort,ushort,int,uint,long,ulong,float,double或decimalshortint,long,float,double或decimalushortint,uint,long,ulong,float,double或decimalintlong,float,double或decimaluintlong,ulong,float,double或decimallongfloat,double或decimalcharushort,int,uint,long,ulong,fl

11、oat,double或decimalfloatdoubleulongfloat,double或decimal下面是一个隐式转换的示例:int x = 654321;long y=x;2.1.3 数据类型转换 显示转换的语法如下:类型 变量名 = (强制类型名) 变量名以下是显示类型转换的示例:int a = 168; short b = (short)a; 2. 显示转换string mystring = true;bool mybool = convert.toboolean(mystring); string newstring = 123456789;int myint = conver

12、t.toint32(newstring); int64 myint64 = 123456789;int myint = convert.toint32(myint64); double mydouble = 42.72;int myint = convert.toint32(mydouble); 3使用system.convert转换数据类型 变量和常量是程序设计中常用的存储数据的单元,变量是程序设计中值可以改变的量;常量是程序设计在编译时就规定了值,不能再改变的量。 变量必须先定义后使用 2.2 变量和常量int x;/定义整形变量xint y;/定义整形变量y2.2.1 变量定义变量的一般

13、格式为: 访问修饰符变量修饰符 变量的数据类型 变量名; 2.2.1 变量c#提供了下面几种访问修饰符: public,表示对变量的访问不受任何限制; protected internal,表示可以在类的内部访问该变量; protected,表示只能在包含变量的类或派生类中对变量进行访问; internal,表示变量的访问范围只能在当前项目(project)或者是模块内; private,表示变量的访问范围只能在包含它的类中。 2.2.1 变量(2)变量修饰符可用来区分变量是静态变量还是其他变量 (3)变量名必须是符合语言规定的标识符。 2.2.1 变量判断下列变量定义的对错:int coun

14、t;float 5s; bool using; bool using;string lbsina;string lbsina; string lb&sina; short countdrive; short countdrive; short countdrive; 2.2.1 变量1.常数常量 常数常量使用关键字const来定义。常数常量所在的字段必须在定义时就进行赋值,这样在编译时字段的值就已经固定,以后为类型创建的每个实例都共享这一常量。 例如定义一个圆周率常数常量: public const double pi= 3.14159; 2.2.2 常量2. 只读常量 只读常量使用关

15、键字readonly来定义。对只读常量的赋值有两种方法:一种是在字段定义时就进行赋值;一种是在类或结构的构造函数中进行初始化。 public readonly int x; public static readonly int y; 2.2.2 常量 表达式由操作数(即操作对象)和操作符组成。操作数可以是一个变量、常量或另一个表达式,操作符则指明作用于操作数的操作方式。依据所作用操作数的个数,操作符可以分为3类: 一元操作符二元操作符三元操作符2.3 操作符和表达式 类别操作符操作符初级操作符(x) x.y f(x) ax x+ x-一元操作符+ - ! +x -x (t)x乘除操作符* /

16、%加减操作符+ -移位操作符关系操作符 = is as等式操作符= !=逻辑与操作符&逻辑异或操作符逻辑或操作符|条件与操作符&条件或操作符|条件操作符?:= *= /= %= += -= = &= = |= 算术操作符是用于组合数字、数值变量、数值字段和数值函数以得到另一个数字。 2.3.2 算术操作符 2.3.2 算术操作符 操作符操作符定义举例说明+加法符号x=a+bx等于加后所得的结果-减法符号x=a-bx等于减后所得的结果*乘法符号x=a*bx等于乘后所得的结果/除法符号x=a/bx等于除后所得的商%取模符号x=a%bx等于除后所得的余数 +(自增操作符)和-

17、(自减操作符),其作用是使变量的值自动增加1或者减少1 +a; -a; a+; a-; 2.3.2 算术操作符 分别说出下列x,y的值 (1)int x=5,y=0;y=+x; (2)int x=5,y=0;y=x+; 2.3.2 算术操作符 2.3.3 赋值操作符操作符操作符定义举例说明=赋值x=a+= 加x+=ax=x+a-= 减 x-=ax=x-a*= 乘 x*=ax=x*a/= 除 x/=ax=x/a%= 取余x%=ax=x%a2.3.4 关系操作符操作符说明=操作符检验两个操作数ab是否相等。操作符检验第一个操作数a是否大于第二个操作数b。=操作符检验第一个操作数a是否大于或等于第二

18、个操作数b。=操作符检验第一个操作数a是否小于或等于第二个操作数b。2.3.5 逻辑操作符 操作符操作符定义举例&“与”a & b|“或”a | b! “非”! a “异或”a b2.3.6 位运算符 符号描述按位取反&按位与|按位或右移按位异或1。按位取反运算符() “”运算符是一元运算符,是对二进制数进行按位取反,运算规则是将二进制数的0转换为1,1转换为0。 2.3.6 位运算符2. 按位与运算符 “&”运算符是二元运算符,在“按位与”运算的两个操作数中,进行运算的两个相应位中任意一位为0时,运算结果的对应位就会被置为0。 运算规则是:1&1=1,0&1=0,0&0=0 2.3.6 位运算符3. 按位或运算符 “|”运算符是二元运算符,如果两个操作数相应的二进制位中有一个是1

温馨提示

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

评论

0/150

提交评论