C#Base第一章c#程序基础.pdf

上传人:奔*** 文档编号:89832737 上传时间:2023-05-13 格式:PDF 页数:81 大小:9.28MB
返回 下载 相关 举报
C#Base第一章c#程序基础.pdf_第1页
第1页 / 共81页
C#Base第一章c#程序基础.pdf_第2页
第2页 / 共81页
点击查看更多>>
资源描述

《C#Base第一章c#程序基础.pdf》由会员分享,可在线阅读,更多相关《C#Base第一章c#程序基础.pdf(81页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、C#Base第一章c#程序基础1.1 C#语言简介C#语言是一种基于微软.NET平台的高级编程语言,也是目前最流行的开发语言之一,最初它有一个更酷的名字COOLo微软从1998年12月开始了 COOL项目,直 到2000年2月,COOL被正式更名为C#语言;C#语言在2001年得以正式发布。C#语言的名字很有创意,读作:CSharp,Sharp是锋利的意思,寓意在软件开发领域,C#语言将成为一把锋利的开发工具,而事实也证明了它已经做到了。C#语言是一种安全的、稳定的、简单的、优雅的编程语言,它拥有强大的功能,简单得可视化操作和高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷

2、的面向组件编程的支持,成为.NET开发的首选语言。1.2 C#集成开发环境Microsoft Visual Studio 2012 是微软与 2012 年 9 月 12 日在美国西雅图推出的新一代集成开发环境(IntegratedDevelopment Environment,简 称ID E),是目前最专业,最流行的Windows平台应用程序开发环境。Visual Studio 2012的开发界面主要由以下部分组成:1.菜单和工具栏:与许多常见工具相同,此处的菜单和工具栏主要用于提供各种功能的快捷方式,而且可以根据当前窗体类型进行动态改变。2.工具箱区:工具箱提供了可视化编程中需要用到的各种控

3、件,开发是直接使用鼠标拖拽,将控件拖拽至工作区即可。3.工作区:工作区是项目开发的主要操作区域,用于显示各种文件、并提供编辑功能。例如:打开源代码文件进行编辑,打开设计界面拖拽控件进行界面搭建等。4.解决方案区和属性区解决方案区主要显示项目以及项目的资源,如项目中的文件夹、源代码文件及图片素材文件等。属性区用于显示当前选中控件的各种属性信息,且可更改。5.输出区输出区用于显示项目编译或运行后的相关信息,如编译错误信息、警告信息、出错行数和错误原因等。1.3初始C#程序1.创建第一个C#语言程序控制台应用程序也称为Console应用程序,用于在命令行方式下运行。控制台应用程序的优点在于可以方便的

