资源预览内容
第1页 / 共44页
第2页 / 共44页
第3页 / 共44页
第4页 / 共44页
第5页 / 共44页
第6页 / 共44页
第7页 / 共44页
第8页 / 共44页
第9页 / 共44页
第10页 / 共44页
亲,该文档总共44页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
1 1数据数据类型与流程控制型与流程控制2.1 数据数据类型型2.2 不同数据不同数据类型之型之间的的转换2.3 常量与常量与变量量2.4 运算符与表达式运算符与表达式2.5 控制台控制台应用程序与格式化用程序与格式化输出出2.6 C#流程控制流程控制语句句2 22.1 2.1 数据数据类型型uC#数据数据类型分型分为两两类:值类型和引用型和引用类型。型。值类型型:包括包括简单类型、枚型、枚举类型、型、结构构类型、可空型、可空类型。型。引用引用类型型:包括包括类、接口、数、接口、数组、委托。、委托。一般把引用一般把引用类型的型的变量称量称为对象。象。3 3值类型与引用型与引用类型区型区别堆栈堆56ij实际数据12345Hobjobj4 4值类型和引用型和引用类型的区型的区别 特性特性值类型值类型引用类型引用类型变量中保存的内容变量中保存的内容实际数据实际数据指向实际数据的引用指针指向实际数据的引用指针内存空间配置内存空间配置堆栈(堆栈(StackStack)受管制的堆(受管制的堆(Managed Managed HeapHeap)内存需求内存需求较少较少较多较多执行效率执行效率较快较快较慢较慢内存释放时间点内存释放时间点执行超过定义变量执行超过定义变量的作用域时的作用域时由垃圾回收机制负责回收由垃圾回收机制负责回收可以为可以为nullnull不可以不可以可以可以5 52.1.2 2.1.2 整型整型 uC#提供了八种整型(即提供了八种整型(即计算机算机组成原理中的成原理中的“定点数定点数”):):sbyte:1字字节有符号有符号byte: 1字字节无符号无符号short: 2字字节有符号有符号ushort:2字字节无符号无符号int: 4字字节有符号,最常用有符号,最常用uint: 4字字节无符号无符号long: 8字字节有符号有符号ulong:8 字字节无符号无符号6 62.1.3 2.1.3 浮点浮点类型型 float:4字字节浮点数,常用。例如:浮点数,常用。例如:35.0fdouble:8字字节浮点数,常用。例如:浮点数,常用。例如:2.7E+23decimal:16字字节浮点数,特殊的浮点数,精度高,适用于浮点数,特殊的浮点数,精度高,适用于金融、金融、货币等需要高精度数等需要高精度数值的的领域。其域。其类型指定符型指定符为M(或(或m)。)。 例如:例如: decimal y = 9999999999999999999999999m;float和和double的浮点数格式与的浮点数格式与计算机算机组成原理介成原理介绍的的IEEE754规定的格式相同定的格式相同7 72.1.4 2.1.4 布布尔型型 u 用用bool表示,表示,bool类型只有两个型只有两个值true和和false。例如:例如:bool isExist = false; bool b = (i0 & i 100 | i 0) Console.WriteLine(成成绩不在不在0-100范范围内内); 2626 else switch (i / 10) /整除整除 case 10: Console.Write(满分,分,); goto case 9; case 9: Console.WriteLine(优秀秀); break; case 8: case 7: Console.WriteLine(良好良好); break; case 6: Console.WriteLine(及格及格); break; default: Console.WriteLine(不及格不及格); break; Console.ReadLine(); 27272.6.2 2.6.2 循循环语句句u 包括:包括:for语句句while语句句do-while语句句foreach语句,用于句,用于对集合、数集合、数组进行操作。行操作。 28282.6.2 2.6.2 循循环语句(句(续)for语句句一般形式:一般形式:for (初始初始值;循循环条件条件;循循环控制控制) 语句序列句序列2929例例. .使用使用forfor语句控制循句控制循环体体 public static void Main() Console.Clear(); Console.BackgroundColor = ConsoleColor.Blue; Console.ForegroundColor = ConsoleColor.Red; Console.Beep(); for (int i = 1; i 10; i += 2) Console.SetCursorPosition(40 - i / 2, i); for (int j = 0; j i; j+) Console.Write(*); Console.WriteLine(); Console.ReadLine(); 30302.6.2 2.6.2 循循环语句(句(续)while语句句一般形式:一般形式:while (条件条件) 语句序列句序列 循循环体内的程序可能会体内的程序可能会执行多次,也可能一次也不行多次,也可能一次也不执行。行。31312.6.2 2.6.2 循循环语句(句(续)do-while一般形式:一般形式:do 语句序列句序列while (条件条件); 循循环体内的程序至少会体内的程序至少会执行一次,然后再判断条件是否行一次,然后再判断条件是否为true,如果条件,如果条件为true,则继续循循环。32322.6.2 2.6.2 循循环语句句( (续) )u foreach语句句foreach语句用于逐个提取集合中的元素,并句用于逐个提取集合中的元素,并对集合集合中每个元素中每个元素执行行语句序列中操作的句序列中操作的场合。一般形式合。一般形式为:foreach ( 类型型 标识符符 in 表达式表达式 ) 语句序列句序列注意:循注意:循环变量是一个只量是一个只读型的局部型的局部变量。量。3333示例示例int x=1,2,3;foreach(int i in x) Console.WriteLine(i);34342.6.2 2.6.2 循循环语句句( (续) )判断下列判断下列语句是否正确句是否正确,并并说明原因明原因int myInt=1,2,3; foreach(int test in myInt) test+; Console.WriteLine(test); 35352.6.3 2.6.3 跳跳转语句句u 1.break语句句功能:功能:退出最近的封退出最近的封闭switch、while、do-while、for或或foreach语句。句。格式:格式:break;3636【例例】循循环接收和接收和输出出键盘输入的每一行的入的每一行的值,当接收的,当接收的内容内容为空字符串空字符串时退出。退出。 using System;namespace BreakExample public class Program public static void Main() for (; ; ) Console.Write(请输入一个字符串(直接回入一个字符串(直接回车退出)退出):); string s = Console.ReadLine(); if (s = ) break; Console.WriteLine(你你输入的是入的是: 0., s); Console.ReadLine(); 37372.6.3 2.6.3 跳跳转语句句 ( (续) )u 2.continue语句句功能:功能:将控制将控制传递给下一个下一个while、do-while、for或或foreach,继续执行下一次循行下一次循环。格式:格式:continue ;38382.6.3 2.6.3 跳跳转语句句 ( (续) )u 3.goto语句句仅在下面两种情况下才可能会使用在下面两种情况下才可能会使用goto语句:句:(1)用于)用于switch语句中从一个句中从一个case标签转到另一个到另一个case标签处。(2)用于直接退出到多重嵌套循)用于直接退出到多重嵌套循环的外部。的外部。39392.6.3 2.6.3 跳跳转语句句 ( (续) )u 4.return语句句功能:功能:将控制返回到出将控制返回到出现return语句的函数成句的函数成员的的调用方。用方。格式:格式:return 表达式表达式; 其中表达式其中表达式为可可选项,如果,如果该函数成函数成员的返回的返回类型不型不为null,则return语句必句必须使用表达式返回使用表达式返回这个个类型的型的值,否,否则return语句不能使用表达式。句不能使用表达式。40402.6.4 2.6.4 异常异常处理理 1.try-catch语句句try 语句序列句序列catch(异常(异常类型型 标识符)符) 异常异常处理理 在程序运行正常的在程序运行正常的时候,候,执行行try块内的程序。如果内的程序。如果try块中出中出现了异常,程序就了异常,程序就转移到移到catch块中中执行。行。 41412.6.4 2.6.4 异常异常处理理 ( (续) ) 2.try-catch-finally语句句try 语句序列句序列catch(异常(异常类型型 标识符)符) 异常异常处理理finally 语句序列句序列42423.throw语句句格式:格式:throw 表达式表达式; 抛出表达式的抛出表达式的值。注意表达式注意表达式类型必型必须是是System.Exception或从或从System.Exception派生的派生的类的的类型。型。throw也可以不也可以不带表达式,不表达式,不带表达式的表达式的throw语句句只能用在只能用在catch块中,在中,在这种情况下,它重新抛出当前正种情况下,它重新抛出当前正在由在由catch块处理的异常。理的异常。 2.6.4 2.6.4 异常异常处理理 ( (续) )4343例例. .异常异常处理理 using System;namespace TryCatchExample class Program static void F() try G(); catch (Exception err) Console.WriteLine(方法方法F中捕中捕获到到: + err.Message); 4444 / 重新抛出当前正在由重新抛出当前正在由catch 块处理的异常理的异常err throw; static void G() throw new Exception(方法方法G中抛出的异常。中抛出的异常。); static void Main() try F(); catch (Exception err) Console.WriteLine(方法方法Main中捕中捕获到到: + err.Message); Console.ReadLine();
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号