《计算机c语言概述》ppt课件

上传人:tia****nde 文档编号:70566867 上传时间:2019-01-17 格式:PPT 页数:39 大小:475.81KB
返回 下载 相关 举报
《计算机c语言概述》ppt课件_第1页
第1页 / 共39页
《计算机c语言概述》ppt课件_第2页
第2页 / 共39页
《计算机c语言概述》ppt课件_第3页
第3页 / 共39页
《计算机c语言概述》ppt课件_第4页
第4页 / 共39页
《计算机c语言概述》ppt课件_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《《计算机c语言概述》ppt课件》由会员分享,可在线阅读,更多相关《《计算机c语言概述》ppt课件(39页珍藏版)》请在金锄头文库上搜索。

1、C#概述,本节学习目的 对.Net和c#有一个初步的认识 了解c#开发环境 动手编写第一个c#程序,C#概述,了解c# 谈到c#就不得不说一下.Net Framework, .Net Framework(框架)简称.Net是微软为开发应用程序创建的一个富有革命性的平台,在这个平台上可以开发出运行在windows上几乎所有的应用程序.简单的说.net Framework就是一个创建、部署和运行应用程序的多语言多平台环境,包含了庞大的代码库,各种.Net语言都可以共用这些代码库。 *开发和运行.Net程序必须要安装.Net Framework,C#概述,.Net框架的强大功能体现 提供了一个面向对

2、象的编程环境,完全支持面向对象编程,提高软件的可复用性、可扩展性、可维护、灵活性。 对web应用的强大支持.使用asp.Net开发web程序相当便捷快速.对表单元素已封装成控件,只需拖拽即可实现表单元素的添加. 对web服务支持. Visual studio是一个世界级的开发工具,与.Net完美配合.使开发.Net程序更加便捷.,C#概述,.Net重要组件,C#概述,C#语言的特点 简单:在你使用C+时大多数人会害怕指针,指针功能强大但也危机四伏. 在C#中,没有了指针。默认地,您的代码工作在一种受控的环境中在那里不允许进行直接存取内存等不安全的操作。 现代:有很多语言它们都没有因为时代的变化

3、而发生多少跟近,有的甚至二十年来不曾有任何修正。看一看SQL Server 2000中的decimal(金融),再比较C中的int,您就会发现我说的是多么有道理!C#语言在他的数据类型、垃圾回收、内存压缩、异常处理等诸多方面都显示出了它绝对的现代性。,C#概述,C#语言的特点 面向对象:一种新语言不支持面向对象的功能是不可想象的。C#当然支持所有关键的面向对象的概念,如封装、继承和多态性。您一开始必须关注的事,就是不再有全局函数、变量或者是常量。这一点对于C+来说是非常令其尴尬的,但这才是真正纯粹的面向对象(请C+程序员们解释一下main函数属于哪个类)。这是面向过程向面向对象长达十多年的过渡

4、之后,尘埃落定的产物一个典型的例子是3.ToString();,C#概述,C#语言的特点 类型安全:使用过没有初始化的变量没有?编写的程序出过数组越界问题没有?类型转换时检查过可行性吗?i/j时忘记判断过j!=0吗?以上这些,是一个C+程序员编程时所必须小心谨慎的,但是在类型安全的C#语言中,想出现以上错误是很难的,您可以把您的注意力集中到一些更重要的地方了,比如说业务逻辑.,C#概述,C#语言的特点 版本控制:在过去几乎所有的程序员都至少有一次不得不涉及到众所周知的“DLL“问题。该问题起因于多个应用程序都安装了相同DLL名字的不同版本。有时,老版本的应用程序可以很好地和新版本的DLL一起工

