第2章:数据类型、运算符与表达式

上传人:枫** 文档编号:579010706 上传时间:2024-08-25 格式:PPT 页数:53 大小:252.54KB
返回 下载 相关 举报
第2章:数据类型、运算符与表达式_第1页
第1页 / 共53页
第2章:数据类型、运算符与表达式_第2页
第2页 / 共53页
第2章:数据类型、运算符与表达式_第3页
第3页 / 共53页
第2章:数据类型、运算符与表达式_第4页
第4页 / 共53页
第2章:数据类型、运算符与表达式_第5页
第5页 / 共53页
点击查看更多>>
资源描述

《第2章:数据类型、运算符与表达式》由会员分享,可在线阅读,更多相关《第2章:数据类型、运算符与表达式(53页珍藏版)》请在金锄头文库上搜索。

1、第2章 数据类型、运算符与表达式课程内容安排n什么是常量?n什么是变量?n什么是数据类型?n运算符 n装箱和拆箱 什么是变量、常量?n变量是指在程序运行的过程中,值可以发生变化的量。int i=100; Console.WriteLine(i);n常量是指在程序运行的过程中,值不会发生变化的量。常量的声明,需声明程序中要用到的常量名称和对它进行赋值。 const int max=10; Console.WriteLine(i);常量n常量可以是任何一种值类型或引用类型。例如,圆周率PI就是一个常量,因为它的值是不变的。n在程序设计中,一般常量都用大写字母来表示,例如圆周率PI在程序中定义为常量

2、时就是写成PI。 const double PI=3.14159n直接常量3,-3.45,abc等变量的命名规则如下:n变量名必须以字母开头,名字中间只能由字母、数字和下划线“_”组成;n变量名的长度不能超过255个字符;n变量名在有效的程序范围内必须是唯一的;n变量名不能是保留字(关键字),但可以把保留字嵌入变量名。n例如:命名一个学生的名字StuName,这样一眼就看出是学生名字的变量。什么是数据类型?pC#的数据类型可以分为3类:n数值类型,引用类型,指针类型。u值类型:直接存放真正的数据。值类型:直接存放真正的数据。u引用类型:存储数据的内存地址的引用u指针类型:仅在不安全代码中使用。

3、C#语言支持以下数据类型: 数据类型数据类型值类型值类型引用类型引用类型结构类型结构类型简单类型简单类型枚举类型枚举类型整数类型整数类型浮点类型浮点类型小数类型小数类型字符类型字符类型布尔类型布尔类型类类型类类型数组类型数组类型接口类型接口类型值类型用来存储实际值,而引用类型则用来存储对实际数据的引用。值类型用来存储实际值,而引用类型则用来存储对实际数据的引用。2.1.1值类型o值类型包含简单类型、枚举类型和结构类型。类型是同类型数据的抽象,不同的类型在C#中用不同的类型标识符来表示。如表。表表2-1值类值类型型类类型型描述描述简单类简单类型型(Simpletype)有符号整数:有符号整数:s

4、byte,short,int,long无符号整数:无符号整数:byte,ushort,uint,ulong字符字符类类型:型:char浮点浮点类类型:型:float,double小数小数类类型:型:decimal布布尔尔类类型:型:bool枚枚举类举类型型(Enumtype)enumE结结构构类类型型(Structtype)structSo1.简单类型简单类型从计算机的表示角度来看,简单类型又从计算机的表示角度来看,简单类型又可分为整数类型、浮点类型、小数类型、布可分为整数类型、浮点类型、小数类型、布尔类型和字符类型。尔类型和字符类型。所有的简单类型(所有的简单类型(C#语言的组成部语言的组成

5、部分)均为分)均为.NETFramework系统类型的系统类型的别名。例如,别名。例如,int是是System.Int32的别的别名。名。整数类型描述描述位数位数类类型型标识标识符符取取值值范范围围有符号整数有符号整数8sbyte-12812716short-327683276732int-2147483648-214748364764long-92233720368547758089223372036854775807无符号整数无符号整数8byte025516ushort06553532uint0429496729564ulong018446744073709551615表表2-2 2-2

6、整数类型表整数类型表C#提供了两种数据类型来表示小数:单精度提供了两种数据类型来表示小数:单精度浮点型浮点型(float)和双精度浮点型和双精度浮点型(double)。两者的。两者的划分依据是取值范围和精度的不同,见表划分依据是取值范围和精度的不同,见表2-3。浮点类型表2-3 浮点类型表描述描述位数位数类类型型标识标识符符取取值值范范围围单单精度浮点型精度浮点型32float如如float n=3.5f1.510-453.41038,7位精度位精度双精度浮点型双精度浮点型64double5.010-3241.710308,1516位精度位精度小数类型 为了满足财务和金融计算领域方面高精度的要

