第二章变量、运算符和表达式_第1页
第二章变量、运算符和表达式_第2页
第二章变量、运算符和表达式_第3页
第二章变量、运算符和表达式_第4页
第二章变量、运算符和表达式_第5页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

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

文档简介

1、变量、运算符和表达式变量、运算符和表达式 上海师范大学上海师范大学主讲:於主讲:於 家家变量变量变量有多种类型,比如自然数、整数、变量有多种类型,比如自然数、整数、有理数、实数等。有理数、实数等。C#中如何定义各种类型的变量?变量如中如何定义各种类型的变量?变量如何运算?何运算?整型变量整型变量Static void Main(string args) int a; /声明变量声明变量a a = 7; /为变量为变量a赋值赋值 int b; /声明变量声明变量b b = 2; /为变量为变量b赋值赋值 int add; /声明变量声明变量add add = a + b; /求变量求变量a、b的

2、和的和 /输出结果输出结果 Console.WriteLine(“0+1=2”,a,b,add);声明整型变量声明整型变量int a;该语句被执行时,系统会在内存中该语句被执行时,系统会在内存中分配分配一块一块4字节的空间,字节的空间,用来存储变用来存储变量量a的值。整型变量的默认值为的值。整型变量的默认值为0。变量类型变量名称赋值语句赋值语句a = 7;把变量把变量a的值设置为的值设置为7(原先未赋值(原先未赋值时默认为时默认为0)。)。*赋值运算符赋值运算符“=”不是不是“相等相等”的意思。并非是的意思。并非是比较左右两边是否相等。比较左右两边是否相等。赋值语句赋值语句add = a +

3、b;把把a+b的值赋给的值赋给add729内存addba输出输出Console.WriteLine(“0+1=2”,a,b,add);0,1和和2是三个占位符,表示该处插入变是三个占位符,表示该处插入变量值,量值,0处插入第一个变量处插入第一个变量a的值,的值, 1处插处插入第二个变量入第二个变量b的值,的值,2处插入第三个变量处插入第三个变量add的值。的值。赋值语句赋值语句n = n + 100;将将n的增加的增加100,然后重新赋值给,然后重新赋值给nint n;n = 100;n = 200;n = n + 100;Console.WriteLine(“n = 0”, n);整型变量的

4、类型整型变量的类型int型型short型型long型型无符号型无符号型Int型变量的取值范围型变量的取值范围Int型变量型变量占用占用4个字节的空间,共个字节的空间,共32位。位。为了表示负数,把最高位定义为符号位,为了表示负数,把最高位定义为符号位,0表示正数,表示正数,1表示负数表示负数,后面的,后面的31位表位表示数值的大小。示数值的大小。Int型的取值范围是型的取值范围是-231231-1,即,即-21474836482147483647short型型某些情况下使用某些情况下使用int型太浪费型太浪费short型变量占用型变量占用2个字节,最高位表示个字节,最高位表示正负号,后面的正负

5、号,后面的15位表示数值大小,取位表示数值大小,取值是值是-215215-1,即,即-3276832767。long型型某些情况下某些情况下int型变量取值范围不够用型变量取值范围不够用long型占用型占用8个字节,最高位表示正负个字节,最高位表示正负号,后面的号,后面的63位表示数值大小,范围可位表示数值大小,范围可达到达到-263263-1,即,即 -9223372036854775808 9223372036854775807。无符号型无符号型在计数、年龄统计等情况下,不需要负在计数、年龄统计等情况下,不需要负数数使用使用uint型变量型变量(u是是unsigned的缩写,的缩写,无符号

6、的),无符号的),32位全部用来表示正整数,位全部用来表示正整数,范围是范围是0232-1。相应的,有。相应的,有ushort和和ulong型变量。型变量。溢出溢出实数型变量实数型变量实数型也称为浮点型实数型也称为浮点型类型类型字节数字节数取值范围取值范围有效数字有效数字 备注备注float41.510-453.410387位位单精度实数单精度实数double85.010-3241.71030815/16位位双精度实数双精度实数decimal 161.010-287.9102828位位金融货币金融货币从上表可以看出,从上表可以看出,decimal的有效位数很大,达到了的有效位数很大,达到了28