5、作,但是更多的时候它们会中断运行。现在的版本问题真是令人头痛。就象您将在今后所看到的,C#可以最好地支持版本控制。尽管C#不能确保正确的版本控制,但是它可以为程序员保证版本控制成为可能。有这种支持,一个开发人员就可以确保当他的类库升级时,仍保留着对已存在的客户应用程序的二进制兼容。,C#概述,C#语言的特点 兼容:一种新语言的出现,总是要顾及对之前的技术体系是否兼容的问题,比如说Java,它的出现彻底背弃了之前处于统治地位的COM技术体系,以至于Java现在很难去瓦解VC、VB和Delphi等阵营,它只能在此之外的其他技术和市场领域扎根,比如说Web、服务器、嵌入式编程等。如果Java在当初就

6、能保持对COM技术体系的兼容的话,可能今天全球就已经是Java的天下了!完成这一工作的是.Net FrameWork,我们不难看到,越来越多的VC、VB、Delphi的程序员们转到了VC.Net、VB.Net和Delphi.Net,史上还没有哪一次的兼容之作能对软件领域产生如此大的冲击。作为.Net FrameWork的首推语言和佼佼者,C#自然也很大程度上保持了对外界技术的兼容!,C#概述,C#语法规范 声明类: 访问修饰符 class 类名 /字段、属性、方法 声明方法; 访问修饰符 返回类型 方法名(参数类表)/方法具体实现 声明变量; 访问修饰符 数据类型 变量名,(变量名以字母开头区

7、分大小写,以后可以是字母、数字、下划线,没有限制长度) *声明变量时可对变量进行赋值,也可以不赋值,但在某些时候必须要对变量进行赋值.例如:局部变量,C#语言基础,C#访问修饰符 public:访问不受任何限制(公开) protected:访问仅限于包含类或从包含类派生的类型.(父类及子类可访问) Internal:访问仅限于当前程序集. protected internal:访问仅限于当前程序集或从包含类派生的类型。 private:访问仅限于包含类型(私有),C#语言基础,C#数据类型 值类型:整数,浮点数,高精度浮点数,布尔,字符,结构,枚举 引用类型:对象(Object),字符串,类,

8、接口,委托,数组 还有一种数据类型是空类型(null) 整数,浮点数,高精度浮点数,布尔,字符,对象(Object),字符串 是预定义的类型 结构,枚举,类,接口,委托,数组 是复合类型,C#语言基础,C#数据类型 什么是值类型:一种由类型的实际值表示的数据类型。如果向一个变量分配值类型,则该变量将被赋以全新的值副本(将值复制到内存中,然后将复制的内容传过去)。值类型通常创建在方法的栈帧上,而不是在垃圾回收堆中。可以对值类型进行装箱,这是一个创建相应引用类型的过程. C#中的值类型包括结构类型和枚举类型两大类以及char、byte、long、int、float和double等简单类型,值型不用

9、GC回收,超出了作用范围,系统就会自动释放 例如:int i=1; int i=1.5;?,C#语言基础,C#数据类型 引用类型: 引用类型由类型的实际值引用(类似于指针)表示的数据类型(传地址)。如果为某个变量分配一个引用类型,则该变量将引用(或“指向”)原始值。不创建任何副本。引用类型包括类、接口、委托和装箱值类型。引用型是需要GC来回收内存. 例如:string s = “aa”;,C#语言基础,装箱与拆箱 装箱和拆箱是C#类型系统的核心概念.通过装箱和拆箱操作,能够在值类型和引用类型之间进行类型转换. 装箱:就是隐式的将一个值型转换为引用型对象(值类型转换成引用类型) 例如:int i

10、 = 5; Object obj = i; 以上过程就是装箱,就是将i装箱!,C#语言基础,装箱与拆箱 拆箱:就是将一个引用型对象转换成任意值型(引用类型转成值类型) 例如: int i=0; Object obj=i; int j=(int)obj;/拆箱 这个过程前2句是将i装箱,后一句是将obj拆箱 请看示例: int i=0; Object obj=i; Console.WriteLine(i+“,“+(int)obj); *发生了多少次装箱和拆箱呢?,C#语言基础,装箱与拆箱 示例: 其中共发生了3次装箱和一次拆箱!看出来了吧 第一次是将i装箱,第2次是输出的时候将i转换成strin