7、求,C#提供了小数类型(decimal)这种高精度的数据类型,避免浮点类型计算造成的误差。 小数类型数据的后面必须加m或M后缀来表示它是小数类型的,如3.14m。否则会被解释成标准的浮点类型的数据。表表2-4小数类型表小数类型表描述描述位数位数类类型型标识标识符符取取值值范范围围十十进进制制类类型型128decimal1.010-287.9102828到到29位位有效有效字符类型 C#提供的字符类型按照国际上公认的标准,采用Unicode字符集。它可以表示世界上大部分语言种类。所有Unicode字符的集合构成字符类型。表表2-5字符类型表字符类型表描述描述位数位数数据数据类类型型取取值值范范围

8、围字符字符类类型型16charU+0000到到U+ffff16位位Unicode字符字符字符串类型:字符串类型:string 由一串字符组成。由一串字符组成。例如:例如:string s=“welcome to C# world !”; 给一个字符类型的变量赋值:charname=a; char类型的变量值必须用单引号括起来。单引号内的字符数量必须且只能是一个,并且不能是单引号或者反斜杠。 为了表示单引号和反斜杠等特殊的字符,C#提供了转义符,如表2-6所示。表表2-6转义字符转义字符转义转义符符含含义义单单引号引号”双引号双引号反斜杠反斜杠0空字符(空字符(Null)a发发出一个警告出一个警

9、告b倒退一个字符倒退一个字符f换页换页n换换行,将当前的位置移到下一行开行,将当前的位置移到下一行开头头r回回车车,将当前的位置移到本行的开,将当前的位置移到本行的开头头t水平方向的水平方向的Tabv垂直方向的垂直方向的Tab布尔类型 布尔类型表示现实中的“真”或“假”这两个概念,主要用来进行逻辑判断。在C#中,分别采用true和false这两个值来表示“真”和“假”,如表2-7所示。表2-7 布尔类型描述描述位数位数数据数据类类型型取取值值范范围围布布尔尔类类型型8boolTrue或或False2.枚举类型(不讲)如果需要表示春季、夏季、秋季和冬季,应如何实现?C#中提供枚举类型,可以将一年

10、中的四季分别用Spring、Summer、Autumn和Winter这些直观的符号来表示,便于阅读和理解。枚举类型是用户自定义的数据类型,是一种允许用符号代表数据的值类型。当程序中某个变量具有一组确定的值,通过“枚举”可以将其值一一列举出来。声明一个代表季节的枚举类型Season: enumSeasonSpring,Summer,Autumn,Winter; enumenum 关键字关键字用于声明枚举。SeasonSeason是枚举名是枚举名,花括号“”和“”括起来的部分是枚举成员表,枚举成员之间用逗号分隔,任何两个枚举成员不能具有相同的名称。这里声明了一个Season枚举类型,它包含Spri

11、ng, Summer, Autumn, Winter4个枚举成员。使用枚举类型:enum Season Spring, Summer, Autumn, Winter;Season season1,season2,season3,season4;season1=Season.Spring;season2=Season.Summer;season3=Season.Autumn;season4=Season.Winter;这样,这样,season1,season2,season3,season4这这4个变量的取值分个变量的取值分别为别为Spring,Summer,Autumn和和Winter。每种枚

12、举类型都有基础类型,枚举元素的默认基础类型为每种枚举类型都有基础类型,枚举元素的默认基础类型为int。在。在Season枚举中,枚举中,Spring为为0,Summer为为1,Autumn为为2,依此类推。默,依此类推。默认情况下,认情况下,C#规定第规定第1个枚举成员的值取个枚举成员的值取0,其它成员按顺序依次增,其它成员按顺序依次增1。在。在编程时,可以根据需要为枚举成员赋值。编程时,可以根据需要为枚举成员赋值。 几种为枚举成员赋值的情况。(1)为第1个枚举成员赋值enum Season Spring=1, Summer, Autumn, Winter; 在此枚举中,强制元素序列从 1 而

