编程技术C语言基础.pptx
学习要点C#语言简介简单数据类型C#基本操作流程控制类和结构第1页/共39页C#语言简介.NET框架支持C#、VB.NET、Jscript.NET和J#语言。特点:简单面向对象类型安全 书写规则严格区分大小写每条语句以”;”结束,回车,自动缩进。注释语句:”/”或“/*/“开发方式使用Visual Studio.NET提供的集成开发环境IDE进行开发第2页/共39页学习要点C#语言简介简单数据类型C#基本操作流程控制类和结构第3页/共39页数据类型在.NET中,任何类型都是“类”支持的数据类型主要分为两类:值类型(Value Type)引用类型(Reference Type)第4页/共39页数据类型数据类型值类型引用类型整数类型布尔类型实数类型字符类型结构类型枚举类型类数组第5页/共39页整数类型类型类型名称名称范围范围大小大小sbyte短字节型短字节型-128 到到 127有符号有符号8位整数位整数byte字节型字节型0 到到 255无符号无符号8位整数位整数short短整型短整型-32,768 到到 32,767有符号有符号16位整数位整数ushort无符号短整型无符号短整型0 到到 65,535无符号无符号16位整数位整数int整型整型-2,147,483,648 到到2,147,483,647有符号有符号32位整数位整数uint无符号整型无符号整型0 到到 4,294,967,295无符号无符号32位整数位整数long长整型长整型-9,223,372,036,854,775,808 到到9,223,372,036,854,775,807有符号有符号64位整数位整数ulong无符号长整型无符号长整型0到到18,446,744,073,709,551,615无符号无符号64位整数位整数C#中每一个类型的长度都是固定的事实上,int、long等都是某些“结构”的“别名”(Int32、Int64.)第6页/共39页布尔类型用来表示“真”和“假”分别采用true 和false 两个值来表示可将布尔值赋给bool变量,也可以将bool表达式赋给bool变量第7页/共39页实数类型类型类型名称名称大致范围大致范围特征特征float单精度单精度浮点数浮点数1.5e45 到到 3.4e3832位数据,精度位数据,精度7位位double双精度双精度浮点数浮点数5.0e324 到到 1.7e30864位数据,精度位数据,精度15-16位位decimal十进制十进制类型类型1.0e28到到7.9e28128位数据,精度位数据,精度28-29位位第8页/共39页字符类型采用Unicode字符集,标准字符长度为16位。表示中文字符。C#支持转义字符的使用:如,表示1个单引号”表示1个双引号n 表示换行r 表示回车换行第9页/共39页枚举类型与C和C+相同,C#也可以用enum来说明枚举类型在C#中,枚举类型值可以直接输出,输出结果为其枚举标识符本身,这一点与C有所不同枚举值可以与整数值相互转换,转换的规定与C相同第10页/共39页演示1.using System;2.enum WeekDay /声明枚举类型3.4.Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday5.;6.class HelloWorld7.8.static void Main()9.10.WeekDay day=WeekDay.Tuesday;11./声明枚举类型变量day,通过名称引用成员12.Console.WriteLine(Tuesday=0,day);13.int x=(int)WeekDay.Sunday;14./成员的值,为int型。从0开始。15.Console.WriteLine(Sunday=0,x);16.17.结果:Tuesday=TuesdaySunday=0第11页/共39页结构类型结构一般由一个或多个数据类型相同或不相同的一组相关数据组成。如,struct studentpublic string name;/姓名public string sex;/性别public int age;/年龄student stu1;/声明1个名为stu1的 student结构类型变量stui1.name=“张三”;/为结构成员name赋值stu1.sex=“男”;stu1.age=21;第12页/共39页数据类型数据类型值类型引用类型整数类型布尔类型实数类型字符类型结构类型枚举类型类数组第13页/共39页类引用的演绎是表示该类型的变量不直接存储所包含的值,而是指向它所要存储的值。类支持继承机制。第14页/共39页数组声明格式:type arrayname如,int arr=new int5;/创建数组实例For(int i=0;iarr.Length;i+)arri=i*I;第15页/共39页学习要点C#语言简介简单数据类型C#基本操作类和结构流程控制第16页/共39页字符串处理1、使用stringstring s=“Hello,World”;/声明字符数组字符串作为一个类,提供的公共方法见表 3-4。如,ToString()方法。将其他类型实例的值转换为字符串。如,Request.params“id”.ToString();2、使用StringBuilderStringBuilder类创建一个字符串缓冲区。具体见p39.第17页/共39页学习要点C#语言简介简单数据类型C#基本操作流程控制类和结构第18页/共39页C#的流程控制语句流程控制条件语句循环语句异常处理语句ifswitchwhiledo-whileforforeach第19页/共39页foreach语句for语句的“升级版”遍历一个集合中的所有元素。针对每个元素执行一次循环体语句格式:foreach(类型 标识符 in表达式)循环体语句注意:表达式必须是集合类型。标识符即变量,是局部变量。集合类型包括数组、哈希表、ArrayList、字典、堆栈、队列等。第20页/共39页异常处理一般格式为:try执行部分catch(异常类型 异常标识符)异常处理,可由throw表达式抛出一个异常finally必要执行,此中代码总是被执行第21页/共39页学习要点C#语言简介简单数据类型C#基本操作流程控制类和结构第22页/共39页C+的类C+的类成员变量成员函数构造函数析构函数自定义函数第23页/共39页C#的类C#的类成员变量成员函数构造函数自定义函数简单变量属性索引器新增没有析构函数第24页/共39页示例:定义类和结构1.using System;2.public class NameClass3.4.private string m_Name;5.public string GetName()6.7.return m_Name;8.9.public void SetName(string Name)10.11.m_Name=Name;12.13.14.class Program15.16.static void Main(string args)17.18.NameClass pcName=new NameClass();19.pcName.SetName(Gao Yi);20.Console.WriteLine(My name is +pcName.GetName().ToString();21.22.第25页/共39页属性使用set语句设置属性值,使用get语句返回属性值。没有设置set语句的属性是只读属性。第26页/共39页示例:属性定义与使用1.using System;2.public class NameClass3.4.private string m_Name;5.public string Name6.7.get8.9.return m_Name;10.11.set12.13.m_Name=value;14.15.16.17.class Program18.19.static void Main(string args)20.21.NameClass pcName=new NameClass();22.pcName.Name=Gao Yi;23.Console.WriteLine(My name is +pcName.Name);24.25.第27页/共39页索引器允许类的实例(对象)像数组一样使用。第28页/共39页示例:定义索引器1.class IntArr2.3.public int thisint index4.5.get6.7.return index*2;8.9.set10.11.12.13.14.class Program15.16.static void Main()17.18.IntArr ia=new IntArr();19.ia1=1;20.ia2=10;21.for(int i=0;i=5;i+)22.23.System.Console.WriteLine(ia0=1,i,iai);24.25.26.第29页/共39页名字空间命名空间(NameSpace)对类进行管理,即将“类”“归类”。第30页/共39页名字空间的使用名字空间1名字空间2类1类2方法1名字空间3方法2namespace 名字空间1 namespace 名字空间2 public chass 类1 public int 方法1()public int 方法2()public chass 类2 namespace 名字空间3 第31页/共39页C#的结构“结构”和“类”的区别:结构是“值”类型,类是“引用”类型结构类型不能继承结构类型不可能是抽象的第32页/共39页示例1.public class MyClass2.3.public int MyInt;4.5.public struct MyStruct6.7.public int MyInt;8.9.class Program10.11.static void Main(string args)12.13.MyClass a=new MyClass();14.MyClass b=a;15.b.MyInt=10;16.Console.WriteLine(a.MyInt);17.MyStruct c=new MyStruct();18.MyStruct d=c;19.d.MyInt=10;20.Console.WriteLine(c.MyInt);21.22.第33页/共39页“一切都是类!”数据类型值类型引用类型整数类型布尔类型实数类型字符类型结构类型枚举类型类数组第34页/共39页“一切都是类!”数据类型结构类整数类型布尔类型实数类型字符类型自定义结构枚举类型自定义类数组ObjectValueType第35页/共39页示例1.public class MyClass2.3.public override string ToString()4.5.return This is MyClass speaking!;6.7.8.class Program9.10.static void Main(string args)11.12.int i=10;13.bool b=false;14.double d=3.14;15.Program p=new Program();16.MyClass m=new MyClass();17.Console.WriteLine(i);18.Console.WriteLine(b);19.Console.WriteLine(d);20.Console.WriteLine(p);21.Console.WriteLine(m);22.23.第36页/共39页小结C#库语法System.Console数据类型结构类整数类型布尔类型实数类型字符类型自定义结构枚举类型自定义类数组流程控制条件语句循环语句异常处理语句ifswitchwhiledo-whileforforeach成员变量成员函数构造函数自定义函数简单变量属性索引器第37页/共39页作业编写99乘法口诀表第38页/共39页感谢您的观看!第39页/共39页