11、g类型,而string类型为引用类型,即又是装箱,第三次装箱就是(int)obj的转换成string类型,装箱! 拆箱就是(int)obj,将obj拆箱.,C#语言基础,值类型与引用类型的区别 值类型的变量包含自身的数据,而引用类型的变量是指向数据的内存块的,并不是直接存放数据。对于值类型,每个变量都有一份自己的数据复制,对另一个值类型变量的操作并不影响这一个变量的值。而对于引用类型,两个变量有可能引用同一对象,因此对一个变量的操作会影响到另一个变量。 例如:int a = 0;int b=a;b=10;,C#语言基础,值类型与引用类型的区别 class aa public int value

12、=0; class text public static void main() aa a=new aa(); aa b=a; b.value=10; Console.WriteLine(“0,1”,a.value,b.value); 就相当于指针,两个变量指向同一块内存数据,当一个变量对内存区数据改变之后,另一个变量指向的数据当然也会改变。,C#语言基础,常量、变量、运算符 什么是常量?:经常存在的变量,值保持不变. C#中常量有两种 静态常量:用const 来修饰,系统不为其分配内存空间 声明方式:访问修饰符 const 数据类型 变量名, *静态常量的声明需要赋初始值,而且数据类型必须是

13、值类型的,同时此类型初始化不能通过new来完成,所以struct不能用const来修饰. 动态常量:用readonly来修饰系统为其分配内存空间 声明方式同上; *由readonly所定义的常量除了在定义的时候可以设定常量值外,还可以在类的构造函数中进行设定。由于readonly所定义的常量相当于类的成员,因此使用const来定义常量所受到的类型限制,在使用readonly去定义的时候全部消失,即可以用readonly去定义任何类型的常量.,C#语言基础,常量、变量、运算符 如何使用常量 静态常量: 声明: class aa public const int f = 9; 使用:aa.f;,C

14、#语言基础,常量、变量、运算符 动态常量: 声明: class test public readonly string ff; public aa() this.ff = new string(new char d, f ); 使用:test t = new test();t.ff,C#语言基础,常量、变量、运算符 变量:内存中存放数据容器的名称. 就好像一个杯子,可以放水,可以放饮料 声明变量:访问修饰符 数据类型 变量名 例如:public int a = 0;(声明同时并赋值) 例如:public int a;(只声明变量并未赋值) 例如:public int a,b,c; *但要注意

15、局部变量声明后必须赋值,C#语言基础,常量、变量、运算符 声明变量注意事项 C#中所有变量要区分大小写 C#中每一句结尾必须写”;”表示结束 不能引用没有赋值的变量 例如:int a; Console.WriteLine(a); 不能对未声明的变量赋值和引用 例如:name = “小明“; Console.WriteLine(name); 可以在声明变量同时赋值 例如:string name = “小明“; Console.WriteLine(name); 同类型的变量可以一起声明 例如: public int a,b,c; 不能声明同名变量,C#语言基础,常量、变量、运算符 运算符: 赋值操

16、作符除基本的赋值操作符“=”之外还包括以下的组合赋值操作符 += 如:int x; x+=5; 相当于:x=x+5; -= 如:int y,z=4; y-=z; 相当于:y=y-z; *= 如:double x,y = 2.3; x*=y;相当于:x=x*y; /= 如: int x,y;int a=5; y=3; x/=y+a;相当于:x=x/(y+a); %= 如: int y,x=12; y%=x; 相当于:y=y%x; = 如: int y=16; y=2;相当于:y=y2; = 如: int a=32; a=3;相当于:a=a3; = 如: int a=32;a=2; 相当于:a=a2;,C#语言基础,常量、变量、运算符 算术操作符 加法操作符(+) 减法操作符(-) 乘法操作符(*) 除法操作符(/) 求余操作符(%) 求余不仅可以对整数操作还可以对小数操作 例如:Console.WriteLine(3.5 % 2.1);,C#语言基

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

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号