13、不是 0 开始。(2)为某一个枚举成员赋值 enum Season Spring, Summer, Autumn=6, Winter;从第一个枚举成员Spring到被赋值的枚举成员Autumn前的那个枚举成员Summer是按默认方式取值的,即Spring为0,Summer为1。被赋值的枚举成员Autumn取赋给它的值6,它后面的枚举成员则在此基础上依次增1,即Winter为7。(3)为多个枚举成员赋值 enum Season Spring, Summer=4, Autumn=6, Winter;被赋值的枚举成员取所赋给它的值,其后的枚举成员的值依次加1,在第一个被赋值的枚举成员Summer之前

14、的枚举成员,按默认方式取值。故Spring取值为0,Summer取值为4,Autumn取值为6,Winter取值为7。例2-1 枚举类型的应用using System;public class EnumTest enum WeekDay Sat=1, Sun, Mon, Tue, Wed, Thu, Fri; static void Main() int x = (int)WeekDay.Sun; int y = (int)WeekDay.Fri; Console.WriteLine(Sun = 0, x); Console.WriteLine(Fri = 0, y); 枚举成员的值在不经过显

15、示转换前,是不会变换成整数值的。输出结果为: Sun=2 Fri=7在这个例子中,我们通过“枚举名.枚举成员”的方式来访问枚举成员,如代码中的WeekDay.Sun。3.结构类型(不讲)利用前面介绍过的数据类型进行运算似乎已经足够了。但是,利用前面介绍过的数据类型进行运算似乎已经足够了。但是,我们会经常碰到一些更为复杂的情况。比如,同学录的记录中我们会经常碰到一些更为复杂的情况。比如,同学录的记录中包含姓名、性别、家庭住址等信息。如果将姓名、性别、家庭包含姓名、性别、家庭住址等信息。如果将姓名、性别、家庭住址分别定义为互相独立的简单类型,则难以反映它们之间的住址分别定义为互相独立的简单类型,则

16、难以反映它们之间的内在联系,这些项都与某一学生相联系。那么,有没有好的解内在联系,这些项都与某一学生相联系。那么,有没有好的解决方法呢?决方法呢?C#中提供了一种称为结构类型的数据类型用来有组织地把这中提供了一种称为结构类型的数据类型用来有组织地把这些不同类型的数据信息存放到一起。结构类型是用户自定义的些不同类型的数据信息存放到一起。结构类型是用户自定义的数据类型。使用结构类型可以方便地存储多条不同类型的数据,数据类型。使用结构类型可以方便地存储多条不同类型的数据,极大地方便了编程人员对大量信息的管理。极大地方便了编程人员对大量信息的管理。C#中的结构类型中的结构类型类似于类似于C语言中的结构

17、体。语言中的结构体。格式:struct 结构名 /结构成员定义说明:1.struct是一个关键字,表明声明的是一个结构体;2.结构名的命名需符合C#标识符的命名规范:以字母或者下划线开头,其后可以跟任意个字母、数字或者下划线。3.花括号中的内容称为结构体,定义结构中所包含的所有成员。每个成员的声明都采用如下形式:访问修饰符 数据类型 成员名;声明同学录的记录结构:struct studentpublic string name;public string sex;public string address;其中,public是访问修饰符,用来修饰数据成员的可访问性。关于访问修饰符的介绍我们会在

18、类一章中做详细介绍。使用结构体: 定义结构体变量:结构类型名 变量名;如:student student1; 访问结构的成员:结构变量名.成员名;如:student1.name=“王刚”; 示例:struct Studentpublic string name;public string sex;public string addresspublic string city;public string street;public uint no;Student student1;2.1.2 引用类型引用类型是和值类型并列的类型,值类型引用类型是和值类型并列的类型,值类型比较简单,对于那些结构比

19、较复杂、抽象能比较简单,对于那些结构比较复杂、抽象能力比较强的数据,就需要使用引用类型来定力比较强的数据,就需要使用引用类型来定义。义。C#中引用类型有中引用类型有4种:类类型、数组类种:类类型、数组类型、接口类型和委托类型。关于它们的详细型、接口类型和委托类型。关于它们的详细介绍,我们会在后续章节中进行。介绍,我们会在后续章节中进行。2.2 类型转换 在现实生活中,经常需要在不同的数据类型之间进在现实生活中,经常需要在不同的数据类型之间进行转换。比如,举行一次演讲比赛,获奖的比例是行转换。比如,举行一次演讲比赛,获奖的比例是6%,如果参加演讲比赛的总人数是,如果参加演讲比赛的总人数是170个

