第2章数据类型与流程控制

上传人:s9****2 文档编号:579420661 上传时间:2024-08-26 格式:PPT 页数:51 大小:1.24MB
返回 下载 相关 举报
第2章数据类型与流程控制_第1页
第1页 / 共51页
第2章数据类型与流程控制_第2页
第2页 / 共51页
第2章数据类型与流程控制_第3页
第3页 / 共51页
第2章数据类型与流程控制_第4页
第4页 / 共51页
第2章数据类型与流程控制_第5页
第5页 / 共51页
点击查看更多>>
资源描述

《第2章数据类型与流程控制》由会员分享,可在线阅读,更多相关《第2章数据类型与流程控制(51页珍藏版)》请在金锄头文库上搜索。

1、第第2章章 数据类型与流程控制数据类型与流程控制内容提要2.1 数据类型数据类型2.2 不同数据类型之间的转换不同数据类型之间的转换2.3 常量与变量常量与变量2.4 运算符与表达式运算符与表达式2.5 控制台应用程序与格式化输出控制台应用程序与格式化输出2.6 C#流程控制语句流程控制语句2 2预期目标掌握掌握C#的基本语法的基本语法3 32.1 数据类型C#数据类型分为两类:值类型和引用类型。数据类型分为两类:值类型和引用类型。值类型:包括简单类型、枚举类型、结构类型、可空值类型:包括简单类型、枚举类型、结构类型、可空类型。类型。引用类型:包括类、接口、数组、委托。引用类型:包括类、接口、

2、数组、委托。一般把引用类型的变量称为对象。一般把引用类型的变量称为对象。4 4值类型与引用类型区别堆栈堆56ij实际数据12345Hobjobj5 5值类型和引用类型的区别 特性值类型引用类型变量中保存的内容实际数据指向实际数据的引用指针内存空间配置堆栈(Stack)受管制的堆(Managed Heap)内存需求较少较多执行效率较快较慢内存释放时间点执行超过定义变量的作用域时由垃圾回收机制负责回收可以为null不可以可以6 62.1.2 整型 C#提供了八种整型(即计算机组成原理中的提供了八种整型(即计算机组成原理中的“定定点数点数”):):sbyte:1字节有符号字节有符号byte: 1字节

3、无符号字节无符号short: 2字节有符号字节有符号ushort:2字节无符号字节无符号int: 4字节有符号,最常用字节有符号,最常用uint: 4字节无符号字节无符号long: 8字节有符号字节有符号ulong:8 字节无符号字节无符号7 72.1.3 浮点类型 float:4字节浮点数,常用。例如:字节浮点数,常用。例如:35.0fdouble:8字节浮点数,常用。例如:字节浮点数,常用。例如:2.7E+23decimal:16字节浮点数,特殊的浮点数,精度字节浮点数,特殊的浮点数,精度高,适用于金融、货币等需要高精度数值的领域。高,适用于金融、货币等需要高精度数值的领域。其类型指定符为

4、其类型指定符为M(或(或m)。)。例如:例如: decimal y = 9999999999999999999999999m;float和和double的浮点数格式与计算机组成原理介的浮点数格式与计算机组成原理介绍的绍的IEEE754规定的格式相同规定的格式相同8 82.1.4 布尔型 用用bool表示,表示,bool类型只有两个值类型只有两个值true和和false。例如:例如:bool isExist = false;bool b = (i0 & i 100 | i 0) Console.WriteLine(成绩不在0-100范围内); else switch (i / 10) /整除 c

5、ase 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(); 35352.6.2 循环语句 包括:包括:for语句语句while语句语句do-while语句语句foreach语句,用于对集合、数组进行操作。语句,用于

6、对集合、数组进行操作。 36362.6.2 循环语句(续)for语句语句一般形式:一般形式:for (初始值;循环条件;循环控制) 语句序列3737例.使用for语句控制循环体 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

