您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > C#.net 第2章程序设计基础 ppt
2020/2/251VisualC#.Net程序设计2020/2/252第二章C#程序设计基础2.1C#的值类型2.2常量与变量2.3运算符与表达式2.4C#的引用类型2.5程序的分支语句2.6程序的循环语句2020/2/2532.1C#的值类型一、简单类型二、枚举型enum三、结构型struct返回2020/2/254一、简单类型1.整数型2.浮点型3.小数型4.布尔型2020/2/2551.整数型类型范围长度sbyte有符号字节型-128~1278位byte字节型0~2558位char字符型U+0000~U+ffff(Unicode字符集中的字符)16位short短整型-32,768~32,76716位ushort无符号短整型0~65,53516位int整型-2,147,483,648~2,147,483,64732位uint无符号整型0~4,294,967,29532位long长整型-9,223,372,036,854,775,808~9,223,372,036,854,775,80764位ulong无符号长整型0~18,446,744,073,709,551,61564位2020/2/2562.浮点型float型:取值范围在±1.5e−45到±3.4e38精度为7位double型:取值范围在±5.0e−324到±1.7e308精度为15到16位2020/2/2573.小数型decimal取值范围在±1.0×10e−28至±7.9×10e28精度为28到29位2020/2/2584.布尔型用来表示逻辑真或逻辑假只有两种取值:true或false2020/2/259二、枚举型enum实质就是使用符号来表示的一组相互关联的数据注意事项:①枚举元素的数据值是确定的,一旦声明就不能在程序的运行过程中更改;②枚举元素的个数是有限的,同样一旦声明就不能在程序的运行过程中增减;③默认情况下,枚举元素的值是一个整数,第一个枚举数的值为0,后面每个枚举数的值依次递增1;④如果需要改变默认的规则,则重写枚举元素的值即可,例如:enumMyEnum{a=101,b,c,d=201,e,f};应用案例:实例2-1源代码阅读(见教材)操作演示与分析2020/2/2510三、结构型struct结构型必须使用struct来标记。结构型的成员数据成员表示结构的数据项方法成员表示对数据项的操作。内置的结构型DateTime:表示某个时间点TimeSpan:表示某个时间段应用案例:实例2-2源代码阅读(见教材)操作演示与分析返回structStudent{publicintno;publicstringname;publiccharsex;publicintscore;};2020/2/25112.2常量与变量一、常量二、变量三、数据类型转换返回2020/2/2512一、常量1,整型常量无符号整型常量在书写时添加u或U标志。长整型常量在书写时添加l或L标记。2.浮点型常量单精度浮点型常量在书写时添加f或F标记双精度型常量添加d或D标记。3.小数型常量小数型常量的后面必须添加m或M标记4.字符型常量(Unicode字符):使用两个单引号来标记转义字符常量5.布尔型常量:true、false6.字符串常量:使用两个双引号来标记实例2-3演示2020/2/2513二、变量1.变量的概念变量名:每个变量都必须有一个名字。变量命名应遵循标识符的命名规则,如必须以字母或下划线(_)打头,只能包含英文字母、数字、和下划线,不能包含空格等。变量值:变量值存储在内存中;不同类型的变量,占用的内存单元(字节)数不同。在程序中,通过变量名来引用变量的值。2.变量的定义例如:inta,b,c;3.变量的初始化例如:floatf1=1.25,f2=3.6,f3;实例2-4演示2020/2/2514三、数据类型转换1.隐式转换如果参与运算的数据类型不相同,则先转换成同一类型,然后进行运算;转换时按数据长度增加的方向进行,以保证精度不降低,例如int型和long型运算时,先把int数据转成long型后再进行运算;所有的浮点运算都是以双精度进行的,即使仅含float单精度量运算的表达式,也要先转换成double型,再作运算;2.显示转换(类型说明符)(待转换的数据)例如:(int)(x+y)3.System.Convert类的类型转换方法ToBoolean、ToByte、ToChar、ToInt32、ToSingle、ToString返回2020/2/25152.3运算符与表达式一、算术运算符与表达式二、赋值运算符与表达式三、关系运算符与表达式四、逻辑运算符与表达式返回2020/2/2516一、算术运算符与表达式C#算术运算符包括+、-、*、/、%、++、--共七种自增++/自减--运算符当++或--运算符置于变量的左边时,称之为前置运算,表示先进行自增或自减运算再使用变量的值,而当++或--运算符置于变量的右边时,称之为后置运算,表示先使用变量的值再自增或自减运算例如:设变量i=1、变量j=2,则表达式++i+j–的值为4实例2-5演示2020/2/2517二、赋值运算符与表达式1.简单赋值运算符一般形式为:变量=表达式注意事项;如果赋值号两边的数据类型不同,则系统将自动先将赋值号右边的类型将转换为左边的类型再赋值;不能把右边数据长度更大的数值类型隐式转换并赋值给左边数据长度更小的数值类型。2.复合赋值运算符+=、-=、*=、/=、%=、&=、|=、^=、=、=例如:a+=5等价于a=a+5x*=y+7等价于x=x*(y+7)r%=p等价于r=r%p实例2-6演示2020/2/2518三、关系运算符与表达式关系运算符用来对两个操作数比较,以判断两个操作数之间的关系。C#的关系运算符有==、!=、、、=、=,关系运算符的优先级低于算术运算符。由关系运算符组成的表达式称为关系表达式。关系表达式的运算结果只能是布尔型值,要么是true,要么是false。例如,设置变量i=5、j=4,则关系表达式i!=j的结果为true。2020/2/2519四、逻辑运算符与表达式C#的逻辑运算符包括!、&&或&、||或|、^,分别是逻辑非、逻辑与、逻辑或、逻辑异或运算。逻辑运算符的优先级低于关系运算符的优先级,但高于赋值运算符的优先级。由逻辑运算符组成的表达式称为逻辑表达式。逻辑表达式的运算结果只能是布尔型值,要么是true,要么是false。例如,设置变量i=5、j=4,则逻辑表达式i!=j&&i=j的结果为true。实例2-7演示返回2020/2/25202.4C#的引用类型一、类Class二、接口Interface三、委托delegate四、数组Array五、字符串string六、装箱和拆箱返回2020/2/2521一、类Class在现实生活中,“类”是人对具有共同属性和行为的自然事物的抽象,例如把动物分为哺乳动物、爬行动物等。在程序设计中,“类”是现实世界中同类事物的进一步抽象,是最基本的编程单位,它由若干个数据成员、方法成员等组成。在C#中,“类”类型需要使用class进行标识和声明。classStudent{intno;stringname;charsex;intscore;publicstringAnswer(){stringresult=该学生信息如下:;result+=\n学号:+no;result+=\n姓名:+name;returnresult;}}2020/2/2522二、接口Interface接口是一种特殊的数据类型接口与类的关系是:接口负责声明类的标准行为,而类负责实现这些行为。使用接口来设计程序的最大好处是实现了软件设计的规范化和标准化在C#中,“接口”类型使用interface进行标识。案例演示:实例2-8源代码阅读操作演示与分析思考:结构与类有何区别?2020/2/2523三、委托delegate委托就是C#提供的一种以托管机制调用方法的特殊数据类型其作用与诸如房屋租赁、求职等日常活动中的中介机构类似。因此委托一旦指向某个的方法,就可以随时通过委托来调用那个方法。一般形式如下:delegate返回值类型委托名称(方法参数列表)实例2-9演示2020/2/2524四、数组Array1.什么是数组数组是一种由若干个变量组成的集合,数组中包含的变量称为数组的元素,它们具有相同的类型。数组元素可以是任何类型,包括数组类型。数组元素的个数称为数组的长度,数组长度为0时称数组为空数组。数组元素没有名称,只能通过索引来访问,索引从零开始。具有n个元素的数组的索引是从0到n-12.数组的声明和创建一般形式:数组类型[]数组名=new数组类型[数组长度]3.数组的初始化(两种方式,见教材)4.数组的使用:逐个引用,一般形式为数组名[索引]实例2-10演示2020/2/2525五、字符串string1.字符串常量使用双引号来标记,例如,HelloWorld2.字符串是一个由若干个Unicode字符的组成字符数组。字符串可通过索引来提取字符串中的字符。例如,strings=中华人民共和国,则执行charc=s[6];之后,字符型变量c的值为'国'3.C#允许使用关系运算符==、!=来比较4.System.String与System.Text.StringBuilderstring是System.String的别名,可创建不可变的字符串,包含Length、Copy、IndexOf、LastIndexOf、Insert、Remove、Replace、Split、Substring、Trim等成员System.Text.StringBuilder用来构造可变字符串,包含Length、Append、Insert、Remove、Replace、ToString等成员实例2-11演示2020/2/2526六、装箱和拆箱1.装箱意味着把一个值类型的数据转换为一个对象类型的数据,装箱过程是隐式转换过程,由系统自动完成,一般赋值运算前完成。例如:inti=100;objectbox=i;2.拆箱意味着把一个对象类型数据转换为一个值类型数据,拆箱过程必须是显示转换过程。拆箱时先检查对象所引用的数据的类型,确保拆箱前后的数据类型相同,再复制出一个值类型数据。intk=(int)box;//拆箱正确返回2020/2/25272.5程序的分支语句一、if语句二、switch语句返回2020/2/2528一、if语句1.语句结构:if(表达式){语句1}else{语句2}2.语句逻辑:如果表达式的值为true,则选择执行“语句1”,否则选择执行“语句2”。3.当省略else子句时,表示单分支结构4.在if语句中嵌套if语句时,表示多分去结构实例2-12演示2020/2/2529二、switch语句1.语句结构:switch(表达式)//只能整型、字符型或字符串表达式{//不能是关系表达式或逻辑表达式case常量1:语句1;break;case常量2:语句2;break;……case常量n:语句n;break;default:语句n+1;}2.语句逻辑和执行过程:请阅读教材3.C#不支持从一个case标签显式贯穿到另一个case标签,因此在每一个case块的后面都必须有一个break语句实例2-13演示返回2020/2/25302.6程序的循环语句一、while语句二、do/while语句三、for语句四、foreach语句五、循环语句的嵌套六、break与continue语句返回2020/2/2531一、while语句1.语句结构:while(表达
本文标题:C#.net 第2章程序设计基础 ppt
链接地址:https://www.777doc.com/doc-4005344 .html