20、人,那么获奖的个人,那么获奖的人数就是人数就是1706%=10.2个人。在这种情况下,就不得不个人。在这种情况下,就不得不舍去舍去0.2,把,把10.2这个的浮点数变成一个整数这个的浮点数变成一个整数10来对待。来对待。这就是现实生活中的数据类型转换的例子。在这就是现实生活中的数据类型转换的例子。在C#语语言中,数据类型的转换可以分为两类:隐式类型转换和言中,数据类型的转换可以分为两类:隐式类型转换和显式类型转换。显式类型转换。2.2.1 隐式类型转换 隐式类型转换是系统默认的、不需要加以隐式类型转换是系统默认的、不需要加以声明就可以进行的转换。在隐式类型转换过声明就可以进行的转换。在隐式类型

21、转换过程中,编译器无需对转换进行详细检查就能程中,编译器无需对转换进行详细检查就能够安全地执行转换。比如,从够安全地执行转换。比如,从int类型转换类型转换到到long类型就是一种隐式类型转换。类型就是一种隐式类型转换。表表2-8列出了在列出了在C#中可以进行的各种隐中可以进行的各种隐式数值转换。式数值转换。表2-8 隐式转换表类类型型可以安全的可以安全的转换为转换为sbyteshort、int、long、float、double或或decimalbyteshort、ushort、int、uint、long、ulong、float、double或或decimalshortint、long、fl

22、oat、double或或decimalushortint、uint、long、ulong、float、double或或decimalintlong、float、double或或decimaluintlong、ulong、float、double或或decimallongfloat、double或或decimalulongfloat、double或或decimalcharushort、int、uint、long、ulong、float、double或或decimalfloatdouble例例2-2隐式类型转换隐式类型转换(将字符类型隐式转换为整型)(将字符类型隐式转换为整型)usingSyste

23、m;usingSystem.Collections.Generic;usingSystem.Text;namespaceConvertDataclassProgramstaticvoidMain(stringargs)charc=a;Console.WriteLine(c=0,c);intQ=c;Console.WriteLine(Q=0,Q);程序运行结果如图2-1所示。图2-1 程序运行结果例例2-3隐式类型转换隐式类型转换(将整型隐式转换为字符类型)(将整型隐式转换为字符类型)usingSystem;usingSystem.Collections.Generic;usingSystem.

24、Text;namespaceConvertDataclassProgramstaticvoidMain(stringargs)inta=97;Console.WriteLine(a=0,a);charc=a;Console.WriteLine(c=0,c);程序运行结果如图程序运行结果如图2-2所示。所示。图2-2 错误列表这个程序在编译时出现了错误,我们从错误列表中可知这个程序在编译时出现了错误,我们从错误列表中可知int类型类型是不能隐式转换成是不能隐式转换成char类型的,但是在上个程序中,类型的,但是在上个程序中,char类型是可以类型是可以隐式转换为隐式转换为int类型的,这个问题请

25、注意。类型的,这个问题请注意。2.2.2显式类型转换显式类型转换 显式类型转换又叫做强制类型转换。与隐式类型转换相反,显式转换需要用户明确的指定转换类型。格式如下:(类型标识符)表达式(类型标识符)表达式 (int)3.14 把double类型的3.14转换成int类型。 此外,还可以使用Convert命令进行显式转换。表2-9 Convert命令进行的显示转换命令命令结结果果Convert.ToBoolean(val)val转换为转换为boolConvert.ToByte(val)val转换为转换为byteConvert.ToChar(val)val转换为转换为charConvert.ToD

26、ecimal(val)val转换为转换为decimalConvert.ToDouble(val)val转换为转换为doubleConvert.ToInt16(val)val转换为转换为shortConvert.ToInt32(val)val转换为转换为intConvert.ToInt64(val)val转换为转换为longConvert.ToSByte(val)val转换为转换为sbyteConvert.ToSingle(val)val转换为转换为floatConvert.ToString(val)val转换为转换为stringConvert.ToUInt16(val)val转换为转换为ush

27、ortConvert.ToUInt32(val)val转换为转换为uintConvert.ToUInt64(val)val转换为转换为ulong例例2-4将整型转换成字符类型将整型转换成字符类型usingSystem;usingSystem.Collections.Generic;usingSystem.Text;namespaceConvertDataclassProgramstaticvoidMain(stringargs)inta=97;Console.WriteLine(a=0,a);charc=Convert.ToChar(a);Console.WriteLine(c=0,c);2.