7、/ 2, i); for (int j = 0; j i; j+) Console.Write(*); Console.WriteLine(); Console.ReadLine(); 38382.6.2 循环语句(续)while语句语句一般形式:一般形式:循环体内的程序可能会执行多次,也可能一次也循环体内的程序可能会执行多次,也可能一次也不执行。不执行。while (条件)语句序列39392.6.2 循环语句(续)do-while一般形式:一般形式:循环体内的程序至少会执行一次,然后再判断条循环体内的程序至少会执行一次,然后再判断条件是否为件是否为true,如果条件为,如果条件为true,则

8、继续循环。,则继续循环。 do 语句序列while (条件); 40402.6.2 循环语句(续) foreach语句语句foreach语句用于逐个提取集合中的元素,并对集合中语句用于逐个提取集合中的元素,并对集合中每个元素执行语句序列中操作的场合。一般形式为:每个元素执行语句序列中操作的场合。一般形式为:注意:循环变量是一个只读型的局部变量。注意:循环变量是一个只读型的局部变量。foreach ( 类型 标识符 in 表达式 ) 语句序列41412.6.2 循环语句(续)判断下列语句是否正确判断下列语句是否正确,并说明原因并说明原因 int myInt=1,2,3; foreach(int

9、test in myInt) test+; Console.WriteLine(test); 42422.6.3 跳转语句1.break语句语句功能:退出最近的封闭功能:退出最近的封闭switch、while、do-while、for或或foreach语句。语句。格式:格式:break;4343示例【例例】循环接收和输出键盘输入的每一行的值,循环接收和输出键盘输入的每一行的值,当接收的内容为空字符串时退出。当接收的内容为空字符串时退出。 using System;namespace BreakExample public class Program public static void Mai

10、n() for (; ; ) Console.Write(请输入一个字符串(直接回车退出):); string s = Console.ReadLine(); if (s = ) break; Console.WriteLine(你输入的是: 0., s); Console.ReadLine(); 44442.6.3 跳转语句 (续)2.continue语句语句功能:将控制传递给下一个功能:将控制传递给下一个while、do-while、for或或foreach,继续执行下一次循环。继续执行下一次循环。格式:格式:continue ;3.goto语句语句仅在下面两种情况下才可能会使用仅在下面两

11、种情况下才可能会使用goto语句:语句:(1)用于)用于switch语句中从一个语句中从一个case标签转到另一个标签转到另一个case标签处。标签处。(2)用于直接退出到多重嵌套循环的外部。)用于直接退出到多重嵌套循环的外部。45452.6.3 跳转语句 (续)4.return语句语句功能:将控制返回到出现功能:将控制返回到出现return语句的函数成员的调用语句的函数成员的调用方。方。格式:格式:return 表达式表达式;其中表达式为可选项,如果该函数成员的返回类其中表达式为可选项,如果该函数成员的返回类型不为型不为null,则,则return语句必须使用表达式返回这语句必须使用表达式返

12、回这个类型的值,否则个类型的值,否则return语句不能使用表达式。语句不能使用表达式。46462.6.4 异常处理 1.try-catch语句语句在程序运行正常的时候,执行在程序运行正常的时候,执行try块内的程序。如块内的程序。如果果try块中出现了异常,程序就转移到块中出现了异常,程序就转移到catch块中块中执行。执行。 try 语句序列catch(异常类型 标识符) 异常处理47472.6.4 异常处理 (续) 2.try-catch-finally语句语句try 语句序列catch(异常类型 标识符) 异常处理finally 语句序列48482.6.4 异常处理 (续)3.thro

13、w语句语句格式:格式:throw 表达式表达式;抛出表达式的值。抛出表达式的值。注意表达式类型必须是注意表达式类型必须是System.Exception或从或从System.Exception派生的类的类型。派生的类的类型。throw也可以不带表达式,不带表达式的也可以不带表达式,不带表达式的throw语语句只能用在句只能用在catch块中,在这种情况下,它重新抛块中,在这种情况下,它重新抛出当前正在由出当前正在由catch块处理的异常。块处理的异常。 4949例.异常处理 using System;namespace TryCatchExample class Program static void F() try G(); catch (Exception err) Console.WriteLine(方法F中捕获到: + err.Message); / 重新抛出当前正在由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(); 5050小结5151

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号