Download presentation
Presentation is loading. Please wait.
1
第二单元 C#语法 劳动和社会保障部全国计算机信息高新技术考试指定教材——ASP.NET
2
C# 的流控制结构----条件语句 条件语句 C#主要包含两种条件语句:IF语句和Switch语句。
3
C# 的流控制结构----条件语句 if(表达式) { 语句块; } 语句块1; else 语句块2; if(表达式1)
语句块3;
4
C# 的流控制结构----条件语句 Switch(表达式) { case 表达式的值1; 语句1; } case表达式的值2; 语句2;
…… default: 语句default;
5
C# 的流控制结构----循环语句 C#中共有四种循环语句: for语句、foreach语句、while语句和do语句。
6
C# 的流控制结构----循环语句(for)
using System; public class ForLoopTest { public static void Main() for (int i = 1; i <= 5; i++) Console.WriteLine(i); }
7
C# 的流控制结构----循环语句(Foreach)
Demo2-1.cs
8
C# 的流控制结构----循环语句(while)
using System; class WhileTest { public static void Main() int n = 1; while (n < 6) Console.WriteLine("Current value of n is {0}", n); n++; }
9
C# 的流控制结构----循环语句(do...while)
using System; class DoTest { public static void Main() int n = 10; do Console.WriteLine("Current value of n is {0}", n); n++; } while (n < 6); }
10
C# 的流控制结构----跳转语句 跳转语句的作用是使函数内的程序无条件的改变控制权,即在程序间进行控制转移。跳转语句包括break、continue、goto、return和throw语句。
11
C# 的流控制结构----跳转语句(break)
break语句用于终止最内层while、do、for和switch语句的执行。当程序遇到这一语句之后,执行紧接在被终止执行的语句后面的语句。
12
C# 的流控制结构----跳转语句(break)
using System; class BreakTest { public static void Main() for (int i = 1; i <= 100; i++) if (i == 5) break; Console.WriteLine(i); }
13
C# 的流控制结构----跳转语句(break)
Demo2-2.cs
14
C# 的流控制结构----跳转语句(continue )
continue语句仅使最内层的循环体终止当前进行的这次循环。在while和do循环结构中,它将控制权转至对真值条件的计算。它与前面提到的break语句不同,它并不终止整个循环的执行,而仅仅终止当前这一次循环的运行。
15
C# 的流控制结构----跳转语句(continue )
using System; class ContinueTest { public static void Main() for (int i = 1; i <= 10; i++) if (i < 9) continue; Console.WriteLine(i); }
16
C# 的流控制结构----跳转语句(goto)
goto语句也能用来跳出循环和switch语句。它无条件的转移程序的执行控制,其转移目的地是一个标号,因此要求标号与goto语句处在同一个函数中。
17
C# 的流控制结构----跳转语句(goto)
using System; class testgoto { public static void Main() int x = 55; Console.WriteLine("x = {0}", x); if (x == 55) x = 135; goto A; // Error } x = x + 1; A: for (int i=1; i<=5; i++) Console.WriteLine(i);
18
C# 的流控制结构----跳转语句(return )
using System; class ReturnTest { static double CalculateArea(int r) double area; area = r*r*Math.PI; return area; } public static void Main() int radius = 5; Console.WriteLine("The area is {0:0.00}", CalculateArea(radius));
19
构造函数与析构函数 构造函数与析构函数是两类特定的函数。构造函数在创建对象的时候被自动的调用,用以执行初对象的初始化操作。与之相对应,析构函数在释放对象的时候被调用,用来在把对象删除以前做清理的工作。
20
构造函数 构造函数的名字与类名是相同的,构造函数可以有任意个参数但不能有返回值。一个类可以由多个构造函数。当调用构造函数对类对象进行初始化的时候,将会首先调用直接基类的构造函数。
21
2.1 第1题 3.用构造函数实现类之间的值的关系:打开Y2-01C.cs,参照样图2-01C的运行结果, 用构造函数实现类之间的值的关系。
22
构造函数 如果编程人员自己不写构造函数,系统会默认地提供一个空的构造函数。请看下面的例子,在此示例中,类 Person 没有任何构造函数;在这种情况下,将自动提供默认构造函数,同时将字段初始化为它们的默认值。 Demo2-3.cs
23
析构函数 析构函数在释放对象的时候被自动调用,可以在对象被删除前进行清理工作。在这里请与C#的垃圾回收机制进行比较,垃圾回收机制是自动进行清理工作,但并不是在对象被删除以前被触发的,只有程序处于一定的状态的时候才能发挥作用,所以应该养成显式的释放资源的好习惯。 析构函数为类名前有“~”号。其声明的方法如下: 属性可选 extern可选 ~ 标识符 ( ) 析构函数体
24
析构函数 当毁坏实例时,按照从派生程度最大到派生程度最小的顺序调用它的继承链中的析构函数。
25
2.2 第2题 3.用析构函数实现类之间的值的关系:打开Y2-02C.cs,参照样图2-02C的运行结果, 用析构函数实现类之间的值的关系。
26
2.1 第1题 【操作要求】 将文件C:\2003AN\Unit2\Y2-01复制到考生文件夹。分别打开考生文件夹中的Y2-01A.cs,Y2-01B.cs,Y2-01C.cs文件,分别参照样图2-01A,2-01B和2-01C进行编程操作,并分别将操作结果以X2-01A.cs,X2-01B.cs以及X2-01C.cs文件名保存在考生文件夹中。
27
2.1 第1题 1.用switch判断语句判断用户输入的客房种类:打开Y2-01A.cs,参照样图2-01A的运行结果,用switch语句编写判断用户输入的客房种类的程序。
28
2.1 第1题 2.用while循环语句做循环操作:打开Y2-01B.cs,参照样图2-01B的运行结果,用while语句编写变量循环加一的程序。
29
2.2 第2题 【操作要求】 将文件C:\2003AN\Unit2\Y2-02复制到考生文件夹。分别打开考生文件夹中的Y2-02A.cs,Y2-02B.cs,Y2-02C.cs文件,分别参照样图2-02A,2-02B和2-02C进行编程操作,并分别将操作结果以X2-02A.cs,X2-02B.cs以及X2-02C.cs文件名保存在考生文件夹中。
30
2.2 第2题 1.用if-else判断语句判断用户输入的字符的大小写:打开Y2-02A.cs,参照样图2-02A的运行结果,用if-else语句编写判断用户输入的字符的大小写。
31
2.2 第2题 2.用foreach循环语句做循环操作:打开Y2-02B.cs,参照样图2-02B的运行结果,用foreach语句编写循环遍历数组以找出正负数分别有多少个。
Similar presentations