28、3运算符和表达式运算符和表达式 运算符是表示各种不同运算的符号。当执运算符是表示各种不同运算的符号。当执行加法、减法、乘法和除法运算时分别需要行加法、减法、乘法和除法运算时分别需要使用、使用、*和和/符号,这些符号符号,这些符号(、*和和/)称为运算符。称为运算符。表达式是用运算符表达式是用运算符将运算对象连接起来的将运算对象连接起来的运算式,是程序语言中最基本的对数据进行运算式,是程序语言中最基本的对数据进行加工和处理的过程。注意,单个常数或变量加工和处理的过程。注意,单个常数或变量也是表达式。也是表达式。2.3.1 运算符的类型C#提供了非常丰富的运算符,大致可以提供了非常丰富的运算符,大

29、致可以分为以下几类:算术运算符、赋值运算符、分为以下几类:算术运算符、赋值运算符、关系运算符、逻辑运算符、位运算符、条件关系运算符、逻辑运算符、位运算符、条件运算符和其他运算符等。运算符和其他运算符等。算术运算符算术运算符算术运算符用于对操作数进行算术运算,算术运算符用于对操作数进行算术运算,C#的算术的算术运算符见表运算符见表2-11。运算符运算符含含义义+加加减减*乘乘/除除%取余取余+自增自增1-自减自减1表表2-11算术运算符算术运算符关系运算符关系运算符关系运算符用于比较两个值的大小,返回一个布尔值。关系运算符用于比较两个值的大小,返回一个布尔值。C#的关系运算符见表的关系运算符见表

30、2-12。表表2-12关系运算符关系运算符运算符运算符含含义义=等于等于!=不等于不等于大于大于=大于等于大于等于逻辑运算符逻辑运算符用于表示两个布尔值之间的逻辑关系,逻辑运算逻辑运算符用于表示两个布尔值之间的逻辑关系,逻辑运算结果是布尔型。结果是布尔型。C#的逻辑运算符见表的逻辑运算符见表2-13。表表2-13逻辑运算符逻辑运算符运算符运算符描述描述!逻辑逻辑非非&逻辑逻辑与与|逻辑逻辑或或位运算符(不讲)位运算符对运算对象进行位的运算,是指进行二进制位运算符对运算对象进行位的运算,是指进行二进制位的运算。位的运算。C#的位运算符见表的位运算符见表2-14。表2-14 位运算符运算符运算符描

31、述描述按位取反按位取反&按位与按位与|按位或按位或右移右移按位异或按位异或赋值运算符 赋值运算符用于将一个数据赋予一个变量。赋值运算符的左操作数必须是一个变量,而不能是常量,也不能是表达式。C#的赋值运算符为“=”。a=a+3; 在赋值运算符的基础上加上其他运算符,就构成了复合赋值运算符。C#的复合赋值运算符见表2-15。赋值运算符赋值运算符表表2-15复合赋值运算符复合赋值运算符运算符运算符描述描述+=x+=1等价于等价于x=x+1-=x-=1等价于等价于x=x-1*=x*=1等价于等价于x=x*1/=x/=1等价于等价于x=x/1%=x%=1等价于等价于x=x%1&=X&=1等价于等价于x

32、=x&1|=x|=1等价于等价于x=x|1=x=1等价于等价于x=x1=x=1等价于等价于x=x1=x=1等价于等价于x=x1其他运算符(1)字符串连接符()字符串连接符(+)。用于连接两个字符串。)。用于连接两个字符串。(2)is运算符。用于检查表达式是否是指定的数据类型,运算符。用于检查表达式是否是指定的数据类型,如果是,结果为如果是,结果为true,否则结果为否则结果为false。若。若intk=2,则,则表达式表达式kisint的值为的值为true。(3)sizeof运算符。运算符。sizeof运算符获取值类型数据在内存中运算符获取值类型数据在内存中占用的字节数。它的用法如下:占用的字

33、节数。它的用法如下:sizeof(类型标识符类型标识符)。例。例如表达式如表达式sizeof(int)的值为的值为4。(4)new运算符。运算符。new运算符用于创建类的实例,我们在运算符用于创建类的实例,我们在后面类章节中详细介绍。后面类章节中详细介绍。(5)typeof运算符。typeof运算符用于获取一个对象的类型。(6)checked和unchecked运算符。用于控制整数算术运算中的溢出情况。 在求表达式的值时,要按照运算符的优先级别进行运算,在求表达式的值时,要按照运算符的优先级别进行运算,表表2-16优先级的顺序自上而下由高到低。优先级的顺序自上而下由高到低。表2-16 运算符的

