版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1 1第第2 2章章 数据类型与流程控制数据类型与流程控制2.1 2.1 数据类型数据类型2.2 2.2 不同数据类型之间的转换不同数据类型之间的转换2.3 2.3 常量与变量常量与变量2.4 2.4 运算符与表达式运算符与表达式2.5 2.5 控制台应用程序与格式化输出控制台应用程序与格式化输出2.6 2.6 C#C#流程控制语句流程控制语句2 22.1 2.1 数据类型数据类型uC#C#数据类型分为两类:值类型和引用类型。数据类型分为两类:值类型和引用类型。 值类型值类型:值类型变量直接保存变量的值值类型变量直接保存变量的值 包括简单类型、枚举类型、结构类型、可空类型。包括简单类型、枚举类
2、型、结构类型、可空类型。 引用类型引用类型:引用类型变量保存的是数据的引用地引用类型变量保存的是数据的引用地址。址。 包括类、接口、数组、委托。包括类、接口、数组、委托。 一般把引用类型的变量称为对象。一般把引用类型的变量称为对象。3 3类类 别别描描 述述值类型值类型简单类型简单类型有符号整型:有符号整型:sbyte,short,int,longsbyte,short,int,long无符号整型:无符号整型:byte,ushort,uint,ulongbyte,ushort,uint,ulongUnicodeUnicode字符:字符:charcharIEEEIEEE浮点型:浮点型:float
3、,doublefloat,double高精度小数:高精度小数:decimaldecimal布尔型:布尔型:boolbool枚举类型枚举类型用户自定义类型用户自定义类型enumenum E E结构类型结构类型用户自定义类型用户自定义类型structstruct S S引用类型引用类型类类型类类型所有其他类型的最终基类:所有其他类型的最终基类:objectobjectUnicodeUnicode字符串:字符串:stringstring用户自定义类型用户自定义类型class Cclass C接口类型接口类型用户自定义类型用户自定义类型interface Iinterface I数组类型数组类型单维与
4、多维数组,例如,单维与多维数组,例如,intint与与intint,委托类型委托类型用户自定义类型用户自定义类型delegate T D()delegate T D()4 4值类型与引用类型区别值类型与引用类型区别 12345H堆栈堆56ij实际数据12345Hobjobj5 5值类型和引用类型的区别值类型和引用类型的区别 特性特性值类型值类型引用类型引用类型变量中保存的内容变量中保存的内容实际数据实际数据指向实际数据的引用指针指向实际数据的引用指针内存空间配置内存空间配置堆栈(堆栈(StackStack)受管制的堆(受管制的堆(Managed HeapManaged Heap)内存需求内存需
5、求较少较少较多较多执行效率执行效率较快较快较慢较慢内存释放时间点内存释放时间点执行超过定义变量执行超过定义变量的作用域时的作用域时由垃圾回收机制负责回收由垃圾回收机制负责回收可以为可以为nullnull不可以不可以可以可以6 62.1.2 2.1.2 整型整型 uC#C#提供了八种整型(即计算机组成原理中的提供了八种整型(即计算机组成原理中的“定点数定点数”):): sbytesbyte:1 1字节有符号字节有符号 bytebyte: 1 1字节无符号字节无符号 shortshort: 2 2字节有符号字节有符号 ushortushort:2 2字节无符号字节无符号 intint: 4 4字节
6、有符号,最常用字节有符号,最常用 uintuint: 4 4字节无符号字节无符号 longlong: 8 8字节有符号字节有符号 ulongulong:8 8 字节无符号字节无符号各类型表示的数据类型见表各类型表示的数据类型见表2-32-37 72.1.3 2.1.3 浮点类型浮点类型 floatfloat: 4 4字节浮点数,常用。例如:字节浮点数,常用。例如:35.0f35.0fdoubledouble: 8 8字节浮点数,常用。例如:字节浮点数,常用。例如:2.7E+232.7E+23decimaldecimal:1616字节浮点数,特殊的浮点数,精度高字节浮点数,特殊的浮点数,精度高
7、适用于金融、货币等需要高精度数值的领域。适用于金融、货币等需要高精度数值的领域。 其类型指定符为其类型指定符为M M(或(或m m)。)。 例如:例如: decimal y = 9999999999999999999999999m; decimal y = 9999999999999999999999999m; floatfloat和和doubledouble的浮点数格式与计算机组成原理介绍的的浮点数格式与计算机组成原理介绍的IEEE754 IEEE754 规定的格式相同规定的格式相同 各类型表示的数据类型见表各类型表示的数据类型见表2-42-48 82.1.4 2.1.4 布尔型布尔型 u
8、用用boolbool表示,表示,boolbool类型只有两个值类型只有两个值truetrue和和falsefalse。 例如:例如: boolbool isExistisExist = false; = false; boolbool b = (i0 & i0 & iz) & (xz) & (x 100 | i 100 | i 0) Console.WriteLineConsole.WriteLine(成绩不在成绩不在0-1000-100范围内范围内);); 4141 elseelse switch (i / 10) / switch (i / 10) /整除整
9、除 case 10: case 10: Console.WriteConsole.Write(满分,满分,);); gotogoto case 9; case 9; case 9: case 9: Console.WriteLineConsole.WriteLine(优秀优秀);); break; break; case 8: case 8: case 7: case 7: Console.WriteLineConsole.WriteLine(良好良好);); break; break; case 6: case 6: Console.WriteLineConsole.WriteLine(及格
10、及格);); break; break; default: default: Console.WriteLineConsole.WriteLine(不及格不及格);); break; break; Console.ReadLineConsole.ReadLine();(); 42422.6.2 2.6.2 循环语句循环语句u 包括:包括: forfor语句语句 whilewhile语句语句 do-whiledo-while语句语句 foreachforeach语句,用于对集合、数组进行操作。语句,用于对集合、数组进行操作。 43432.6.2 2.6.2 循环语句(续)循环语句(续)forfo
11、r语句语句一般形式:一般形式:for (for (初始值初始值; ;循环条件循环条件; ;循环控制循环控制) ) 语句序列语句序列 4444例例2-4.2-4.使用使用forfor语句控制循环语句控制循环体体 public static void Main() public static void Main() Console.ClearConsole.Clear();(); Console.BackgroundColorConsole.BackgroundColor = = ConsoleColor.BlueConsoleColor.Blue; ; Console.ForegroundCol
12、orConsole.ForegroundColor = = ConsoleColor.RedConsoleColor.Red; ; Console.BeepConsole.Beep();(); for ( for (intint i = 1; i 10; i += 2) i = 1; i 10; i += 2) Console.SetCursorPosition(40 - i / 2, i); Console.SetCursorPosition(40 - i / 2, i); for (for (intint j = 0; j i; j+) j = 0; j i; j+) Console.Wr
13、iteConsole.Write(* *);); Console.WriteLineConsole.WriteLine();(); Console.ReadLineConsole.ReadLine();(); 45452.6.2 2.6.2 循环语句循环语句( (续续) )u foreachforeach语句语句 foreachforeach语句用于逐个提取集合中的元素,并对集合语句用于逐个提取集合中的元素,并对集合中每个元素执行语句序列中操作的场合。一般形式为:中每个元素执行语句序列中操作的场合。一般形式为: foreachforeach ( ( 类型类型 标识符标识符 in in 表达式表
14、达式 ) ) 语句序列语句序列 注意注意(1 1)循环变量是一个只读型的局部变量循环变量是一个只读型的局部变量。 (2 2)循环变量类型必须和表达式所包含的集合元素循环变量类型必须和表达式所包含的集合元素的类型一致的类型一致46462.6.2 2.6.2 循环语句循环语句( (续续) )判断下列语句是否正确判断下列语句是否正确, ,并说明原因:并说明原因: intint myIntmyInt=1,2,3;=1,2,3; foreach(floatforeach(float test in test in myIntmyInt) ) test+; test+; Console.WriteLine
15、(testConsole.WriteLine(test);); 问题问题1 1:循环变量在循环体中被赋值:循环变量在循环体中被赋值test+;test+;(循环变量是一个只读型的局部循环变量是一个只读型的局部变量变量)问题问题2 2:float test float test (循环变量类型必须和表达式所包含的节元素类型一致)(循环变量类型必须和表达式所包含的节元素类型一致)例题例题2-52-547472.6.2 2.6.2 循环语句(续)循环语句(续)whilewhile语句语句一般形式:一般形式: while (while (条件条件) ) 语句序列语句序列 循环体内的程序可能会执行多次,
16、也可能一次也不执行。循环体内的程序可能会执行多次,也可能一次也不执行。例题例题2-62-648482.6.2 2.6.2 循环语句(续)循环语句(续)do-whiledo-while一般形式:一般形式: dodo 语句序列语句序列 while (while (条件条件);); 循环体内的程序至少会执行一次,然后再判断条件是否为循环体内的程序至少会执行一次,然后再判断条件是否为truetrue,如果条件为,如果条件为truetrue,则继续循环。,则继续循环。49492.6.3 2.6.3 跳转语句跳转语句u1.break1.break语句语句 功能:功能:退出最近的封闭退出最近的封闭switc
17、hswitch、whilewhile、dodo- -whilewhile、forfor或或foreachforeach语句。语句。 格式:格式: break;break;5050【例例】循环接收和输出键盘输入的每一行的值,当接收的内容为空字符串时退循环接收和输出键盘输入的每一行的值,当接收的内容为空字符串时退出。出。 using System;using System;namespace namespace BreakExampleBreakExample public class Program public class Program public static void Main() p
18、ublic static void Main() for (; ; ) for (; ; ) Console.WriteConsole.Write(请输入一个字符串(直接回车退出)请输入一个字符串(直接回车退出):);:); string s = string s = Console.ReadLineConsole.ReadLine();(); if (s = ) break; if (s = ) break; Console.WriteLineConsole.WriteLine(你输入的是你输入的是: 0., s);: 0., s); Console.ReadLineConsole.Read
19、Line();(); 51512.6.3 2.6.3 跳转语句跳转语句 ( (续续) )u2.continue2.continue语句语句 功能:功能:将控制传递给下一个将控制传递给下一个whilewhile、do-whiledo-while、forfor或或foreachforeach,继续执行下一次循环。,继续执行下一次循环。 格式:格式: continue ;continue ;52522.6.3 2.6.3 跳转语句跳转语句 ( (续续) )u3.goto3.goto语句语句仅在下面两种情况下才可能会使用仅在下面两种情况下才可能会使用gotogoto语句:语句:(1 1)用于)用于sw
20、itchswitch语句中从一个语句中从一个casecase标签转到另一个标签转到另一个casecase标标签处。签处。(2 2)用于直接退出到多重嵌套循环的外部。)用于直接退出到多重嵌套循环的外部。不建议使用不建议使用gotogoto语句!语句!53532.6.3 2.6.3 跳转语句跳转语句 ( (续续) )u4.return4.return语句语句 功能:功能:将控制返回到出现将控制返回到出现returnreturn语句的函数成语句的函数成员的调用方。员的调用方。 格式:格式: return return 表达式表达式; 其中表达式为可选项,如果该函数成员的返回其中表达式为可选项,如果该
21、函数成员的返回类型不为类型不为nullnull,则,则returnreturn语句必须使用表达式返回这语句必须使用表达式返回这个类型的值,否则个类型的值,否则returnreturn语句不能使用表达式。语句不能使用表达式。5454【例例2-92-9】循环与跳转综合举例循环与跳转综合举例 。55552.6.4 2.6.4 异常处理异常处理 异常可以以两种不同的方式引发:异常可以以两种不同的方式引发:C#C#语句和表达式执行过程中激发了某个异常的条件,语句和表达式执行过程中激发了某个异常的条件,使得操作无法正常结束,从而引发异常。例如整数除使得操作无法正常结束,从而引发异常。例如整数除法操作分母为
22、零时将抛出一个异常。法操作分母为零时将抛出一个异常。throwthrow语句无条件,即时的抛出异常。语句无条件,即时的抛出异常。trytry语句提供了一种机制来捕捉执行过程中发生的语句提供了一种机制来捕捉执行过程中发生的异常。以下是它的三种可能的形式:异常。以下是它的三种可能的形式:try-catchtry-catchtry-finallytry-finallytry-catch-finallytry-catch-finally56562.6.4 2.6.4 异常处理异常处理 1.try-catch1.try-catch语句语句trytry 语句序列语句序列 catchcatch(异常类型(异
23、常类型 标识符)标识符) 异常处理异常处理 在程序运行正常的时候,执行在程序运行正常的时候,执行trytry块内的程序。如果块内的程序。如果trytry块中块中出现了异常,程序就转移到出现了异常,程序就转移到catchcatch块中执行。块中执行。 57572.6.4 2.6.4 异常处理异常处理 ( (续续) ) 2.try-catch-finally 2.try-catch-finally语句语句trytry 语句序列语句序列 catchcatch(异常类型(异常类型 标识符)标识符) 异常处理异常处理 finallyfinally 语句序列语句序列 例题例题2-102-1058583.throw3.throw语句语句 格式:格式:throw throw 表达式表达式; 抛出表达式的值。抛出表达式的值。 注意表达式类型必须是注意表达式类型必须是System.ExceptionSystem.Exception或从或从System.ExcSystem.Exceptioneption派生的类的类型。派生的类的类型。 throwthrow也可以不带表达式,不带表达式的也可以不带表达式,不带表达式的throwthrow语句语句只能用在只能用在catchcatch块中,在这种情况下,它重
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小型c语言课程设计
- 2024年度户外地毯销售与铺设服务合同协议3篇
- 2025年山东济宁梁山县国资产事务中心下属国企业招聘工作人员10人管理单位笔试遴选500模拟题附带答案详解
- 2025年山东济宁市兖州区事业单位招聘101人笔试管理单位笔试遴选500模拟题附带答案详解
- 2025年山东泰安市徂汶景区事业单位初级综合类岗位招聘17人历年管理单位笔试遴选500模拟题附带答案详解
- 开工前发言稿范文(7篇)
- 2025年山东曲阜市事业单位公开招聘240人历年管理单位笔试遴选500模拟题附带答案详解
- 2025年山东德州市宁津惠宁投资控股集团限公司招聘35人管理单位笔试遴选500模拟题附带答案详解
- 2025年山东定陶县城乡规划管理局定陶县文物局招考事业工作人员管理单位笔试遴选500模拟题附带答案详解
- 崇尚勤俭杜绝浪费的广播稿400字(7篇)
- 电话卡营销策划方案
- 风险企业监测方案
- 基础团务知识培训
- 11054-国家开放大学2023年春期末统一考试《流通概论》答案
- 临床研究的重要性与培训推动医疗行业不断创新
- 国家开放大学2023年7月期末统一试《11132卫生管理》试题及答案-开放本科
- 戴炜栋语言学练习题
- 英汉互译单词练习打印纸
- 消防设备电源监控系统调试报告表
- 改革开放简史智慧树知到课后章节答案2023年下北方工业大学
- 单侧甲状腺次全切除术后护理查房
评论
0/150
提交评论