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、false6.字符串常量:使用两个双引号来标记实例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+5x*=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四、数组Array1.什么是数组数组是一种由若干个变量组成的集合,数组中包含的变量称为数组的元素,它们具有相同的类型。数组元素可以是任何类型,包括数组类型。数组元素的个数称为数组的长度,数组长度为0时称数组为空数组。数组元素没有名称,只能通过索引来访问,索引从零开始。具有n个元素的数组的索引是从0到n-12.数组的声明和创建一般形式:数组类型[]数组名=new数组类型[数组长度]3.数组的初始化(两种方式,见教材)4.数组的使用:逐个引用,一般形式为数组名[索引]实例2-10演示2020/2/2525五、字符串string1.字符串常量使用双引号来标记,例如,HelloWorld2.字符串是一个由若干个Unicode字符的组成字符数组。字符串可通过索引来提取字符串中的字符。例如,strings=中华人民共和国,则执行charc=s[6];之后,字符型变量c的值为'国'3.C#允许使用关系运算符==、!=来比较4.System.String与System.Text.StringBuilderstring是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(表达

1 / 38
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功