欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PPT文档下载  

    第4章C语言基础.ppt

    • 资源ID:2604683       资源大小:4.30MB        全文页数:75页
    • 资源格式: PPT        下载积分:8
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要8
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第4章C语言基础.ppt

    第4章 C#语言基础,本章要点,熟悉C#中简单的数据类型和操作符 熟悉C#中三种控制语句 了解C#与其他语言的关系 了解异常处理的方法 了解C#面向对象的几个高级特性,教学内容,C#语言基础 C#语言的数据类型 C#语言的运算符 C#语言的控制语句 C#语言与其他语言的关系 了解C#面向对象的几个高级特性,4.1 C#简介,C#是Microsoft为.NET平台量身定做的新的程序语言,可以用来构建在.NET Framework上运行的各种安全、可靠的应用程序。 C#语言自C/C+演变而来,是一种简洁、类型安全的面向对象的编程语言。它简化了C+在类、名字空间、方法重载和异常处理等领域,并借鉴了Java语言的许多优点。 C#的新功能包括严格的类型安全、版本控制、垃圾收集等,所有这些功能都瞄准了开发面向组件的软件。,.NET框架FCL,多种.NET编程语言的统一类库 只要学习一套统一的类库而不是大量不同的API 7000多种类型 依靠命名空间(Namespace)将多个提供相似功能的类组织在相关的单元中,以分层的命名空间结构来组织,4.2 数据类型,C#的数据类型主要有两类:值类型(value type)和引用类型(reference type)。 值类型包括简单类型(整型、浮点型和布尔型等)、枚举类型和结构类型。引用类型包括类类型、接口类型、代表类型、字符串类型和数组类型等。 值类型:变量存储数据本身 引用类型:变量不存储实际数据,而是存储对实际数据的引用。,值类型变量:堆栈(stack) 编译器自动分配、自动清除 引用类型变量:值存储在托管堆(managed heap)中,地址存储在堆栈中 由程序员自行申请分配和释放,4.2.1值类型中的简单类型,简单类型 整型 浮点型 小数型 布尔型 特点 第一,它们都是.NET系统类型的别名,例如:int就是System.Int32的别名。 第二,由简单类型组成的常量表达式仅在编译时而不是运行时受检测。,C#语言的数据类型值类型,返回,常量和变量的命名规则,常量 可以使用字母、数字、下划线等字符; 不可以使用空格、斜杠、逗号、句号等特殊字符; 首字母必须是英文字母; 长度不能超过255个字符; 不能使用C#中的关键字,如using,int,void等。 变量 变量名的第一个字符必须是字母、下划线或; 如果第一个字符是,则第二个字符不能是数字; 其余的字符可以是字母、下划线或数字。,4.2.1值类型中的简单类型,char类型:对应于统一字符编码标准(Unicode)的字符集。char类型与其他整数类型相比有以下两点不同之处: (1) 没有其他类型到char类型的隐式转换,既使对于sbyte,byte和ushort这样能完全使用char类型代表其值的类型,也不存在隐式转换。 (2) char类型的常量必须被写为字符形式,如果用整数形式,则必须带有类型转换前缀。如(char)10。 bool类型:在 C+ 中,bool 类型实质上是一个整数。在 C# 中,不存在 bool 类型与其他类型之间的相互转换。 long 类型:C# 中为 64 位,而在 C+ 中为 32 位。,4.2.2 引用类型,不存储它们所代表的实际数据,而是存储实际数据的引用。 C#中的引用类型,其实就是特殊的指针,既有基本的指针语义,又有C+中引用(别名)的某些特征。 C#中的引用类型有类、接口、委托、字符串类型和数组。,C#语言的数据类型引用类型,引用类型的访问限定修饰符 引用类型的预定义特性,C#语言的数据类型引用类型,类 类是对一系列具有相同性质的对象的抽象,是对对象共同特征的描述,是一组具有相同数据结构和相同操作的对象的集合。 接口 接口是对一组能够提供相同服务的类的抽象,是一种特殊的类,不实现任何方法或属性,只定义要完成什么任务而不定义如何完成。 委托 委托类似于C和C+等编程语言中的函数指针,用于封装某个方法的调用过程。但在C#中,委托是完全面向对象的,它所封装的方法必须与某个类或对象相关联。 字符串:在 C+ 中,字符串只是字符的数组。在 C# 中,字符串是支持可靠搜索方法的对象,C#语言的数据类型引用类型,Object System.Object是.NET框架中所有类型的根类型,几个引用类型例子,1、字符串类型 string类型 :常见用法 string str1=“Hello“; /字符串赋值 string str2=str1+“World!“; /字符串连接 char c1=str10; /通过下标访问字符,从0索引 bool flag=(str1=str2); /比较两个字符串是否相等 相关用法: (1) 取字串长度 str1.length (2) 截取字串的一部分 str1.Substring(0,2); (3) 字串替换 str.Replace(“llo”,”ight”); (4) 字串中指定字符或字串首次(最后一次)出现位置 str1.IndexOf(“e”); str1.IndexOf(“el”); -1表示未找到,4.2.2 引用类型,(5) 在字串中指定索引位插入指定字符 str1.Insert(5,”,how are you”); (6) 在字串左(或右)加空格或指定char字符,使字串达到指定长度 str.PadLeft(10,*); 默认为空格 (7) 从指定位置开始删除指定个数的字符 str1.Remove(2,2); (8) 清除字串前后空格 str1.Trim();,2、数组 数组是包含一串变量的数据结构。数组变量也称作数组元素,它们具有相同的类型,这种类型也称做数组类型。数组用下标确定每一个数组元素的索引号,索引号从0开始。只有一个下标的数组称为一维数组,多于一个下标的数组称为多维数组 在 C+ 中,数组只是一个指针。在 C# 中,数组是包含方法和属性的对象。例如,可通过 Length 属性查询数组的大小。 (1) 声明数组时,方括号跟在类型后面。 Int a (2) 数组的每个维数的长度不是数组类型的一部分 int a; a=new int10;,ArrayList ArrayList是一种特殊的数组,在功能上超过了标准的数组,通过添加和清除元素来动态地改变数组长度。 ArrayList与System.Array的区别有: Array可以定义多维数组,ArrayList只能定义一维数组; Array可以定义自己的下限,ArrayList的下限始终为0; Array的元素通常是特定类型的,ArrayList的元素都是object类型的,因此需要进行装箱和拆箱的操作,内存分配的代价很高; Array的元素数目是固定的,ArrayList的元素数目可以自动扩展。,4.2.3其它数据类型,DateTime日期时间类型 :表示值范围在公元0001年1月1日午夜12:00:00到公元9999年12月31日晚上11:59:59之间的日期和时间 DateTime currentTime; currentTime=System.DateTime.Now; /取当前年月日时分秒 int year=currentTime.Year; /取当前年 int month=currentTime.Month; /取当前月 int day=currentTime.Day; /取当前日 int hour=currentTime.Hour; /取当前时 int minute=currentTime.Minute; /取当前分 int second=currentTime.Second; /取当前秒 string strCurrentTime=currentTime.ToString(); /取当前时间作为字符串返回,4.2.4数据转换,C#数据类型之间必须显式转换 1. 使用框架类(Parse方法、Convert类) 如:int iAge; iAge=int.Parse(txtAge.Text); iAge=Convert.ToInt32(txtAge.Text); 2. 通过造型转换数据类型 如:double MyDouble=1.23; int MyInteger; MyInteger=(int)MyDouble; 3. 显式转换 如:float num=1.23f;,值类型引用类型,装箱,int i=10; object 0=i; i=20;,i值为20 o值为10,引用类型值类型,拆箱,被拆箱的变量值必须是对某个对象的引用,而此对象是通过对目标值装箱创建的,即先装箱再拆箱,int i=10; object o=i; int j=(int)o;,4.3 操作符,根据操作符作用的操作数的个数来分,C#包括多个一元操作符、多个二元操作符和一个三元操作符。 当一个表达式包含多个操作符时,操作符的优先级决定了计算的顺序。,4.3 操作符,逻辑运算中 &与| &&与| 之间的区别 递增(+)和递减(-)运算 赋值“=”和比较“=”运算符,4.4 控制语句,控制语句是在程序运行过程中,有条件地执行或重复执行某些语句,改变程序默认的顺序执行流向 C#中的控制语句:选择语句、循环语句和跳转语句,选择语句- if语句,if语句有三种结构: 单条件选择: if( ) 双条件选择 :if ( ) else 多条件选择: if ( )else if ( )else if ( ) else 其中()内为条件表达式,内为各分支的语句块,如果分支语句块中仅一条语句,则可以省略不写。,选择语句switchcase,要实现多条件判断,可采用switchcase语句。根据条件(表达式)从一组不同的分支中选择一个来执行。,switch (条件) case 常数表达式1: 执行语句; break; case 常数表达式2: 执行语句; break; case 常数表达式3: 执行语句; break; default: 默认的处理语句; break; ,与 C+ 中的 switch 语句不同, C# 不支持从一个 case 标签贯穿到另一个 case 标签。,循环语句,循环语句可以实现对一组执行语句的重复运行,它对于简化程序、组织算法具有重要意义 。 在C#中,提供了4种不同的循环语句: while dowhile for foreach,循环语句while循环,while循环是根据条件(表达式为真值)将循环语句执行若干遍,但while循环不需要确定循环次数。 语法格式为: while (循环条件) 循环语句; ,循环语句dowhile循环,与while循环的不同之处在于,dowhile循环先执行循环语句,然后对循环条件进行判断,所以至少会执行一次循环语句。 语法格式为: do 循环语句; while(循环条件),循环语句for循环,C#中的for循环与C+和Java中的语法是相同的,在循环次数确定的情况下,推荐使用for循环 。 语法格式为: for(初始变量; 循环条件; 计数器) 循环语句; ,循环语句foreach循环,foreach循环主要用于操作数组或集合内的每一个元素。foreach循环可以在支持IEnumerable接口的容器类中遍历每一项 。 语法格式为: foreach (类型 变量名 in 集合) 循环语句; ,跳转语句,1break语句:与switch语句联合使用跳出此switch语句,还用来与循环语句配合使用跳出当前循环语句块。 2continue语句:跳出本次循环,将控制返回到控制循环语句的布尔表达式。 3goto语句:将流程控制无条件交给一个标记语句。,4.5 命名空间,命名空间(Namespace)是将相关的类型进行分组的逻辑命名方案。 .NET Framework 使用分层命名方案,将类型分为相关功能的逻辑类别,用命名空间来组织它的众多的类。 如,System是一个命名空间,Console是该命名空间中包含的类。如果使用 using关键字,则不必使用完整的名称,例如:,/引入System命名空间 using System; Console.WriteLine(“Hello“); Console.WriteLine(“World!“);,System.Console.WriteLine(“Hello“); System.Console.WriteLine(“World!“);,Hello World 程序,/在较大的编程项目中,声明自己的命名空间可以帮助控制类名称和方法名称的范围。使用 namespace 关键字可声明命名空间 using System; namespace Notepad class HelloWorld public static void Main() Console.WriteLine(“Hello World“); ,声明 HelloWorld 类,程序入口点, Main 的返回类型为 void,控制台类的 WriteLine() 方法用于显示输出结果,声明命名空间 Notepad,将文件保存为 HelloWorld.cs,4.6 异常处理,C# 语言的异常处理功能提供了处理程序运行时出现的任何意外或异常情况的方法。异常处理使用 try、catch 和 finally 关键字来尝试可能未成功的操作,处理失败,以及在事后清理资源。 try 用于检查发生的异常,并帮助发送任何可能的异常。 catch用来处理错误,定义异常处理程序,可以有多个catch子句。 finally无论是否引发异常,finally的代码块都将被执行。 异常可以由公共语言运行库 (CLR)、第三方库或使用 throw 关键字的应用程序代码生成。 throw 用于引发异常,可引发预定义异常和自定义异常。,异常具有以下特点:,在应用程序遇到异常情况(如被零除情况或内存不足警告)时,就会产生异常。 发生异常时,控制流立即跳转到关联的异常处理程序(如果存在)。 如果给定异常没有异常处理程序,则程序将停止执行,并显示一条错误信息。 可能导致异常的操作通过 try 关键字来执行。 异常处理程序是在异常发生时执行的代码块。在 C# 中,catch 关键字用于定义异常处理程序。 程序可以使用 throw 关键字显式地引发异常。 异常对象包含有关错误的详细信息,其中包括调用堆栈的状态以及有关错误的文本说明。 即使引发了异常,finally 块中的代码也会执行,从而使程序可以释放资源。,try-catch结构,案例名称:使用try-catch语句 using System; class Sample public static void Main(string args) long factorial=1; long num=Int64.Parse(args0); try / 计算数num的阶乘 for (long cur=1;cur=num;cur+) factorial*=cur; catch (OverflowException oe) Console.WriteLine(“计算0的阶乘时引发溢出异常“,num); Console.WriteLine(“0“,oe.Message); return; Console.WriteLine(“0的阶乘是1“,num,factorial); ,try-catch-finally结构,案例名称:使用try-catch-finally语句 using System; class Sample public static void Main() try throw(new ArgumentNullException(); / 引发异常 catch(ArgumentNullException e) Console.WriteLine(“Exception:0“,e.Message); finally Console.WriteLine(“执行finally子句“); ,静态成员,有时需要一种方法在所属的类还没有创建实例的时候就能够使用,或者需要一个成员变量的值不需要跟某个对象实例相关联,那么这时就可以使用静态方法或静态成员变量。在C#中,用关键字static来表示静态成员。 public class Tools public static void Log(string error) ,Tools类中包含了静态方法Log,使用该方法时,无需实例化Tools类 Tools.Log(“sth went wrong”);,C#中面向对象的特性:,封装 继承:任何类都可以从另一个类继承,被继承的类称为父类,也称为基类。在C#中,派生类只能从一个基类中继承,但可以通过继承多个接口来实现类似于多继承的功能。 多态:多态表现为派生类在继承基类之后,它从基类继承而来的成员可以表示与基类相应成员不同的含义。,继承 C# 中的类,public class Graduate: Student, Employee / 成员变量 / 成员函数 ,多重继承,允许多重接口实现,接口,class IBase void method1(); int method2(); int method3(float); /没有实现 . ,接口,interface,只有方法声明,没有实现,public interface IPict int DeleteImage(); void DisplayImage(); ,隐式声明为 public,无访问修饰符,示例中的 IPict 接口用于演示接口,接口,多重接口实现,C# 不允许多重类继承 但 C# 允许多重接口实现 这意味着一个类可以实现多个接口,演示:示例,public interface IPictManip void ApplyAlpha(); /第二个接口 public interface IPict int DeleteImage(); void DisplayImage(); public class BaseIO public void Open() Console.WriteLine(“BaseIO 的 Open 方法“); ,public class MyImages : BaseIO, IPict, IPictManip public int DeleteImage() / 实现 public void DisplayImage() /实现 public void ApplyAlpha(); /实现 static void Main(string args) MyImages objM = new MyImages(); objM.DisplayImage(); objM.DeleteImage(); objM.Open(); objM.ApplyAlpha(); ,显式接口实现,在 C# 中,只要不发生命名冲突,就完全可以允许多重接口实现,public interface IPictManip void DisplayImage (); ,public interface IPict void DisplayImage (); ,public class MyImages : BaseIO, IPict, IPictManip public int DisplayImage () . . ,?,使用显式接口实现,演示:示例,public class MyImages : BaseIO, IPict, IPictManip public int DeleteImage() Console.WriteLine(“DeleteImage 实现!“); return(5); public void ApplyAlpha() Console.WriteLine(“ApplyAlpha 实现!“); void IPict.DisplayImage() Console.WriteLine(“DisplayImage 的 IPict 实现“); void IPictManip.DisplayImage() Console.WriteLine(“DisplayImage 的 IPictManip 实现“); ,显式接口实现,static void Main(string args) MyImages objM = new MyImages(); IPict Pict = objM; /IPict 引用 Pict.DisplayImage(); IPictManip PictManip = objM; /IPictManip 引用 PictManip.DisplayImage(); ,演示:示例 13,public interface IPict int DeleteImage(); public interface IPictManip void ApplyAlpha(); void DisplayImage(); /继承多重接口 public interface IPictAll:IPict, IPictManip void ApplyBeta(); ,public class MyImages:IPictAll public int DeleteImage() Console.WriteLine(“DeleteImage 实现!“); return(5); public void ApplyAlpha() Console.WriteLine(“ApplyAlpha 实现!“); public void ApplyBeta() Console.WriteLine(“ApplyBeta 实现!“); public void DisplayImage() Console.WriteLine(“DisplayImage 实现!“); ,static void Main(string args) MyImages objM = new MyImages(); objM.DisplayImage(); int val = objM.DeleteImage(); Console.WriteLine(val); objM.ApplyAlpha(); objM.ApplyBeta(); ,继承多重接口,多态(Polymorphism),在C#中,多态性的定义是:“同一操作作用于不同的类的实例,不同的类将进行不同的解释,最后产生不同的执行结果”。C#支持两种类型的多态性。 编译时的多态性:通过重载来实现的。对于非虚的成员来说,系统在编译时,根据传递的参数、返回的类型等信息决定实现何种操作。 运行时的多态性:直到系统运行时,才根据实际情况决定实现何种操作。C#中通过虚方法实现。 编译时的多态性提供了运行速度快的特点,而运行时的多态性则带来了高度灵活和抽象的特点。,方法重载,固定电话,电,移动电话,帐单,管理层,供应商 1,供应商 2,电信,电,电话,电,对不同的数据执行相同的任务,方法重载, Class BillPayment void PayBill(int telephoneNumber) /此方法用于支付固定电话话费 void PayBill(long consumerNumber) /此方法用于支付电费 void PayBill(long consumerNumber, double amount) /此方法用于支付移动电话话费 ,对不同数据执行相似的功能,方法重载,int greatest(int num1, int num2) Console.WriteLine(“0 和 1 相比, 最大的是: “, num1, num2); if(num1 num2) return num1; else return num2; int greatest(int num1, int num2, int num3) Console.WriteLine(“0, 1 和 2 相比, 最大的是: “, num1, num2, num3); if(num1 num2 ,具有不同数量的参数的方法重载,方法重载,int greatest(int numbers) int temp = numbers0; for(int i = 1;i numbers.Length;i+) if(temp numbersi) temp = numbersi; return temp; double greatest(double numbers) double temp = numbers0; for(int i = 1;i numbers.Length;i+) if(temp numbersi) temp = numbersi; return temp; ,具有不同类型的参数的方法重载,函数重载,案例名称:重载普通函数 using System; class Overload public void Func() System.Console.WriteLine( “Func()“ ); public void Func( int x, int y ) System.Console.WriteLine( “Func( int x, int y )“ ); public void Func( long x, long y ) System.Console.WriteLine( “Func( long x, long y )“ ); public static void Main( string args ) Overload myOverload = new Overload(); myOverload.Func(); myOverload.Func(1,1); myOverload.Func(1L, 1L); / 会调用哪个重载函数呢? myOverload.Func(1L,1); ,案例名称:重载构造函数 using System; class CtorOverloadDemo static void Main(String args) MyInt i = new MyInt(2); System.Console.WriteLine(i.i); MyInt j = new MyInt(); System.Console.WriteLine(j.i); class MyInt public int i; public MyInt() i = 0; public MyInt( int i ) this.i = i; ,关键字 virtual,Access modifier virtual return type name ( parameters-list ) . / Virtual 方法实现 . ,public virtual void Func() Console.WriteLine(“这是 virtual 方法,可以被重写“); ,class Employee public virtual void EmpInfo() Console.WriteLine(“此方法显示职员信息“); ,class DervEmployee: Employee public override void EmpInfo() base.EmpInfo(); Console.WriteLine(“此方法重写 base 方法“); ,static void Main(string args) DervEmployee objDervEmployee = new DervEmployee(); objDervEmployee.EmpInfo(); Employee objEmployee = objDervEmployee; objEmployee.EmpInfo(); ,sealed override,无论在派生类和最初声明虚拟成员的类之间已声明了多少个类,虚拟成员都将永远为虚拟成员。如果类 A 声明了一个虚拟成员,类 B 从 A 派生,类 C 从类 B 派生,则类 C 继承该虚拟成员,并且可以选择重写它,而不管类 B 是否为该成员声明了重写。 派生类可以通过将重写声明为密封的来停止虚拟继承。这需要在类成员声明中将sealed关键字放在 override 关键字的前面。,public class A public virtual void DoWork() public class B : A public override void DoWork() public class C : B public override void DoWork() /public sealed override void DoWork() ,抽象类和抽象方法,abstract class ClassOne /类实现 ,访问修饰符,派生类的基类,不能实例化,abstract class Base / 成员变量 int basevar; / 成员函数 abstract void base_fun1(parameters); / 无法实现 . ,抽象方法,class Derived : Base / 成员变量 int derivedvars; / 成员函数 override void Base_fun1(parameters) / 实际实现 . ,抽象类,派生类,提供,重写方法,原型,必须重写,抽象类和抽象方法,abstract class MyAbs public abstract void AbMethod(); /派生类 class MyClass : MyAbs public override void AbMethod() Console.WriteLine(“在 MyClass 中实现的抽象方法“); /派生自 MyClass 的子类 class SubMyClass:MyClass public void General() /未实现 AbMethod 抽象方法 Console.WriteLine(“在 SubMyClass 中未实现的抽象方法 “); ,static void Main(string args) SubMyClass objSubClass = new SubMyClass(); objSubClass.General(); ,接口与抽象类,相似性: 都可以包含由派生类继承的成员 都不能直接实例化 区别: 派生类只能继承一个基类,类可以使用任意多个接口 抽象类有抽象成员和非抽象成员,接口的成员必须都在使用接口的类上实现。 抽象类的成员可以是私有、保护、内部的,而接口成员只能是公共的;,总结,继承是获得现有类的属性和方法的过程 创建新类所根据的基础类称为基类或父类,新建的类则称为派生类或子类 base 关键字用于从派生类中访问基类成员 重写方法就是修改基类中方法的实现。virtual 关键字用于修改方法的声明 抽象类是指至少包含一个抽象方法(尚未实现的方法)的类,抽象类不能实例化 显式接口实现是用于在名称不明确的情况下确定成员函数实现的是哪一个接口,4.7 C#与其他语言的关系,C#作为Microsoft公司力推的服务器端程序开发语言,从使用方法上来看是完全独立的,不需要其他脚本语言的支持,但从其产生的历史和作用来看,和他们又有着千丝万缕的联系,这里给出一些比较和分析,4.7.1 C#与CC+语言的关系,语言是在70年代初问世的 C+是建立在C语言之上的 C#是微软开发的,专门编写.NET软件的语言,4.7.1 C#与CC+语言的关系,4.7.2 C#与Java语言的关系,4.7.2 C#与Java语言的关系,C#和java有着很多相似之处: (1) 二者都编译成跨平台的、跨语言的代码,并且代码只能在一个受控制的环境中运行自动回收垃圾内存,并且消除了指针(在C#中可以使用指针,不过必须注明unsafe关键字); (2) 二者都不需要头文件,所有的代码都被“包(package)”限制在某个范围内,并且因为没有头文件,所以消除了类定义的循环依赖; (3) 所有的类都是从对象派生出来,并且必须使用New关键字分配内存; (4) 都是用对象加锁的方式来支持多线程; (5) 都具有接口(interface)的概念。,4.7.3 C#与VBScript语言的关系,C#和VBScript对照表,4.7.4 C#与JavaScript的关系,JavaScript是一种基于对象和事件驱动并具有安全性能的脚本语言,它具有很多优点: (1) 简单性 (2) 动态性 (3) 跨平台性 (4) 节省CGI的交互时间,4.7.4 C#与JavaScript的关系,C#和JavaScirpt都可以嵌入到HTML页面中实现具体的功能,二者都是动态页面的脚本语言。差别如下: (1) 它们是两个公司开发的不同的两个产品 (2) JavaScript是基于对象的,而C#是面向对象的 (6) 代码编写位置不同 (4) 两种语言所采取的变量是不一样的 (5) 代码格式不一样 (3) 两种语言在其浏览器中所执行的方式不一样,

    注意事项

    本文(第4章C语言基础.ppt)为本站会员(本田雅阁)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开