您好,欢迎访问三七文档
12本章教学目标理解C#语言的基本字符集和词汇集理解C#的数据类型和常量、变量的定义方法,掌握简单数据类型转换的方法熟练掌握C#的运算符,掌握利用变量、常量和运算符构成表达式的方法32.1C#的基本字符集数字:0123456789英文字母:ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz特殊字符:Space!“#$%&‘()*+,-./:;=?@[\]^_{|}~4C#的关键字abstracteventnewstructasexplicitnullswitchbaseexternobjectthisboolfalseoperatorthrowbreakfinallyouttruebytefixedoverridetrycasefloatparamstypeofcatchforprivateuintcharforeachprotectedulongcheckedgotopublicuncheckedclassifreadonlyunsafeconstimplicitrefushortcontinueinreturnusingdecimalintsbytevirtualdefaultinterfacesealedvolatiledelegateinternalshortvoiddoissizeofwhiledoublelockstackallocelselongstaticenumnamespacestring52.2C#的简单数据类型6标识符的命名规则第一个字符必须是英文字母(也可以是汉字、希腊字母、俄文字母等其他Unicode字符)。从第二个字符开始,可以使用英文字母、数字和下划线,但不能包含空格、标点符号、运算符号等字符。不能与关键字重名,但如果在关键字前面加上@前缀,也可以成为合法标识符(不推荐,一般不要这样用)。长度不能超过255个字符。7实例2.1例2.1在控制台应用程序中使用无符号整数变量,企图用来保存负数时出现的错误。创建控制台应用程序以后,删除可以省略的代码行,代码如下:usingSystem;classcalculation{staticvoidMain(){ushorta,b,c;//定义了3个无符号短整型变量a=8;b=6;c=b-a;//表达式的值为负,无法向变量c赋值Console.WriteLine(c);}}8实例2.2例2.2在控制台应用程序中使用无符号短整数变量,企图存储的数值过大而导致的溢出错误。usingSystem;classcalculation{staticvoidMain(){shorta,b,c;//定义了3个短整型变量a=51200;//常量51200超出了short类型的表达范围b=16;c=a*b;//表达式的值超出了short类型的表达范围Console.WriteLine(c);}}9常用的转义字符转义字符意义Unicode编码(十六进制)\′单引号\u0027\双引号\u0022\\反斜杠\u005C\0空字符(null)\u0000\a响铃\u0007\b退格(从当前位置后退一列)\u0008\f换页(从当前位置移到下页的开头)\u000C\n换行(从当前位置移到下一列的开头)\u000A\r回车(从当前位置移到本行的开头)\u000D\t水平制表(跳到下一个Tab位置)\u0009\v垂直制表\u000B10实例2.3例2.3利用转义字符,使计算机发出响铃声的控制台应用程序。usingSystem;classbell{staticvoidMain(){charx,y;//声明字符型变量x,yx='\a';//向变量x赋值为表示响铃的转义字符y='\'';//向变量y赋值为表示单引号的转义字符Console.Write(您将听到{0}计算机小喇叭{1}发出的一声响,y,y);Console.WriteLine(x);//计算机小喇叭发出响铃声}}11实例2.4例2.4利用Unicode编码值向字符型变量赋值的控制台应用程序。usingSystem;classunicode{staticvoidMain(){chara,b;//声明了两个字符型变量a和ba='\u59DA';//向字符型变量a赋予一个Unicode编码值b='\u660E';//向字符型变量b赋予另一个Unicode编码值Console.WriteLine(你输入的两个Unicode编码的意思是:{0}{1},a,b);}}12实例2.5例2.5下列控制台应用程序执行时,向单精度浮点变量x赋值3.14159326,查看输出结果。usingSystem;classsingle{staticvoidMain(){floatx;//定义变量x为单精度浮点类型x=3.1415926f;//若省略后缀f,则认为是double类型,发生错误Console.WriteLine(x);}}13实例2.6例2.6下面的控制台应用程序用于计算3的平方根,结果保存在双精度变量x中。usingSystem;classsingle{staticvoidMain(string[]args){doublex;x=Math.Sqrt(3);//计算平方根Console.WriteLine(3的平方根={0},x);}}14实例2.7例2.7用浮点类型进行数值计算时可能出现的误差。usingSystem;classmiscount{staticvoidMain(){doublex,y,z;//定义了三个双精度浮点类型变量x=10;//向变量x赋以常数值时,默认类型为doubley=9.90;//向变量y赋以常数值时,默认类型为doublez=x-y;//将算术表达式x–y的值赋给double变量zConsole.WriteLine(浮点数计算{0}-{1}={2},x,y,z);}}15实例2.8例2.8用decimal类型进行带有小数的数值计算时可以避免误差。usingSystem;{staticvoidMain(string[]args){decimalx,y,z;x=10M;//decimal类型的常数值后面必须跟一个M或my=9.9M;z=x-y;Console.WriteLine(十进制小数计算{0}-{1}={2},x,y,z);}}162.3变量2.3.1声明变量2.3.2变量的初始化操作与初值17实例2.9例2.9企图引用未初始化变量的控制台应用程序。usingSystem;classcalculation{staticvoidMain(){inta,b,c;c=a+b;Console.WriteLine(c);}}182.3.3简单类型数据之间的转换简单类型允许隐式转换到的类型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、decimalulongfloat、double、decimalcharushort、int、uint、long、ulong、float、double、decimalfloatdouble19实例2.10例2.10计算圆面积的控制台应用程序。usingSystem;classarea{staticvoidMain(){doublemyarea,pi=3.14159;//定义了两个双精度浮点类型变量intradius=8;//定义了整型变量myarea=pi*radius*radius;//整数类型与浮点类型的混合运算Console.WriteLine(圆的面积={0},myarea);}}20实例2.11例2.11将三基色(R、G、B)表示的彩色像素转换成灰度像素的计算公式为Gray=0.30R+0.59G+0.11B根据这个公式计算出任意一个指定像素的灰度值。程序代码如下:usingSystem;classpixel{staticvoidMain(){bytegray;byter=240,g=201,b=129;//像素的三基色分量值gray=(byte)(0.30*r+0.59*g+0.11*b);//显式转换成byte类型Console.WriteLine(计算得到的像素灰度值={0},gray);}}212.5运算符与表达式运算符运算表达式示例+加法x+y-减法x-y*乘法x*y/除法x/y%求模x%y++自增x++++x--自减x----x表2-5C#算术运算符22加法运算符的多重作用两个操作数均为数字,相加的结果为两个操作数之和两个操作数均为字符串,把两个字符串连接在一起两个操作数分别为数字和字符串,则先把数字转换成字符串,然后连接在一起两个操作数分别为数字和字符,则先把字符转换成Unicode代码值,然后求和23算术运算符的优先级当一个表达式中含有多种算术运算符时,将按以下顺序求值:乘、除运算符(*/)求模运算符(%)加、减运算符(+-)24关系运算符关系运算符测试关系表达式示例==相等x==y!=不相等x!=y小于xy大于xy=小于或等于x=y=大于或等于x=y25逻辑运算符1.!(非)唯一的单目逻辑运算符。它的结果是操作数原有逻辑值的反值。2.&&(与)只有左、右操作数的值都为True时,结果为True,否则结果为False。3.||(或)左、右操作数只要有一个为True,结果即为True。仅当左、右操作数的值均为False时,结果才为False。26位运算符1.~(按位取反)将二进制数的各位取原有值的反值。即原来为0,取反为1;原来为1,取反为0。2.&(对应位“与”)只有左、右操作数对应位的值都为1时,结果为1,否则结果为0。3.|(对应位“或”)左、右操作数只要对应位有一个为1,结果即为1。仅当左、右操作数的值均为0时,结果才为0。4.^(对应位“异或”)当左、右操作数对应位的值相同(即都为1或0)时,结果为0,否则结果为1。5.(左移)将二进制操作数的各位向左移若干位,相当于逐次乘2的操作。6.(右移)将二进制操作数的各位向右移若干位,相当于逐次除2的操作。272.6枚举与结构枚举(enumeration)有限、可数的数据元素组成的集合星期一到星期日7个数据元素组成的集合一年内12个月组成的集合在C#语言中,枚举是用标识符表示的整型常量的集合,枚举成员是具有整数类型的符号常量什么叫“屈指可数”?什么叫“不胜枚举”?28声明枚举类型的一般形式enum枚举名[:基本数据类型]{枚举常量列表}其中:enum:定义枚举类型的关键字枚举名:定义枚举类型时赋予的名称基本数据类型:可选,指定枚举成员的基本数据类型,默认为int枚举常量列表:用标识符组成的列表,两个相邻的枚举成员之间用逗号分隔29定义星期enumweekDays{Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday}默认Sunday=0Saturday=?30定义枚举时指定枚举成员的值enumweekDays{Monday=1,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday}Monday=1Saturday=?Sunday=?31定义太阳系中行星轨道周期的枚举enumplanetPeriods{Mercury=88,Venus=225,Earth=365,Mars=687}32实例2.18例2.18创建Windows窗体应用程序,显示太阳系中水星、金星、地
本文标题:C#语言基础入门
链接地址:https://www.777doc.com/doc-3968237 .html