1、单击此处编辑母版文本样式,第二级,第三级,第四级,Page,*,单击此处编辑母版标题样式,C#,数据类型和运算符,C#,基础强化,第一章,数据类型,常用的数据类型,真假判断,姓名,成绩,年龄,举例,bool,布尔型,string,字符串,float,浮点型,int,整型,C#,常用数据类型,C#,数据类型,C#,类型,值类型,引用类型,结构,枚举,数值类型,整型,char,用户定义的结构,类类型,对象类型,接口类型,字符串类型,数组类型,浮点型,decimal,委托类型,bool,为什么需要类型转换,编译器要,确切地知道,数据的类型,int,num=,123,;,整数,字符串,需要类型转换!,
2、编译出错,隐式类型转换,隐式转换:自动类型转换,float,int,规则:对于数值类型,,A,的,取值范围,完全包含在,B,内,A,B,static void Main(string,args),double score=58.5;/,原始成绩,int,bonus,=2;/,加分,int sum;/,总分,sum=score+bonus;,/,计算总分,Console.WriteLine(sum);,Console.ReadLine();,显式类型转换,static void Main(string,args),double score=58.5;,int,bonus,=2;,int sum;
3、sum=(int)score+bonus;,Console.WriteLine(sum);,Console.ReadLine();,明确,告诉编译器转换类型,注意:,double(58.5)-int(58),,精度可能丢失!,显式转换:强制类型转换,数字类型之间的显式转换与隐式转换,隐式:,byte,ushort,uint,ulong,隐式:,sbyte,short,int,long,隐式:,float,double,显式:,ulong,uint,ushort,byte,显式:,long,int,short,sbyte,显式:,double,float,下列代码执行的结果是什么?,ushor
4、t s1=255;,Console.WriteLine(s1);,byte b1=s1;,Console.WriteLine(b1);,Page,8,下列代码执行的结果是什么?,short s2=514;,Console.WriteLine(s2);,byte b2=(byte)s2;,Console.WriteLine(b2);,Page,9,下列代码执行的结果是什么?,float f1=123;,Console.WriteLine(f1);,float f2=123.0;,Console.WriteLine(f2);,float f3=123.0f;,Console.WriteLine(f
5、3);,float f4=(float)123.0;,Console.WriteLine(f4);,Page,10,下列代码执行的结果是什么?,int i=123;,string s1=Convert.ToString(i);,Console.WriteLine(s1);,string s2=i.ToString();,Console.WriteLine(s2);,string s3=123.ToString();,Console.WriteLine(s3);,string s4=123;,Console.WriteLine(s4);,Page,11,下列代码执行的结果是什么?,string
6、s=518;,int i1=(int)s;,Console.WriteLine(i1);,int i2=int.Parse(s);,Console.WriteLine(i2);,int i3=Convert.ToInt32(s);,Console.WriteLine(i3);,int i4=Convert.ToInt64(s);,Console.WriteLine(i4);,使用,Console.ReadLine(),判断用户输入的,单个,字符是否元音字母,:,a,、,e,、,i,、,o,、,u,、,A,、,E,、,I,、,O,、,U,使用,Console.Read(),判断用户输入的,单个,
7、字符是否元音字母,:,a,、,e,、,i,、,o,、,u,、,A,、,E,、,I,、,O,、,U,运算符,一元运算符,+-,+,-,!,二元运算符,算术:,+,-,*,/,%,逻辑:,&,|,&,|,关系:,=,!=,=,赋值:,=,+=,-=,*=,/=,%=,&=,|=,三元运算符,?:,一元,运算符,表达式,类型,计算方法,结果(假定,num1,的值为,5,),num2=+num1;,前置自加,num1=num1+1;,num2=num1;,num2=6;,num1=6;,num2=num1+;,后置自加,num2=num1;,num1=num1+1;,num2=5;,num1=6;,n
8、um2=-num1;,前置自减,num1=num1-1;,num2=num1;,num2=4;,Num1=4;,num2=num1-;,后置自减,num2=num1;,num1=num1-1;,num2=5;,Num1=4;,除法运算,接受用户输入的任意数字,输出数字的绝对值,二元,运算符,1,类别,运算符,说明,表达式,算术运算符,+,执行加法运算(如果两个操作数是字符串,则该运算符用作字符串连接运算符,将一个字符串添加到另一个字符串的末尾),操作数,1+,操作数,2,-,执行减法运算,操作数,1-,操作数,2,*,执行乘法运算,操作数,1*,操作数,2,/,执行除法运算,操作数,1/,操作
9、数,2,%,获得进行除法运算后的余数,操作数,1%,操作数,2,除法运算,写出,3,段代码,分别让,7,除以,5,等于,1,、等于,2,、等于,1.4,二元,运算符,2,类别,运算符,说明,表达式,比较运算符,检查一个数是否大于另一个数,操作数,1,操作数,2,检查一个数是否小于另一个数,操作数,1=,检查一个数是否大于或等于另一个数,操作数,1=,操作数,2,=,检查一个数是否小于或等于另一个数,操作数,1=,操作数,2,=,检查两个值是否相等,操作数,1=,操作数,2,!=,检查两个值是否不相等,操作数,1!=,操作数,2,二元,运算符,3,类别,运算符,说明,表达式,成员访问运算符,.,
10、用于访问数据结构的成员,数据结构,.,成员,逻辑运算符,&,对两个表达式执行逻辑,“,与,”,运算,操作数,1&,操作数,2,|,对两个表达式执行逻辑,“,或,”,运算,操作数,1|,操作数,2,!,对一个表达式执行逻辑,“,非,”,运算,!,操作数,(),将操作数强制转换为给定的数据类型,(,数据类型,),操作数,二元,运算符,4,类别,运算符,计算方法,表达式,求值,结果,(,X=10,),赋,值,运,算,符,=,给变量赋值,操作数,1=,操作数,2,+=,运算结果,=,操作数,1+,操作数,2,X +=5,X=X+5,15,-=,运算结果,=,操作数,1-,操作数,2,X -=5,X=X
11、5,5,*=,运算结果,=,操作数,1*,操作数,2,X*=5,X=X*5,50,/=,运算结果,=,操作数,1/,操作数,2,X /=5,X=X/5,2,%=,运算结果,=,操作数,1%,操作数,2,X%=5,X=X%5,0,二元,运算符,5,类别,运算符,说明,表达式,按位运算符,&,执行按位,“,与,”,运算,2,个表达式都为,1,,则为,1,,否则为,0,。,|,执行按位,“,或,”,运算,有,1,个表达式为,1,,则为,1,,否则为,0,。,执行按位,“,取非,”,运算,有,1,个表达式为,0,,则为,1,,否则为,0,。,执行按位,“,异或,”,运算,1,个,1,,,1,个,0,
12、则为,1,,否则为,0,。,运算符优先级和结合性,优先级(,1,最高),说明,运算符,结合性,1,括号,(),从左到右,2,自加,/,自减运算符,+/-,从右到左,3,乘法运算符,除法运算符,取模运算符,*,/,%,从左到右,4,加法运算符,减法运算符,+,-,从左到右,5,小于,小于等于,大于,大于等于,=,从左到右,6,等于,不等于,=,!=,从左到右,从左到右,7,逻辑与,&,从左到右,8,逻辑或,|,从左到右,9,赋值运算符和快捷运算符,=+=*=/=%=-=,从右到左,实现简单的计算器,实现两个数的四则运算,输入两个数、运算符,输出计算过程和结果,对除法和取余进行除零判断,三元运算符,类别,运算符,说明,表达式,三元运算符,?:,检查给出的第一个表达式,op,是否为真。如果为真,则计算,exp1,否则计算,exp2,。这是唯一带有三个操作数的运算符,表达式,?,操作数,1:,操作数,2,使用,三元,运算符,判断用户输入的数字是偶数还是奇数,






