资源预览内容
第1页 / 共52页
第2页 / 共52页
第3页 / 共52页
第4页 / 共52页
第5页 / 共52页
第6页 / 共52页
第7页 / 共52页
第8页 / 共52页
第9页 / 共52页
第10页 / 共52页
亲,该文档总共52页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第1页,第2章,C#语言程序设计基础,第2页,主要内容,简单C#程序 C#的数据类型 运算符与表达式 控 制 语 句 异 常 处 理 类 继承与多态,第3页,2.1 简单C#程序,创建C# Windows应用程序 创建C#控制台应用程序 C#程序结构,第4页,2.1.1 创建C# Windows应用程序,建立C# Windows应用程序一般包括以下一些 基本步骤。 创建C# Windows应用程序项目 建立窗体控件 调试运行,第5页,2.1.2 创建C#控制台应用程序,建立C#控制台应用程序一般包括以下一些基 本步骤。 创建C# 控制台应用程序项目 编码 编译运行,第6页,“新建项目”对话框,第7页,控制台应用程序运行结果,第8页,2.1.3 C#程序结构,在Visual Studio.NET的控制台应用程序下,编写C#的控制台应用程序时,会出现下列程序结构: using System; namespace e2_2 class Class1 static void Main(stringargs) / / TODO: 在此处添加代码以启动应用程序 / Console.WriteLine(“第一个控制台应用程序“); ,第9页,2.1.3 C#程序结构,命名空间 注释 类与方法,第10页,命名空间,程序的第一条语句“using System;”的作用是导入命名空间System,System是.NET框架提供的命名空间之一,命名空间中含有系统类库中已定义的类,System命名空间中包含Console类。如果在程序开始前先声明using System;,以后在程序中使用到System命名空间内的类时,就不必在类的前面再加上System。 程序中的语句“namespace e2_2”声明了一个命名空间e2_2,当新建一个项目时,系统就会自动生成一个与项目名称同名的命名空间。,第11页,注释,程序中“/”是单行注释符号,其后的文本是注释信息,注释信息不参加编译,不影响程序的执行结果。C#提供了两种注释方法,另外一种是使用“/* */”符号对,以“/*”开始,以“*/”结束,注释内容写在中间,该符号既可以进行单行注释,也可以进行多行注释。,第12页,类与方法,程序中的语句“class Class1”是类的声明,使用class关键字定义了一个名称为Class1的类,可以根据需要将Class1改名为较有意义的名称。 程序中的语句“static void Main(string args)”为类Class1声明了一个方法,一个C#程序可以由若干类组成,在多个类中只有一个类可以有方法Main(),程序从Main()方法开始执行。 程序中的语句“Console.WriteLine(“第一个控制台应用程序“);”的作用是输出“第一个控制台应用程序”信息,WriteLine()是类Console中的一种输出方法。 C#命名空间中的类提供了一些标准方法,下面仅介绍Math类的常用方法,如表2-1所示。,第13页,Math类的常用方法,第14页,2.2 C#的数据类型,值类型 引用类型 常量与变量,第15页,2.2.1 值类型,整数类型 字符类型 布尔类型 实数类型 小数类型 结构类型 枚举类型,第16页,2.2.2 引用类型,类类型 数组 代理类型 接口类型,第17页,2.2.3 常量与变量,常量是程序运行中固定不变的量。常量的值是在编译时确定的,在执行期间不变,只能引用不能改变。常量的声明形式为: const 类型名 声明列表; 常量在引用前必须用常量声明语句来明确它的类型和值。 变量是内存中的一个存储空间。变量的声明形式为: 类型名 变量名; 变量名必须是合法的标识符。变量名由字母、数字和下画线组成,变量名必须以字母或下画线开头,为了和系统变量进行区别,用户定义的变量尽量不用下画线开头。变量名不能与C#的关键字相同,变量要先声明后引用。,第18页,2.2.3 常量与变量,变量的应用 using System; class test2_5 public const Double PI=3.14; static void Main(stringargs) Double s,r=10; s=PI*r*r; Console.WriteLine(“圆的面积为0“,s); ,第19页,2.3 运算符与表达式,表达式由运算符和操作数构成。运算符表示对操作数进行的运算,按所操作对象的数目划分,运算符可分为:一元运算符、二元运算符和三元运算符。 一元运算符有一个操作数,又分为前缀符号和后缀符号;二元运算符有两个操作数,都使用中间符号;C#只有一个三元运算符“?:”,三元运算符使用方法如下: a?b:c 上面语句表示如果a为真,则取b的值,否则取c的值。,第20页,2.3 运算符与表达式,运算符的应用。 using System; class test2_6 static void Main(stringargs) int a=6,b=9,c; c=a+b+; Console.WriteLine(“a=0,b=1,c=2“,a,b,c); ,第21页,运行结果,第22页,2.4 控 制 语 句,选择语句 循环语句 跳转语句,第23页,2.4.1 选择语句,ifelse语句 switch语句,第24页,ifelse语句,ifelse语句根据判断表达式的值来选择执行语句。ifelse语句的语法形式如下: if(表达式) 语句1 else 语句2 若表达式的值为真,则执行语句1;若表达式的值为假,则执行语句2。语句1和语句2既可以是一条语句,也可以是大括号括起来的复合语句,else子句也可不存在。语句1和语句2也可嵌套if语句,在嵌套语句中,else总是与离它最近的if配对。,第25页,switch语句,switch语句是多选择控制结构。如果把一个变量表达式与多个不同的值进行比较,然后根据不同的比较结果执行不同的程序段,一般使用switch语句。switch语句的形式为: switch(表达式) case 表达式1:语句1; case 表达式2:语句2; case 表达式n:语句n; default: 语句n+1; ,第26页,switch语句,程序执行时,先计算switch语句括号内的表达式的值,再用此值与各case语句中的常量表达式比较,当遇到与表达式值相等的常量所对应的case语句时,执行该case语句后的语句,当执行到break语句时将跳出switch语句执行switch语句后的语句,如无break语句,将继续执行以后每一个case后的语句。如果没有找到相等的常量表达式,则从“default:”开始执行。当多个case语句后的语句相同时,可以将多个case分支共用一组语句。,第27页,2.4.2 循环语句,while语句 dowhile语句 for循环 foreach语句,第28页,while语句,while语句的语法形式如下: while(条件表达式)语句 程序执行时,先判断条件表达式,当值为真时,执行语句,再判断条件表达式,值为真时再执行语句,如此重复执行;直到条件表达式的值为假时,退出循环。,第29页,dowhile语句,dowhile语句的语法形式如下: do语句while(条件表达式); 程序执行时,先执行语句,然后判断条件表达式,条件表达式值为真时,再执行语句,执行完后再判断条件表达式,如此重复执行;直到条件表达式的值为假时,退出循环。 由于条件表达式的判断发生在语句执行之后,因此dowhile的语句至少执行一次,第一次执行与条件表达式的值无关。,第30页,for循环,for循环语句的语法形式如下: for(表达式1;表达式2;表达式3) 语句 for语句开始执行时,先计算表达式1的值,再计算表达式2的值,如果表达式2的值为真,则执行一次循环体,如果表达式2的值为假,则退出循环。每执行一次循环体后,计算表达式3的值,然后再计算表达式2的值,根据表达式2的值决定是否进入下次循环,如此反复直到表达式2的值为假时退出循环。 for语句的三个表达式的任何一个都可以缺省,但分号不能缺省。可以只在for语句后的括号中写入两个分号,而没有一个表达式,但这样的循环语句将会是一个“无限循环”,必须在它的语句中有跳出for循环的转移语句才能跳出这个循环。,第31页,foreach语句,foreach语句的形式为: foreach(类型名 变量名in表达式)语句 foreach语句为数组或集合中的每个元素重复执行语句。,第32页,2.4.3 跳转语句,break语句 break语句的作用是跳出包含它的switch、while、dowhile、for或foreach语句。如果break在嵌套的循环内,其作用是跳出它所在的那一层循环。,第33页,2.4.3 跳转语句,continue语句 continue语句用于结束本次循环,继续下一次循环,但不是直接退出循环。,第34页,2.5 异 常 处 理,throw语句 throw语句无条件抛出异常。,第35页,2.5 异 常 处 理,throw语句的应用。 using System; class test2_15 static void Main(string args) string a=null; if(a=null) throw(new ArgumentNullException(); Console.Write(“程序不执行此句“); ,第36页,运行结果,第37页,2.5 异 常 处 理,trycatch语句 try子句后面可以跟一个或者多个catch子句。如果执行try子句中的语句发生了异常,那么程序顺序查找第一个能处理该异常的catch子句,并将程序控制转移到catch子句执行。,第38页,2.5 异 常 处 理,tryfinally语句 tryfinally语句的语法形式如下: try语句1 finally语句2 程序执行语句1时,不管语句1是如何退 出的,程序最后都会转移去执行语句2。,第39页,2.5 异 常 处 理,trycatchfinally语句 trycatchfinally语句中try子句后面跟一个或多个catch子句及一个finally子句。如果执行try子句中的语句发生了异常,那么程序顺序查找第一个能处理该异常的catch子句,并转移到catch子句执行,不管try子句是如何退出的,程序总要执行finally子句。,第40页,2.5 异 常 处 理,trycatchfinally语句的应用。 using System; class test2_18 static void Main(stringargs) try throw(new ArgumentNullException(); catch(ArgumentNullException e) Console.WriteLine(“异常为:0“,e.Message); finally Console.WriteLine(“执行finally子句。“); ,第41页,运行结果,第42页,2.6 类,类的声明 类的成员 对象的声明 构造函数 析构函数 类的方法,第43页,2.7 继承与多态,类的继承 多态性,第44页,2.7.1 类的继承,继承性是面向对象程序设计语言的一个重要特性。C#支持单继承,类的继承形式如下: class 派生类类名:基类类名 数据成员 函数成员 ,第45页,2.7.1 类的继承,若类B继承类A,则称B是A的派生类,A是B的基类。继承具有下列特点: 构造函数和析构函数不能被继承,其他成员可以被继承; 继承具有传递性; 派生类可以增加新的成员,但不能删除已继承的成员; 派生类可以通过声明同名新成
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号