资源预览内容
第1页 / 共102页
第2页 / 共102页
第3页 / 共102页
第4页 / 共102页
第5页 / 共102页
第6页 / 共102页
第7页 / 共102页
第8页 / 共102页
第9页 / 共102页
第10页 / 共102页
亲,该文档总共102页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第二章 C#程序设计基础,第二章 C#程序设计基础,2.1 C#语法介绍 2.2 值类型 2.3 引用类型 2.4 异常处理 2.5 C#面向对象的编程 2.6 装箱与拆箱 本章小结,2.1.1 C#程序的基本结构,一个C#程序可以由一个或多个文件组成。它的程序是阶层式的结构。 C#程序的基本结构包括:命名空间声明、类声明、“Main()”方法声明和语句。下面讲解一个简单实例。 例2.1 一个简单实例,此程序只有一个可执行语句,程序运行时在屏幕上输出:C#语言的基本结构!,2.1.1 C#程序的基本结构,using System; / 使用System命名空间声明 namespace MyName1 / 声明用户命名空间MyName1 class Myclass / 声明Myclass类 public static void Main() / 声明Main方法,此处是程序的入口 Console.WriteLine(“C#语言的基本结构!“); /* 从此开始多行整块注释, 注释内容将被编译器忽略。 */ ,2.1.1 C#程序的基本结构,在C#的基本结构中: 类和方法以“”开始,以“”结束; 一个C#程序必须有唯一的Main()方法; 所有的语句都以分号“;”结束; 程序可以加注释,有两种方法:一种是“/”表示单行注释,表示从该注释符号开始到该行结束都是注释;另一种是以“/*”开始,以“*/”结束的多行注释。,2.1.1 C#程序的基本结构,在控制平台编译和运行源程序,需要计算机必须安装.NET Framework SDK。此案例中,调用了Console的WriteLine()方法在屏幕上输出一行提示信息。可以使用一个文本编辑器编写这段代码,将它存为cjg.cs文件。 .NET Framework SDK内置了C#编译器。打开“Visual Studio.NET 2003命令提示”命令窗口。转到保存文件所在目录,在命令行输入: csc cjg.cs,编译成功,就会得到可执行文件cjg.exe。在命令行输入执行文件命令:cjg回车,就会显示输出结果:C#语言的基本结构!,2.1.2 变量与常量,1. 变量 变量是指在程序运行过程中,其值可以发生变化的量,通常用来保存程序运行过程中的输入数据、计算获得的中间结果和最终结果。每个变量都有一种类型来确定什么样的数据可以存储在该变量中。 C#是一种的安全语言,编译器会检查变量和它所存储的数据类型是否一致,C#中所有变量必须“先声明后引用”,变量的声明语句的一般形式为: 附加属性 修饰符 类型名 变量声明符列表;,2.1.2 变量与常量,说明: 1)附加属性:附加声明信息; 2)修饰符:允许的修饰符有new和pulic protected internal private 有效组合; 3)变量声明符:变量名表示符,变量名必须是合法的标示符。 4)变量声明符列表:以逗号分隔的若干个变量声明符; 在声明变量时可以用变量初始化设定项给它赋初始值,也可以在声明时不初始化。C#的编译器要对所有的变量作用明确赋值检查,如果检查出未初始化的某变量,在使用变量之前必须对它赋值,如果不赋值,编译器会发出错误警告。,2.1.2 变量与常量,C#语言中共有七种变量:静态变量、非静态变量、数组元素、值参数、引用参数、输出参数和局部变量。 1)静态变量 在类中使用static修饰符声明的字段成为静态变量,静态变量与所属的类生命期相同。静态变量被视为初始已赋值 ,初始值是变量类型默认值。 2)非静态变量 没有使用static修饰符声明的变量。 在类中直接声明的不带static修饰符声明的变量成为非静态变量。 在结构中声明的不带static修饰符的变量也是非静态变量。,2.1.2 变量与常量,3)数组元素 数组的一个元素当一个数组实例产生时存在,当没有对数组实例进行引用时消失。数组元属被视为初始已赋值,数组元素的初始值是该变量类型默认值。 4)值参数 没有用ref或out限定符声明的参数叫值参数。当调用该值参数所属的成员函数时,才产生该值参数,调用完毕后,值参数消失。 5)引用参数 一个用ref限定符声明的参数叫引用参数,一个引用参数不产生新的存储地址,相反,它表示的存储地址与函数成员调用中的变量相同,因此,引用变量的值与所传递的变量相同。,2.1.2 变量与常量,6)输出参数 用out限定符声明的变量叫输出参数。输出参数不产生一个新的存储地址,相反,它表示的存储地址与函数成员调用中的变量相同,因此输出参数的值与所传递的变量相同。 7)局部变量 局部变量是通过局部变量声明语句定义的,该声明可以出现在块、for语句、foreach语句、switch语句或using语句中。一个局部变量不会自动被初始化,因此没有默认值,为了对明确地赋值进行校验,一个局部变量被认为是初始未被赋值过。如果局部变量声明包括变量初始值设定项,则该局部变量被视为在它的整个有效范围内已明确赋值。在局部变量声明语句之前引用该局部变量将会导致编译时错误。,2.1.2 变量与常量,2. 常量 常量是用来表示常数的类成员,它有一个名称标识符。一个常量在使用之前必须用常量声明语句来明确它的类型和值。常量声明语句的形式: 附加属性 修饰符 const 常量类型名 声明式列表; 说明: 附加属性:附加声明信息。 修饰符:允许的修饰符有 new、pulic、protected、internal和private的有效组合。 常数类型名:byte、char、short、int、long、float、double、decimal、bool、string。 声明式列表:以逗号分隔的声明式列表。 声明式:常量名=常量表达式,2.1.2 变量与常量,一条声明多个常量的常量声明与声明单个常量的多个声明,当它们有相同的附加属性、修饰符和类型时相互等价。例如: class A public const double X=1.0 , Y=2.0 , Z=3.0; 等同于 class A public const double X=1.0; public const double Y=2.0; public const double Z=3.0; ,2.1.3 表达式,表达式是由操作符(运算符)和操作数组成的一组有序的计算式。操作符表示对于操作数进行运算。 表达式的分类: 表达式按操作符分类,通常由算术操作符、位操作符构成算术表达式;由操作运算符构成赋值表达式;由关系操作符构成关系表达式;由逻辑操作符构成逻辑表达式;由特殊操作符构成的表达式可以按其最终结果类型分类。 一个表达式可以由以下元素组成:值、变量、命名空间、类型、方法、属性存取、事件存取、索引存取等多种元素。,2.1.4 C#操作符,运算就是对数据或变量进行加工处理的过程。描述各种不同运算的符号称为操作符或运算符。C#提供了丰富的操作符,见书中表2.1。,2.1.4 C#操作符,按所操作对象的数目划分,操作符可分为三类。 一元(单目)操作符 带有一个运算对象并用到前缀表达式或后缀表达式。例如:X , X+ 二元操作符 带有二个运算对象并用到前缀表达式或后缀表达式。例如:X+Y,X-Y,X/5 三元操作符 只有一种三元操作符“?”,称为三元条件运算符。三元操作符带有3个运算对象,运算符中的两个符号插在三个操作数中间。例如:表达式(y 7 ? a : b),其中“?”代表一个判断, “:”则将判断后的两种取值分开,此例表示如果y8为真则取a的值,否则取b的值。,2.1.5 C#控制语句,C#直接借用C和C+的大部分语句,并对之作了一些改动和调整。C#的语句包括:基本语句、标记语句、声明语句、选择语句、迭代语句。下面介绍几种常见语句:,2.1.5 C#控制语句,1. if语句 if语句用于在程序中有条件地执行一段代码,语法形式如下: if (expression ) statement; /当expression为真时执行statement语句序列 . 说明:表达式值为“真”,执行statement语句内容。 注意:表达式必须用圆括号括起来。,2.1.5 C#控制语句,2. if-else语句 if-else语句用于程序根据一个特定表达式的值执行两种单独的动作。语法形式如下: if (expression ) statement1; /当expression为真时执行statement1语句序列 . else statement2; /当expression为真时执行statement1语句序列 . ,2.1.5 C#控制语句,3. switch语句 switch语句是多选择控制语句,根据与指定的表达式相关的值来执行不同的语句,如果没有与之匹配的值,执行一个默认语句。 switch语句通过将控制传递给其体内的某个case子句来处理多个选择。其语法形式如下: switch (表达式) case 标号:内嵌语句列表; default :内嵌语句列表;,2.1.5 C#控制语句,switch语句的功能是:将控制转到与“表达式”值匹配的“常量表达式”所对应的case子句。switch语句可包含任意数量的case子句,但同一switch语句中的两个case子句的“常量表达式”不能具有相同的值。如果“表达式”的值与任何“常量表达式”都不匹配,则控制转到default标号后面的内嵌语句列表。如果没有default标号,则控制传递到switch之后的下一条语句。,2.1.5 C#控制语句,例2.2 根据输入的字符分不同情况输出对应的字符串 using System; class SwitchTest public static void Main() Console.WriteLine(“Size:1=Small 2=Medium 3=Large“); Console.Write(“Please enter your selection:“); string s=Console.ReadLine();,2.1.5 C#控制语句,switch(s) case “0“:goto case “1“; case “1“:Console.WriteLine(“Small size.“);break; case “2“:Console.WriteLine(“Medium size.“);break; case “3“:Console.WriteLine(“Large size.“);break; default:Console.WriteLine(“Invalid selection.“);break; Console.WriteLine(“Thanke you for your business.“); ,2.1.5 C#控制语句,运行输出结果: Size: 1= Small 2=Medium 3=Large Please enter you selection: 输入选择:1、2或3 Please enter you selection:2 回车 Medium size Tank you for your business.,2.1.5 C#控制语句,4. while语句 while语句是一种“预测试”的循环。是当型循环语句,它的形式为: while (expression) statement; ,2.1.5 C#控制语句,5. do-while语句 do-while语句是一种“后测试”的循环。在循环体中先执行一次再判断表达式的值,所以do-while循环语句总能保证循环体被执行一次。它是直到型循环。它的形式为: do statement; while (expression);,2.1.5 C#控制语句
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号