4、练习编程语言的语法和开发习惯,一般情况下,每个软件从业者都有从学习控制台应用程序到学习可视化编程的转变过程。.启动Visual Studio 2012,新建项目(2).选择项目类型以及模板,选择Windows控制台应用程序.完成项目创建.示例:/*文件名:Program.cs作者:rather概述:第一个C#程序,向控制台进行输出信息*/Using System;namespace MyFirstCsharpClass Programstatic void Main(string args)用于向控制台进行输出Console.WriteLine(/zHello,C#!/,).按CtH+F5编译

5、并执行程序,输出结果2.项目结构分析在创建C#应用程序是,会自动生成相应的解决方案,C#应用程序均通过解决方案进行组织,那么解决方案是什么呢?解决方案和项目都是Visual Studio 2012提供的有效管理应用程序的容器,一个解决方案可以包含一个或者多个项目,且每一个项目能够解决一个独立的问题,这样,即使相关的代码最终在计算机中的不同位置编译为多个应用程序,也可以将其组合在一起,作为整体进行管理。注意:C#语言源文件以.cs作为拓展名3.程序结构分析在解决方案资源管理器中,双 击Program.cs源文件,将在工作区中打开该文件,代码如下:/*文件名:Program.cs作者:rather

6、概述:第一个C#程序,向控制台进行输出信息*/Using System;namespace MyFirstCsharp(Class Program(static void Main(string args)(用于向控制台进行输出Console.WriteLine(Hello,C#!).using关键字Using关键字用于导入命名空间,是C#语言中组织代码的方式,将具有相同功能的相似类在逻辑上进行分组,便于管理和查找,usingSystem;”语句引入System命名空间,意味着可以直接使用System命名空间中的类和方法。(2).namespace 关键字namespace关键字用于声明命名空

7、间、组织和管理代码。可以将一些紧密相关的代码放在同一个命名空间中,提高管理和使用的效率。.class关键字C#语言是完全面向对象的语言,类是组织代码的最小单元,在C#语言中,可以通过class关键字声明类。(4).Main 函数Main函数被称为主函数,是所有C#语言程序的入口,任 何C#语言程序均从Main函数开始运行,并在Main函数中结束运行。.注释注释是指在程序的某些位置添加的一些说明性的文字,用于提高程序代码的可读性,C#语言注释通常分为两种形式。1).如果注释包含多行,可以使用7*开始、*/结束,这两个符号必须成对出现。2).如果注释仅包含一行,则只需要在注释语句之间使用7/进行标

8、识,需要注意的是,7/之后的一整行都会被编译器作为注释处理。注意:注释仅用于描述说明,所以编译器在编译代码时会忽略注释,即注释不参与程序的运行。1.4控制台的输出控制台是一个操作系统窗口,用户可以在该窗口中通过计算机键盘输入文本,经过处理后将结束从计算机终端输出,从而与操作系统或基于文本的控制台应用程序进行交互。例如:在 windows中,控制台称为命令提示窗口,在开始3 运行中输入命令 cmd后回车,即可打开,该窗口可以执行MS-DOS 命令。语法:Console.Write(控制字符串);Console.WriteLine(控制字符串);两者的区别在于前者输出后不换行,而后者输出后换行,代

9、码见示例如下:class ProgramStatic void Main(string args)(/Console.Write输出不换行Console.Write(/Hello/,);Consloe.Write(/Mstanford/,);/Console.WriteLines 输出后换行Console.WriteLine(zz);Console.WriteLine(/z-);Console.WriteLine(/zHello,);Console.WriteLine(z/Mstanford/,);)在 Console.Write。或 Console.WriteLine()中的控制字符串中,除

10、了可以出现文字字符外,还可以出现一些非打印字符,用于对输出信息进行格式的控制。非打印字符包括空格、制表符、换行符合其他转义字符(1).空格:用于分割字符。(2).制表符(t):用于定位显示的数据,与Word中Tab键的文字定位效果类似。(3).换行符(n):用于实现在新的一行输出信息。.其他转义字符:如单引号()、双引号()等。示例:class Program(static void Main(string arge)(Console.Write(“姓名t 年龄t 分数n);Console.Write(jackt23t78n);Console.Write(/tomt20t80n/);)提醒:在

11、编写代码时,可以在键入 C W后,连续两次按下T a b键快捷生成代码 C on sol e.W rite Lin e()”。第一章本章总结:1.C#语言是一种基于微软.NET平台的高级编程语言,也是目前最流行的开发语言之一。2.Microsoft Visual Studio 2012是微软推出的新一代集成开发环境,是目前最专业、最流行的windows平台应用程序开发环境。3.使用C#语言创建控制台应用程序的过程是:创建控制台应用程序、编写代码、运行程序。4.可使用 Console.Write。或 Console.WriteLine()向控制台进行输出,并可以使用转义字符。第二章数据类型和变量

12、2.1 变量2.1.1 变量的基本概念可以将变量理解为是内存中一段已经命名的存储空间。它拥有自己的名称,通过变量名可以快速、简单地访问变量,将临时数据成存储到指定内存区域中,或者从指定内存区域中读取数据。2.1,2 变量的使用使用步骤如下:.声明变量:开辟内存空间。.赋值:将数据存入空间。(3).使用变量:操作数据。1.变量的声明在C#语言中,任何变量在使用前都必须声明,声明变量的本质是在内存中开辟一块存储空间并命名。语法:数据类型变量名;在C#语言中,可以一次声明多个同类型的变量,只需在声明时使用逗号隔开。例如:int width,height;变量的命名需要遵守的规范如下:1).变量名由字

13、母、数字和下划线组成,不能出现其他特殊字符。2).首字符必须是字母或下划线,在 C#语言中,变量名建议使用小写字母开头,如:age、name addressl 和 my_money。在 C#语言的变量命名规则中,下划线不提倡使用,所以my_money 建议写成 myMoney。3).变量名区分大小写,如 num和 NUM代表两个不同的变量。4).变量名不能和关键字同名,如不能将变量命名为int、void等。关键字:关键字是对编译器具有特殊意义的预定义保留标识符。他们不能再程序中用作标识符,除非它们有一个 前缀。例如:if是有效的标识符,但 if不是,因为if是关键字。2.变量的赋值语法:变量名

14、=值;在 C#语言中,一不同于数学公式 1+1=2 中的=号,在数学公式中,:“表示运算结果。而 C#语言中,=是赋值运算符,表示将右侧的值存储至左侧的变量中。示例:class Program(static void Main(string args)(I nt age;声明一个变量age=58;比尔盖茨年龄变量赋值为58)提示:赋值运算的方向是从左到右、且赋值运算符的左边只能是一个变量。例如:a+b=l+2 会出现编译错误。3.使用变量通过变量名可以访问其中存储的数据,也可以修改其中存储的数据,示例:class Programstatic void Main(string args)Int

15、agel,age2;声明两个变量agel=58;比尔盖茨年龄变量赋值为58age2=agel-29;计算马克扎克伯格的年龄并赋值)提示:变量中一次只能存储一个值,当对同一个变量多次赋值时,将保留最后一次赋值结果。2.1.3常量在现实生活中存在很多变化的数据,如时间、年龄、身高和体重等,在程序中可以考虑将这些数据存储在变量中,因为变量中存储的数据允许被改变,但还存在一些固定不变的数据,如圆面积和周长时使用的圆周率、计算人承受的重力时使用的重力加速度等,对于这些数据,在程序中应该如何描述呢?在C#语言中引入了常量的概念,常量指在程序运行过程中存储的内容不能被改变的内存空间,通常用于替换不会改变的数