7、位,但是表示的位,但是表示的数据范围却比数据范围却比float和和double类型小。类型小。decimal类型并不是类型并不是C#中的基础中的基础类型,所以使用的时候会对计算时的性能有影响。类型,所以使用的时候会对计算时的性能有影响。Decimal数据类型数据类型可以在可以在Visual Studio编辑器编辑器中使用,只要在一个浮点类中使用,只要在一个浮点类型的值后型的值后加一个大写或小写的加一个大写或小写的M,则编辑器会认为这个浮点类型的值是一个,则编辑器会认为这个浮点类型的值是一个Decimal类型。这种类型。这种128位高精度十进制数表示法通常用在财务计算中。要位高精度十进制数表示法

8、通常用在财务计算中。要注意的是,在注意的是,在.NET环境中,计算该类型的值会有性能上的损失,因为它不环境中,计算该类型的值会有性能上的损失,因为它不是基本类型。是基本类型。 decimal (p , s ) and numeric (p , s )固定有效位数和小数位数的数字。当使用最大有效位数时,有效值是从固定有效位数和小数位数的数字。当使用最大有效位数时,有效值是从 - 1038 +1 到到 1038 - 1。decimal 的的 SQL-92 同义字是同义字是 dec 和和 dec(p, s)。numeric 的功能相当於的功能相当於 decimal。p (有效位数有效位数)可储存的最

9、大十进位数总数,小数点左右两侧都包括在内。有效位数必须是可储存的最大十进位数总数,小数点左右两侧都包括在内。有效位数必须是 1 至最大有效位数至最大有效位数 38 之间的值。预设有效位数是之间的值。预设有效位数是 18。s (小数位数小数位数)小数点右侧所能储存的最大十进位数。小数位数必须是从小数点右侧所能储存的最大十进位数。小数位数必须是从 0 到到 p 的值。只有在指定了有效位的值。只有在指定了有效位数时,才能指定小数位数。预设小数位数是数时,才能指定小数位数。预设小数位数是 0;因此,;因此,0 = s “属性属性”,在属性窗口选择,在属性窗口选择“生成生成”选选项卡,单击项卡,单击“高

10、级高级”按钮,选中按钮,选中“检查检查运算上溢运算上溢/下溢下溢”即可。这样,即可。这样,VS就会就会对所有的转换进行溢出检查,除非语句对所有的转换进行溢出检查,除非语句中使用了中使用了unchecked关键字。关键字。字符串和数值间的转换字符串和数值间的转换C#提供了一些函数,能够把字符串转换为各种提供了一些函数,能够把字符串转换为各种数值类型,比如数值类型,比如ToDouble()函数可以将字符串函数可以将字符串转换为转换为double型,型,ToInt32()函数能将字符串转函数能将字符串转换为换为int型。型。 *前提是该字符串是数值的有效表达形式前提是该字符串是数值的有效表达形式函数

11、函数说明说明Convert.ToInt16(value)将将value转换为转换为short型型Convert.ToInt64(value)将将value转换为转换为long型型Convert.ToChar(value)将将value转换为转换为char型型Convert.ToSingle(value)将将value转换为转换为float型型Convert.ToBoolean(value)将将value转换为转换为bool型型练习练习现在需要计算某个学生的成绩。其中,现在需要计算某个学生的成绩。其中,定义字符串变量记录学生的名字,定义定义字符串变量记录学生的名字,定义字符串变量记录性别,整型变量记录年字符串变量记录性别,整型变量记录年级,浮点型变量记录课程的成绩。课程级,浮点型变量记录课程的成绩。课程包括英语、包括英语、GIS和高等数学。在控制台和高等数学。在控制台分别输入某个学生的信息,并计算三门分别输入某个学生的信息,并计算三门课的平均分,最后输出该学生的所有相课的平均分,最后输出该学生的所有相关信息。关信息。(*使用使用Console.ReadLine() 读取字符)读取字符)练习练习将下列函数用将下列函数用C#语言表示语言表示 y = 8x3+

温馨提示

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

评论

0/150

提交评论