34、优先级 运算符运算符类类型型运算符运算符初初级级运算符运算符x.y,f(x),ax,x+,x-,new,typeof,checked,unchecked,sizeof一元运算符一元运算符!,+,-,(T)x乘法、除法、取模运算符乘法、除法、取模运算符*,/,%增量运算符增量运算符+,移位运算符移位运算符关系运算符关系运算符,=,is,as等于运算符等于运算符=,!=逻辑逻辑“与与”运算符运算符&逻辑逻辑“异或异或”运算符运算符逻辑逻辑“或或”运算符运算符|条件条件“与与”运算符运算符&条件条件“或或”运算符运算符|条件运算符条件运算符?:赋值赋值运算符运算符=,*=,/=,%=,+=,-=,=

35、,&=,=2.3.2 表达式表达式是由运算符、变量和常量等组成的符号序列。表达式是由运算符、变量和常量等组成的符号序列。表达式分为算术表达式、赋值表达式、关系表达式、表达式分为算术表达式、赋值表达式、关系表达式、逻辑表达式以及条件表达式等五种类型。逻辑表达式以及条件表达式等五种类型。若表达式中包含多个运算符,则该表达式的类型是若表达式中包含多个运算符,则该表达式的类型是通过在表达式中执行的最后一次运算的运算符的类型进通过在表达式中执行的最后一次运算的运算符的类型进行划分的。通过对下面代码的运行结果的分析,来总结行划分的。通过对下面代码的运行结果的分析,来总结C#中表达式的运算规则。中表达式的运

36、算规则。例例2-5表达式的运用表达式的运用1usingSystem;2usingSystem.Collections.Generic;3usingSystem.Text;4namespaceConsoleApplication156classProgram7staticvoidMain(stringargs)89Console.WriteLine(5+7.5=0,5+7.5);10Console.WriteLine(7/4=0,sizeof(int)*10/6.0=1,7/4,sizeof(int)*10/6.0);11intx=5;12Console.WriteLine(+x=0,x=1,+

37、x,x);13inty=5;14Console.WriteLine(y+=0,y=1,y+,y);15if(y!=0)16Console.WriteLine(53?5:2=0,53?5:2);17Console.WriteLine(!(62)|(58)&(79)=0,!(62)|(58)&(79);181920程序的运行结果如图2-3所示。图2-3 运行结果说明:1.在算术表达式中,当操作数的类型不同在算术表达式中,当操作数的类型不同时,时,C#编译器将先使用类型转换规则,从而确保编译器将先使用类型转换规则,从而确保操作以可预测的方式执行。比如第操作以可预测的方式执行。比如第9行代码,先把行代

38、码,先把第一个操作数第一个操作数5转换成转换成float类型类型5.0,然后再求和,然后再求和,得到的结果为得到的结果为float类型类型12.5。2.C#中运算符的结合性为:二元运算符中运算符的结合性为:二元运算符(除赋值运算符外)都是左结合,即运算按照从左(除赋值运算符外)都是左结合,即运算按照从左到右的顺序执行;赋值运算符和条件运算符是右结到右的顺序执行;赋值运算符和条件运算符是右结合,即运算按照从右到左的顺序执行。例如,合,即运算按照从右到左的顺序执行。例如,x=y=z按照按照x=(y=z)进行求值。进行求值。说明:3.如果有括号,先计算括号里面的表达式,然后按运如果有括号,先计算括号

39、里面的表达式,然后按运算符的优先级别和结合性确定计算的先后顺序。算符的优先级别和结合性确定计算的先后顺序。比如表达式比如表达式sizeof(int)*10/6.0,sizeof算符的算符的优先级别最高,所以先计算优先级别最高,所以先计算sizeof(int),然后执行乘、除然后执行乘、除运算。同一优先级别的运算符,运算次序由结合方向决定。运算。同一优先级别的运算符,运算次序由结合方向决定。4.C#中,根据运算符所使用的操作数个数的不同,将中,根据运算符所使用的操作数个数的不同,将运算符分为:运算符分为:一元运算符:只有一元运算符:只有1个操作数。一元运算符有:个操作数。一元运算符有:!,+,-二元运算符:有二元运算符:有2个操作数,使用时在操作数之间插入运算符。个操作数,使用时在操作数之间插入运算符。三元运算符:有三元运算符:有3个操作数。三元运算符只有一个,即个操作数。三元运算符只有一个,即(?:)。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号