16、据,常量的值在编译时确定在整个程序中不允许修改。语法:const数据类型常量名=值;const关键字标示声明一个常量,常量名用于唯一性标识该常量,应该具有代表意义,不能过于简练或复杂,且通常使用大写形式。示例:class Program(static void Main(string args)(const double PI=301416;定义常量double r=2.5;定义变量,圆的半径double s=PO*r*r;计算圆的面积)2.1.4在控制台中输出变量的值在 C#语 言 中,Console.Write。函数或 Console.WriteLine()函数提供两种方式可以将变量的值输

17、出至控制台。方式一:Console.WriteLine(需要输出的字符串);方 式 二:Console.WriteLine(“格式字符串,值列表);其中,方式一将需要输出字符串与变量的值通过+进行连接,示例(方式一):class Program(static void Main(string args)(int agel=58,age2;age2=agel-29;Console.WriteLine(比尔盖茨:+agel+”n 马克扎克伯格:+age2);)(方式二):方式二在格式字符串中使用 参数索引 符号为后续值列表中的变量占位,参数索引从0开始。class Program(static v

18、oid Main(string args)(int agel=58,age2;age2=agel-29;Console.WriteLine(比尔盖茨:0 n马克扎克伯格:lEagel,age2);)2.2数据类型在 C#语言中,定义了一套完整的数据类型系统用于表示不同形式的数据,C#语言中的数据类型非为值类型和引用类型,常用的值类型包括整型、浮点型、字符型和布尔类型等;常用的引用类型包括字符串类型等。2.2.1 值类型L 整型整型是常用的数据类型,用于表示整数数据,常用的整型包括short(短整型)、int(整型)和 long(长整型),它们之间的区别主要在于表示的范围不一样。常用整型及其表示

19、范围类型范围大小short-32,768 至 32,767有符号16位整数int-2,147,483,648 至 1 2,147,483,647有符号32位整数long-9,223,372,036,854,775,808 到9,223,372,036,854,775,807有符号64位整数2.浮点型对于带小数点的数据,通常用浮点型来表示,浮点型的数据包括float和 double两种类型。常见的浮点型数据类型大致范围精度float-3z4X1038+3.4X10387 位double+5.0X10-324-+1.7X1O3081516位float也称为单精度浮点型,double也称为双精度浮点

20、型。double类型的数据范围要远大于float类型,进度也更高。提示:在 C#语言中,1.0 默认为double类型,如果将“1.0 赋值给float类型,则会编译报错,double类型的数据精度高于float类型,通俗而言,即float类型的变量装不下double类型的数据。示例:class Program(static void Main(string args)(float num=12.34f;*不能写成如下格式:float num=12.34;编译报错*/)3.布尔类型在C#语言中,布尔类型代表真和假,使用bool表示,它只有两种值:true和false。通常用于判断莫条件是否成立

21、。解释:例如:一个星期有7天这个条件就是真,用bool值 true来表示判断结果,相反,如果说一个星期有8天 ,那么这个条件就是假,用bool值 false来表示判断结果。示例:class Program(static void Main(string args)bool bl=true;bool result=l2;/result 赋值为 falseConsole.WriteLine(bl+/,n/,+result);)4.字符类型字符类型用于表示单个字符,使用char表示,例如V、W等,字符类型数据必须使用两个单引号括起来。在 C#语言中,字符类型数据存储形式与整型类型类似,程序只存储字符

22、所对应的ASCLL码。常用的ASCLL码ASCLL码字符48 570965 90AZ97 122az示例:class Programstatic void Main(string args)(char cl=H;变量c l 中实际存储的是97Console.WriteLine(int)cl);强制类型转换)2.2.2引用类型在C#语言中存在多种不同的引用类型,字符串类型是最常用的引用类型之一。字符串类型用于表示一组字符序列(零个或多个字符),使用string表示,字符串类型数据必须使用双引号括起来。示例:class Program(static void Main(string args)(s

23、tring name=jack;string sex=男;Console.WriteLine(姓名:+name”n 性另lj:+sex);)2.3控制台输入任何类型的应用程序都必须与用户进行交互。对于控制台的输入,C#语言提供了对应的Console.ReadLine。函数进行实现。Console.ReadLine()函数主要从控制台接收用户输入的一行字符串。示例:class Program(static void Main(string args)(Console.WriteLine(请输入英雄的称号:”);string name=Console.ReadLine();接收用户的输入并赋值给变

24、量nameConsole.WriteLine(你输入的英雄名字是:+name);)数据转换使用Console.ReadLine。函数时,用户输入的数据都将作为string类型的数据被接收,若需要接收其他类型的数据,则需要将接收到的string类型数据手动转化为其他数据类型。将string类型转换为int类型int类型变量-P a r s e(字符串);将string类型转换为float类型float类型变量=float.Parse(字符串);(3)将 string类型转换为double类型double 类 型 变 量=double.Parse(字符串);示例:class Program(sta

25、tic void Main(string args)(Console.WriteLine(请输入英雄的称号:);stirng name=Console.ReadLine();Console.WriteLine(请输入英雄的物理攻击力:”);int attl=int.Parse(Console.ReadLine();Console.WriteLine(请输入英雄的魔法攻击力:”);int att2=int.Parse(Console.ReadLine();Console.WriteLine(英雄称号:+name+n 攻击力:w+(attl+att2);)2.4调试在软件开发过程中,会产生很多错误

26、,即使是实际应用的软件,也不能保证完全没有错误,作为合格的软件工程师,我们要尽量发现软件存在的错误并修正,搜寻和消除错误的过程称为调试,它是软件工程师必须具备的技能之一。调试的步骤一般如下:(1)设置断点单步执行观察变量(4)发现问题(5)修正代码解决问题第二章本章总结:常量实在编译时已知并在程序的生存期内不发生更改的不可变值。变量是内存中一段以命名的存储空间,用于保存程序在执行过程中产生的临时数据。变量使用的步骤是:声明变量、赋值、使用变量。C#语言中的数据类型分为值类型和引用类型,常用的数据类型包括 int、char、bool float double 和 string 等。控制台的输入可

27、以通过Console.ReadLine。函数实现,用于接收用户输入的一行字符串,若需要接受其他类型则需要类型转换。调试的基本过程为:设置断点、单步执行、观察变量、发现问题、修正代码和解决问题。第三章运算符和表达式3.1 表达式表达式是指由操作数和运算符组成的用于完成某种运算功能的语句。操作数通常可以是常量、变量和表达式,而运算符则指可以完成某种运算功能的符号。3.2 运算符运算符,顾名思义就是用于计算的符号,在 C#语言中存在大量的运算符,运算符按功能分为:赋值运算符、算术运算符、关系运算符和逻辑运算符等;按操作个数分为:单目运算符、双目运算符和三目运算符。使用运算符时,要关注以下三个方面:1

28、.运算符的目运算符能连接操作数的个数称为运算符的目。C#语言中运算符的目有以下3 种:单目运算符:只能连接一个操作数,如+、一等。双目运算符:可以连接两个操作数,C#语言中的多数运算符属于双目运算符。如+、-、*、/等。三目运算符:可以连接三个操作数。C#语言中只有一个三目运算符,即条件运算符。2.运算符的优先级优先级是指在一个表达式中出现多个不同的运算符,在进行计算时运算符执行的先后次序。如算术运算符的乘除运算符优先级高于加减运算符的优先级,在 C#语言中,运算符都存在自身的优先级,应遵循优先级高的运算符先处理的规则。3.运算符的结合方向结合方向又称为结合性,是指当一个操作数连接连个同一优先

29、级的运算符时,按运算符的结合性所规定的结合方向处理。C#语言中各运算符的结合性分为两种,分别为左结合性(自左向右)和右结合性(从左向右)。3.2.1赋值运算符在 C#语言中,赋值运算符为=赋值运算符用于将赋值运算符右侧表达式的结果附于赋值运算符左侧的变量,例如:int age=20;int a=1+1;int b=a+2;注意:赋值运算符左侧只能为一个变量,而右侧可以变量、常量或表达式。赋值表达式的一般形式:变 量 名=表达式;赋值运算符的结合性是自左向右。例如:int a,b,c;a=b=c=l;执行完毕后,变 量a、b、c的值均为1。3.2.2算术运算符算术运算符指能够完成算术运算符功能的

30、运算符,如使用+运算符完成加法运算。算术运算符注意:运算符功能示例+加法运算表达式1+2计算结果为3-减法运算表达式2;计算结果为1*乘法运算表达式2*2计算结果为4/除法运算表达式4/2计算结果为2%模运算表达式5%2计算结果为1如果参与运算的数值都是整数,则7 完成的是整除运算,如5/2的值是2,而非2.5.模运算 是进行除法运算后取余数,参与运算的必须是整数。示例:class Program(static void Main(string args)(int numl=2,num2=l;int result;result=numl+num2;Console.WriteLine(0+l的结

31、果为:2”,numl,num2 jesult);result=numl-num2;Console.WriteLine(0-l的结果为:2”,numl,num2 jesult);result=numl*num2;Console.WriteLine(0*l的结果为:2”,numl,num2 jesult);result=numl/num2;Console.WriteLine(0/l的结果为:2”,numl,num2 jesult);result=numl%num2;Console.WriteLine(0%l的结果为:2”,numLnum2 jesult);)解释:在算术运算符中,除上述运算符中外,

32、还存在两个较为独特的单目运算符,分别是自增(+)和自减J),自增和自减运算符分别用于使变量值自增1或自减1,一般形式为:+变量名或变量名+-变量名或变量名一L如果将自增或自减运算符放在变量之前,则称为前缀运算,前缀运算执行的是 先运算后使用 的处理过程,例如:int a=5;int b=+a;等效于 a=a+l;int b=a;执行完毕后,变量a、b的值均为62.如果将自增或自减运算符放在变量之后,则称为后缀运算,后缀运算执行的是“先使用后运算”的处理过程,例如:int a=5;int b=a+;等效于:int b=a;a=a+l;执行完毕后,变量a的值为6,b的值为5。3.当出现难以区分的若

33、干个+或-所组成的运算符时,在C#语言中规定:从左到右取尽可能多的符号组成运算符,例如:int a=l,b=2,c;C=a+b;等效于 c=(a+)+b;执行完毕后,变 量a和变量b的值均为2,变量c的值为3o注意:自增或自减运算只能作用于变量,如:1+、+(+x)均为错误。当单独使用自增或自减时,前缀运算和后缀运算效果一致,复合赋值运算符例如:+X;等效于X+;-X;等效于X-;运算符功能示例+=加法运算int a=10;a+=2 等效于 a=a+2;a=12 减法运算int a=10;a-=2 等效于 a=a-2;a=8*_乘法运算int a=10;a*=2 等效于 a=a*2;a=20/

34、=除法运算int a=10;a/=2 等效于 a=a/2;a=5%=模运算int a=10;a%=2 等效于 a=a%2;a=0注意:当需要对变量自身进行算术运算时,建议使用复合赋值运算符,效率远高于算术运算符。复合赋值运算符的结合性自右相左,例如:int a=5;a+=a+=5;等效于 a=a+(a+5);执行完毕后,变 量a的值为15。3.2.3关系运算符关系运算符用于比较两个变量或表达式的值的大小关系,在C#语言中,关系运算结果值为bool类型,包括true 或 false。true表示 真,false表示假。关系运算符运算符功能示例比较大于关系表达式21计算结果为true比较小于关系表

35、达式2=比较大于或等于关系表达式2=1计算结果为true1计算结果为false=比较相等关系表达式21计算结果为false!=比较不等于关系表达式21计算结果为true示例:class Programstatic void Main(string args)int numl=2znum2=l;bool result;result=numlnum2;Console.WriteLine(0l的结果为:2”,numl,num2,result);result=numlnum2;Console.WriteLine(0=num2;Console.WriteLine(0=l的结果为:2”,numLnum2,

36、result);result=numl=num2;Console.WriteLine(0b&cd:者 B为 trueII或运算,即两者中有一个成立即可ab|cd:一个为 true!非运算,取反!(ab):取反项(a=2)&(workyear=2);Console.WriteLine(博士并且工作3年的入职评判结果为:+result);degree=2;workyear=l;bool result=(degree=2)&(workyear=2);Console.WriteLine(硕士并且工作1年的入职评判结果为:+result);degree=l;workyear=l;bool result=

37、(degree=2)&(workyear=2);Console.WriteLine(本科并且工作1年的入职评判结果为:+result);)逻辑运算符存在短路现象,可以用于生成更高效的代码,在&运算中,如果第一个操作数为假,无论第二个操作数的值是什么,结果均为假。在 II运算中,如果第一个操作数为真,无论第二个操作数的值是什么,运算的结果均为真,因此,在这两种情况下,不需要计算第二个操作数。由于不计算第二个操作数节省了时间,因此生成了效率更高的代码,例如:int a=3zb=4;Console.WriteLine(a21|b+3);执行完毕后,变量a 和变量b 的值保持不变,变 量 b 的值保持

38、不变说明运算符II之后的表达式未执行,因为运算符II之前的表达式的值为T ru e,根据运算符|的运算规则,亦可以确定整个表达式结果为True。修改上述示例如下:int a=3,b=4;Console.WriteLine(a3);执行完毕后,变 量 a 的值不变,变 量 b 的值为5。3.2.5运算符优先级在编程过程中,经常会出现多种运算符在同一表达式中的运算,在 C#语言中进行表达式求值时,同一优先级的运算符,运算次序由结合性决定,不同优先级的运算符,运算次序由优先级决定。C#语言中运算符优先级和结合性优先级运算符结合性10从左到右2!、+、-从右到左3*、/、%从左到右4+、-从左到右5、

39、=、二从左到右6 、1=从左到右7&从左到右8II从左到右9-、_TL-、一、*一 /一、0/Z0 从右到左3.3类型转换在C#语言中,不同类型的数据在进行混合运算时需要进行类型转换,即将不同类型的数据转换成同种类型的数据再计算,针对于值类型的数据,类型转换主要包括隐式转换和显式转换两种形式1.隐式转换:系统默认的、无须显式声明即可进行的转换。例如:float a;a=10;隐式转换,a=10.0;隐式转换是从低精度、小范围的数据类型转换为高精度、大范围的数据类型,C#语言中支持的隐式转换类型有c#语言中的运算符优先级和结合性源类型目标类型charint、long float doublesh

40、ortint、long、float、doubleIntlong float、doublelongfloat、doublefloatdouble注意char类型不能通过隐式转换为short类型。bool类型与数值类型不兼容,不能与数值类型进行类型转换。2.显式转换:一般情况下,数据类型的转换通常由系统自动完成,无须人工干涉,所以称为隐式转换,但如果程序要求一定要将某一类型的数据转换为另外一种类型,则可以使用强制类型转换运算符进行转换,这种强制转换的过程称为显式转换。语法:(目标数据类型)表达式;例如:int a=5,b=2;Console.WriteLine(a/b);输出结果为2,小数部分丢失

41、,可以使用显式转换保留小数部分。Console.WriteLine(double)a/b);输出结果为2.5,变 量a通过显式转换转换为double类型,在进行除法运算之前,变量b通过隐式转换转换为double类型,所以运算结果为double类型,小数部分得以保留。使用显式转换同时存在风险,当源数据类型高于目标数据类型时,将会丢失部分数据,从而造成数据精度的降低,或者发送数据溢出,导致结果错误,例如,将浮点数L8 3转换为整型数后的结果为1,小数位0.83将丢失。示例:class Program(static void Main(string args)(int numbl;float num

42、b2;double numb3;const double PI=3.1415926;numbl=(int)PI;numb2=(float)PI;numb3=PI;Console.WriteLine(整型:num=+numbl);Console.WriteLine(“单精度:num=+numb2);Console.WriteLine(“双精度:num=z,+numb3);)3.string类型和值类型之间的转换l)string类型转换为值类型语法:值类型.Parse(string类型变量);示例:class Program(static void Main(string args)(价格变量fl

43、oat price;商品数目变量int count;商品总价变量float money;Console.WriteLine(请输入商品价格:”);price=float.Parse(Console.ReadLine();Console.WriteLine(“请输入商品数量:);count=int.Parse(Console.ReadLine();money=price*count;Console.WriteLine(商品总价:+money);)2)值类型转换为string类型语法:值类型变量.ToString();值类型变量.ToString(格式化字符串);例如:int money=100;

44、string strMoney=money.ToString();strMoney=money.ToString(/zC?,);示例:class Programstatic void Main(string args)价格变量float price;商品数目变量int count;商品总价变量float money;Console.WriteLine(“请输入商品价格:”);price=float.Parse(Console.ReadLine();Console.WriteLine(“请输入商品数量:”);count=int.Parse(Console.ReadLine();money=pri

45、ce*count;以货币格式输出Console.WriteLine(商品总价:+money.ToString(C);)常见的格式化字符串格式格式化字符串结果货币2.5.ToString(C)2.50十进制数25.ToString(D5)00025固定点25.ToString(F2w)25.00常规2.5.ToString(G)2.5第三章本章总结数字2500000.ToString(/Nw)2500000.00百分比0.126.ToString(P)12.6%表达式指由操作数和运算符组成的用于完成某种运算功能的语句。运算符包括赋值运算符、算术运算符、关系运算符和逻辑运算符运算符的优先级是指运算

46、符在表达式中执行运算的先后次序,由高到低的顺序依次是算术运算符、关系运算符、逻辑运算符、赋值运算符。值类型数据之间的类型转换包括自动类型转换和强制类型转换。可通过值类型.Parse。函数实现string类型向值类型的转换,也可通过值类型变量.ToString()函数实现值类型向string类型的转换。第 四 章if条件语句4.1程序流程控制结构C#语言提供了顺序、田间和循环三种基本的流程控制结构。顺序结构:程序将完全按照书写顺序依次执行所有的语句。条件结构:根据条件判断结果来决定程序的执行流程。循环结构:在给定条件成立时反复执行某程序段,直到条件不成立为止。从程序执行过程角度看,顺序、条件及循

47、环三种结构的顺序连接连接或嵌套连接可以实现复杂多样的程序。4.2条件结构随着问题的复杂程度不断增加,通过逐步执行的简单程序已经不能满足需求。例如,判断一个数的奇偶性,就需要根据处理结果进行判断以绝定输出哪一种判断结果。这种根据判断结果来控制程序执行过程的结果称为条件结构,条件结构可以根据条件判断结果来决定程序的执行流程。在C#语言中,基本的条件结构分为单分支if和双分支if两种结构。4.2.1 单分支if语句单分支if语句是最基本的条件语句之一,它根据判断指定条件是否成立来决定是否执行特定代码。语法:If(条件表达式)语句;条件成立时,执行的特定代码)当条件表达式为真时,执行语句块,当条件表达

48、式为假时,跳过语句块。若if语句之后还存在其他语句,则继续执行。在数学运算中,经常会使用绝对值,正整数的绝对值是其本身,负整数的绝对值是其相反数,所以当运算一个整数的绝对值时正整数和负整数两个可能:若为正数,则不需要任何处理;若为负数,则需要通过计算其相反数。可以使用单分支if结构实现。示例:class Program(static void Main(string args)(int numbsNum;Console.WriteLine(“请输入一个整数:);num=int.Parse(Console.ReadLine();absNum=num;if(numl);Console.WriteL

49、ine(/zhello/,);上述示例中,无 论 变 量a为何值,字符串hello都将输出至控制台。4.2.2双分支if结构单 分 支if结构只针对条件表达式为真时给出相应的处理,但对于条件表达式为假时没有进行任何的处理,若需要对条件表达式为 真 和 假 执行不同的处理,则可以双分支if结构。双 分 支if结 构 也 称 为if-else结构,用于根据条件判断的结构执行不同的操作。语法:If(条件表达式)语 句 块1else语 句 块2)当条件表达式为真时,执 行 语 句 块1;当条件表达式为假时,执 行 语 句 块2.若双分支i f结构之后还存在其他语句,则继续执行。在程序中进行数据处理时,

50、经常需要获取两个数字之间的最大值。在求最大值时,存在两种可能,若第一个数字大于第二个数字,则最大值为第一个数字,否则,最大值为第二个数字,可以使用双分支if结构实现。示例:class Program(static void Main(string args)(int a,b,max;Console.WriteLine(“请输入两个整数:”);a=int.Parse(Console.ReadLine();b=int.Parse(Console.ReadLine();if(a=b)(max=a;elsemax=b;)Console.WriteLine(最大值:+max);)4.3多重条件结构当一个

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