《C#语言基础知识.ppt》由会员分享,可在线阅读,更多相关《C#语言基础知识.ppt(33页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 第第2章章 C#语语言言基础基础 知识知识2.1 C#软件项目的组成软件项目的组成 从文件系统来看,C#每个项目由多个文件或文件夹构成扩展名,扩展名为.sln的文件是整个解决方案文件,扩展名为.csproj的文件是项目(工程)文件,扩展名为.cs 的是C#源程序.从程序的结构来看,C#中的项目由不同的命名空间组成.教材:可视化程序设计与C#.NET语言.上海交通大学出版社教学网站:1v1.命名空间命名空间v命名空间是组织程序的方式。命名空间有两种,一种是系统命名空间,一种是用户自定义命名空间。v系统命名空间使用using关键字导入,System是Visual Studio.NET中的最基本的
2、命名空间,在创建项目时,会自动生成导入该命名空间,并且放在程序代码的起始处。v2.关键字关键字v 关键字也叫保留字,是对C#有特定意义的字符串。在代码视图中默认以蓝色显示。例如,代码中的using、namespace、class、static、void等,均为C#的关键字。2 章节目录章节目录上一页上一页下一页下一页3.类和方法类和方法每个命名空间内至少由一个类(Class)构成,C#中,必须用类class来组织程序的变量与方法。C#要求每个程序必须且只能有一个“Main”方法。“Main”方法必须放在某一个类class中。“Main”方法是应用程序的入口。4.语句语句语句就是C#应用程序中执
3、行操作的指令。C#中的语句必须用分号“;”结束。可以在一行中书写多条语句,也可以将一条语句书写在多行上。3 章节目录章节目录上一页上一页下一页下一页5.大括号大括号在C#中,括号“”和“”是一种范围标志,是组织代码的一种方式,用于标识应用程序中逻辑上有紧密联系的一段代码的开始与结束。大括号可以嵌套,以表示应用程序中的不同层次。4 章节目录章节目录上一页上一页下一页下一页2.1.2 C#程序的格式程序的格式 1.缩进与空格缩进用于表示代码的结构层次,这在程序中不是必须的,但是缩进可以清晰地表示程序的结构层次,在程序设计中应该使用统一的缩进格式书写代码。空格有两种作用,一种是语法要求,必须遵守,一
4、种是为使语句不至于太拥挤。例如:int ia=3;5 章节目录章节目录上一页上一页下一页下一页2.字母大小写字母大小写C#中的字母可以大小写混合,但是必须注意的是,C#把同一字母的大小写当作两个不同的字符对待,如,大写“A”与小写“a”对C#来说,是两个不同的字符。3.注释C#中的注释基本有两种,一是单行注释,一是多行注释。单行注释以双斜线“/”开始,不能换行。多行注释以“/*”开始,以“*/”结束,可以换行。6 章节目录章节目录上一页上一页下一页下一页2.3 基本数据类型基本数据类型 2.3.1 数值类型数值类型 1.整数类型整数类型整数类型又有有符号整数与无符号整数。有符号整数可以带正负号
5、,无符号整数不需带正负号,默认为正数。有符号整数包括sbyte(符号字节型)、short(短整型)、int(整型)、long(长整型)。无符号整数包括byte(字节型)、ushort(无符号短整型)、uint(无符号整型)、ulong(无符号长整型)。7 章节目录章节目录上一页上一页下一页下一页2.实数类型实数类型 实数类型包括float(单精度浮点型)、double(双精度浮点型)、decimal(十进制型)。各种数据类型的取值范围P21-P222 2.3 3.2 .2 字符类型字符类型1.Unicode字符集字符集Unicode是一种重要的通用字符编码标准是继ASCII字符码后的一种新字符
6、编码,如UTF-16允许用16位字符组合为一百万或更多的字符。C#支持Unicode字符集。8章节目录章节目录上一页上一页下一页下一页2.char(字符型)(字符型)char(字符型):数据范围是065535之间的Unicode字符集中的单个字符,占用2个字节。char(字符型)表示无符号16位整数,char(字符型)的可能值集与Unicode字符集相对应。有一种转义字符P38表3.string(字符串型)string(字符串型):指任意长度的Unicode字符序列,占用字节根据字符多少而定。string(字符串型)表示包括数字与空格在内的若干个字符序列,允许只包含一个字符的字符串,甚至可以是
7、不包含字符的空字符串。9 章节目录章节目录上一页上一页下一页下一页2.3.3 布尔类型和布尔类型和其他其他类型类型1.bool(布尔型):表示布尔逻辑量。bool(布尔型)数据范围是“true”(真)和“false”(假)。bool(布尔型)占用一个字节。bool(布尔型)的值“true”(真)和“false”是关键字。object(对象型):可以表示任何类型的值,其占用字节视具体表示的数据类型而定。object(对象型)是所有其他类型的最终基类。C#中的每种类型都是直接或间接从object类型派生的。10v2结构类型结构类型v结构类型属于复合类型,它把一系列相关的信息组织成为一个单一实体的过
8、程.定义结构体类型用关键字struct,下面定义一个结构体类型:vstruct person /定义了一个person 结构体类型vvstring m_name;/成员m_namevint m_age;/成员m_agevstring m_sex;/成员m_sexv;/定义类型结束v定义了结构体类型后,可以在该类型上定义变量,然后使用该变量,如 person p1;v p1.m_name=李兵;。11v3枚举类型枚举类型v枚举类型是一种独特的值类型,主要用用具有实际意义的量取代抽象的数字,使用关键字enum来定义枚举类型。下面例子:venum WeekdayvvSunday,Monday,Tue
9、sday,Wednesday,Thursday,Friday,Saturdayvv每个枚举成员有一个序号,如Sunday的序号为0.v可以使用上述类型来定义变量以及使用变量,如:venum Weekday w1;vint x;vw1=Weekday.Monday;vx=Convert.ToInt16(Weekday.Monday);vConsole.Write(0,x);v运行后输出的值为1。12 章节目录章节目录上一页上一页下一页下一页2.4 变量与常量变量与常量 3.4.1 变量 1.变量命名规则变量命名规则在C#运行中,可以变化的量,变量必须有名字,变量命名规则如下:变量名的第一个字符必
10、须是字母(包括汉字)或下划线,其余字符必须是字母(包括汉字)、数字或下划线。变量名不能是C#的关键字或库函数名。例如,sum,_S,都是合法的变量名,而int,2A,Number Of Student是非法变量名。132.声明变量声明变量变量在使用前必须声明为某种数据类型,声明变量最简单的格式为:数据类型名称 变量名列表;例如:int number;/声明一个整型变量bool open;/声明一个布尔型变量可以一次声明多个变量,例如:sbyte a,b;/声明两个有符号字节型变量如果一次声明多个变量,变量名之间用逗号分隔。可以在前面加访问修饰符:如:private static int x,y
11、;14章节目录章节目录上一页上一页下一页下一页3.变量赋值变量赋值C#规定,变量必须赋值后才能引用。为变量赋值需使用赋值号“=”。例如:int x,number=8;x=32;number=x+32;/为变量赋值32可以为几个变量一同赋值,例如:int a,b,c;a=b=c=32;15章节目录章节目录上一页上一页下一页下一页3.3.2 3.3.2 常量常量1.直接常量直接常量 如数学上的常数如数学上的常数,如如 23,98.67,a,abc 23,98.67,a,abc ,3.0e-3,3.0e-3 欢迎使用欢迎使用C#C#!,I am a student.,I am a student.t
12、rue,false true,false 在在C#C#中中,有有些些字字符符不不能能直直接接放放在在单单引引号号中中作作为为字字符符常常量量,这这时时需需要要使使用用转转义义符符来来表表示示这这些些字字符符常常量量,转转义义符符由由反反斜斜杠杠“”“”加加字字符符组组成成,如如 n n 具体具体见见P25P25表表。16v常量有整形常量,实型常量,字符常量,字符串常量,布尔常量。v(1)整形常用量,有三种形式:v十进制常量:也就是我们平时用到的整数,如10,9,120等;v十六进制常量:逢十六进一,十六进制常量需前面加0 x,如ox123等;v(2)实型常量,即可以带小数的常量,根据数的大小可
13、划分为单精度型(float),双精度型(double),或十进制型(decimal),默认为双精度型。如:123.5f表示单精度型,123.45,123.45D均表示双精度型,1367.87m为十进制型。v还可以用科学记数法,如123.6e5表示123.6105v(3)字符常量,表示一个字符,用英文的单引号加以标注,如 a,中。v(4)字符串常量,表示一串字符,用英文的双引号标注,如Jamie,“中国人”。17章节目录章节目录上一页上一页下一页下一页2.符号常量符号常量符号常量使用const关键字定义,格式为:const 类型名称类型名称 常量名常量名=常量表达式常量表达式;如:const i
14、nt myi=90;如果在程序中非常频繁地使用某一常量,可以将其定义为符号常量。18 章节目录章节目录上一页上一页下一页下一页 2 2.5 5 运算符与表达式运算符与表达式 2.5.1 运算符与表达式类型1.算术运算符与算术表达式算术运算符与算术表达式算术运算符有一元运算符与二元运算符。一元运算符:-(取负)、+(取正)、+(增量)、-(减量)。二元运算符:+(加)、-(减)、*(乘)、/(除)、%(求余)。由算术运算符与操作数构成的表达式叫算术表达式。19 章节目录章节目录上一页上一页下一页下一页“-”与“+”只能放在操作数的左边。增量与减量量符只能用于变量。二元运算符的意义与数学意义相同,
15、其中%(求余)运算符是以除法的余数作为运算结果,求余运算也叫求模。例如:int x=6,y=2,z;z=x%y;/x除以y的结果不是3(商),而是0(余数)要注意数据类型,两个整数的商还是整数。例如:int a=2,b=39;a=b/2;/a的值为1920v另外,注意+,-的使用v如int x=3,y=7;vy=x+与y=+x的区别21 章节目录章节目录上一页上一页下一页下一页2.字符串运算符与字符串表达式字符串运算符与字符串表达式字符串运算符只有一个,即“+”运算符,表示将两个字符串连接起来。例如:string connec=abcd+ef;/connec的值为“abcdef”“+”运算符还
16、可以将字符型数据与字符串型数据或多个字符型数据连接在一起,例如:string connec=abcd+e+f;/connec的值为“abcdef”22 章节目录章节目录上一页上一页下一页下一页3.关系运算符与关系表达式关系运算符与关系表达式,=,3&12;/b2的值为falsebool b3=53|12 /b3的值为true5.条件运算符与条件表达式条件运算符与条件表达式条件运算符是C#中唯一的三元运算符,条件运算符由符号“?”与“:”组成,通过操作三个操作数完成运算,其一般格式为:布尔类型表达式布尔类型表达式?表达式表达式1:表达式表达式224 章节目录章节目录上一页上一页下一页下一页6.赋
17、值运算符与赋值表达式赋值运算符与赋值表达式在赋值表达式中,赋值运算符左边的操作数叫左操作数,赋值运算符右边的操作数叫右操作数。左操作数通常是一个变量。复合赋值运算符,如“*=”、“/=”、“%=”、“+=”、“-=”等。252.5.2 运算符的优先级与结合性 1.优先级 括号优先 一元运算符的优先级高于二元和三元运算符。不同种类运算符的优先级有高低之分,算术运算符的优先级高于关系运算符,关系运算符的优先级高于逻辑运算符,逻辑运算符的优先级高于条件运算符,条件运算符的优先级高于赋值运算符。有些同类运算符优先级也有高低之分,在算术运算符中,乘、除、求余的优先级高于加、减;在关系运算符中,小于、大于
18、、小于等于、大于等于的优先级高于相等与不等;逻辑运算符的优先级按从高到低排列为非、与、或。P31页表26 章节目录章节目录上一页上一页下一页下一页可以使用圆括号明确运算顺序。例如:string s=xy?greater than:x=y?equal to:less than;string s=xy?greater than:(x=y?equal to:less than);括号还可以改变表达式的运算顺序:b*c+db*(c+d),27v2.6文本框及按钮对象文本框及按钮对象v1)文本框文本框v主要用于输入输出文字信息。v(1)常用的属性常用的属性vName属性,Text属性,MaxLength
19、属性,默认值为32767。vMultiLine属性。vScrollBars属性,该属性在MultiLine 属性为true时才有用。vPasswordChar属性:设置是否在文本框中显示用户键入的字符。该属性一般用于控制密码输入不显示。vSelectedText属性:用于返回在文本框中选择的文本。vReadOnly属性:用于设置文本框中的文本内容是否只读。vEnabled属性:用来设置或返回控件的状态。vVisible属性:用来设置或返回控件的状态是否可见。28v(2)文本框的方法)文本框的方法v文本框还提供了一些方法来对文本框进行一些常用的操作,使用的方法为:v 文本框名.方法名(参数);v
20、常用的方法如下:vSelectAll()方法:用于选择指定文本框中的所有文本内容。vAppendText(追加文本)方法:用于向文本框追加文字。vClear()方法:用于清除文本框中的文字。vCopy()方法:用于把文本框中选中的文字复制到剪贴版。vCut()方法:用于把文本框中选中的文字剪切到剪贴版。vPaste()方法:用于把剪贴版中的内容复制到文本框中。vSelectAll()方法:用于选择文本框中的全部的文字。v例如要追加“我们的世界”到当前文本框textBox1中,可以用下面的语句:v textBox1.AppendText(我们的世界);v当然,也可以用“+”运算符进行字符串连接,
21、代码如下:v textBox1.Text=textBox1.Text+我们的世界;29v(3)文本框的常用事件)文本框的常用事件v一般来说,对文本框做相应的操作都对应着一个事件,同样对应每个事件都可以有一个方法(过程)来响应该事件。v对应任何一个控件的事件及对应的方法可以通过属性窗口中选择事件按钮“”选项来进行,鼠标双某事件右边空白栏即可产生一个相应的方法,这样某事件产生时,会自动调用相应的方法执行。vKeyDown 事件:在用户按下一个字符键时发生,该事件被触发时,被按键的 ASCII 码将自动传递给事件过程参数 e 的 KeyValue 属性,通过访问该参数,即可获知用户按下了哪个键。如:
22、v/*vif(e.KeyValue=13)/等价于:if(e.KeyCode=Keys.Enter)v/*v上述两个语句是等价的,常用于判断用户是否按了Enter 键(Enter 键的十进制 ASCI I码值为 13)。vKeyPress事件:在用户按下一个键时被触发。vKeyUp 事件:是在用户松开一个键时被触发。v当用户按下并松开一个键时,则会在对象上依次触 发KeyDown、KeyUp 和 KeyPress 事件。30v例:从键盘上输入字符到一个文本框,如果按了回车键则显示出相应的状态 private void textBox1_KeyDown(object sender,KeyEven
23、tArgs e)if(e.KeyValue=13)label1.Text=你按了回车键!;else label1.Text=label1.Text+e.KeyCode;label1.Text=label1.Text.ToLower();31v2)按钮按钮v按钮(Button)控件是Windows应用程序中最常用的控件之一。v最重要的事件,也是最常用的事件就是Click。当用户单击按钮时,都会调用Click事件。v(1)按钮的主要属性:vText:指定显示的文本。vEnabled:确定控件可用。vVisible:确定控件可见。vImage:控件显示的图像。v(2)Button控件的事件v到目前为止,按钮最常用的事件是Click。只要用户单击了按钮,即当鼠标指向该按钮时,按下鼠标左键,再释放它,就会引发该事件。比如说的窗体上有一个按钮button1,则对应事件Click的方法如下:vprivate void button1_Click(object sender,EventArgs e)v v /*代码*/v 32v第二章复习:v1.C#项目组成 2.C#程序结构v3.基本数据类型 常量与变量v4.运算符与表达式 5.文本框与按钮v主要关键字:vusing,namespace,class,Main,int,float,doublev主要运算符:v注意事项:/,%,+,-,类型一致33