对比引用类型与基本类型

对比引用类型与基本类型
对比引用类型与基本类型

引用类型与基本类型

●概念:基本类型也叫简单类型,存储的数据是单一的,如:学生的个数就

是一个数字而已;引用类型也叫复杂类型,存储的数据是复杂的,如:学生,包括学号,姓名,性别,年龄等等很多信息。从内存(大家如果不懂内存,请查阅相关资料)的角度来说:基本类型只占用一块内存区域;引用类型占用两块内存区域。即定义基本类型的变量时,在内存中只申请一块空间,变量的值直接存放在该空间;定义引用类型的变量时(容易理解的是,我门看到new运算符,一般就是定义引用类型的变量),在内存中申请两块空间,第一块空间存储的是第二块空间的地址,第二块空间存储的是真正的数据;第一块空间叫作第二块空间的引用(地址),所以叫作引用类型。

javaScript中的基本类型包括:数字(Number),字符串(String),布尔(Boolean),Null,Undefined五种;

javascript的引用类型是:Object。而Array,Date是属于Obejct类型。

●画图理解:

如下代码(都是定义了两个局部变量):

function demoFun(){

var num = 20;//定义了一个基本类型的变量。

var arr = new Array(12,23,34);//定义了一个引用类型的变量}

以上两行代码的内存图:

可以看到,num变量只占用了一块内存区域;arr变量占用了两块内存区域,arr变量在栈区(不懂栈区的人,先不要想太多)申请了一块内存区域,存储着地址,存储的地址是堆区的地址。而堆区中真正才存储着数据,所以说,arr变量占用了两块内存区域。这样看来,引用类型的变量好像还占用内存多了。哈哈,不要着急,后面了解了引用类型的优点后,你就会觉得这是问题了。

当我们读取num变量的值时,直接就能读到,但是当我们要读取arr里的值时,先找到arr中的地址,然后根据地址再找到对应的数据。

引用类型,类似于windows操作系统中的快捷方式。快捷方式就是一个地址,真正的内容是快捷方式所指向的路径的内容。如:我们把d:\t.txt文件创建

一个快捷方式放在桌面上,那么,桌面上的快捷方式会占用桌面的空间,而d:\t.txt会占用d盘的空间,所以,占用了两块空间。

基本类型就相当于文件。

引用类型,类似于我们在入学报名填写报名表时,填写家庭地址,这个家庭地址就相当于第一块空间,真正你家(第二块内存空间)不在报名表上。学校要找你家,先在报名表上找到你家的地址,然后根据地址,才能找到你家去。 引用类型的优点:

引用类型作为函数的参数时,优点特别明显,第一,形参传递给实参时,只需要传递地址,而不需要搬动大量的数据(节约了内存开销);第二,形参对应的数据改变时,实参对应的数据也在改变(很多时候,我们希望这样)。

如以下代码:

先定义函数(冒泡排序)

function bubble(arr){

for(var i=0;i

for(var j=0;j

if(arr[j]>arr[j+1]){

var temp = arr[j];

arr[j] = arr[j+1];

arr[j+1] = temp;

}

}

}

}

当调用冒泡排序时,

var arr1 = [250,2,290,35,12,99];

bubble(arr1);

看看内存以上代码执行时的,内存变化:

图中,当执行,①对应的代码(var arr1 = [250,2,290,35,12,99];)时,内存中会产生①对应的变化,即在栈中申请一块内存区域,起名为arr1,在堆区中申请内存空间放置250,2,290,35,12,99,并把堆区中的内存的地址赋给arr1的内存中;当执行②对应的代码bubble(arr1)时,调用函数。这时候会定义形参arr(内存中③对应的变化),即在栈中申请一块内存区域,起名为arr,并把arr1保存的地址赋给了arr (内存中②表示的赋值),这样,形参arr和实参arr1就指向了同一块内存区域。数组中的值250,2,290,35,12,99在内存中只有一份。即,不用把数组中每个元素的值再复制一份,节约了内存。如果对内存图看懂了,那么,当形参arr对应的数据顺序改变了,实参arr1对应的数据顺序也就改变了。即,实现了形参数据改变时,实参数据也改变了。所以,bubble函数不需要返回值,依然可以达到排序的目的。可以运行我示例中的代码,看看是不是达到了排序的效果。

补充,基本类型作为函数参数的内存变化:

内存图:

引用类型变量的赋值:

引用类型变量赋值时,赋的是地址。即两个引用类型变量里存储的是

同一块地址,也就是说,两个引用类型变量都指向同一块内存区域。

所以,两个引用类型变量对应的数据时一样的。

再如:

var person1 = {

name:"张三",

sex:"男",

age:12

};

var person2 = person1;

https://www.360docs.net/doc/91607412.html,="张四"; //这句话会改变person1和person2的name。说明person1和person2的name占用的是同一块内存。

alert(https://www.360docs.net/doc/91607412.html,+","+person1.sex+","+person1.age);

alert(https://www.360docs.net/doc/91607412.html,+","+person2.sex+","+person2.age);

基本类型变量赋值时的内存变化。

浅拷贝和深拷贝

先说对象的复制,上面说了,引用类型(对象)的赋值,只是赋的地

址,那么要真正复制一份新的对象(即克隆)时,又该怎么办。

var person1 = {

name:"张三",

sex:"男",

age:12

};

var person2={};

for(var key in person1){

person2[key] = person1[key];

}

但是,当一个对象的属性又是一个引用类型时,会出现浅拷贝和深拷

贝的问题。用一个自定义的object类型来说明问题。

如:

var person1 = {

name:"张三",

sex:"男",

age:12,

address:{

country:"陕西",

city:"渭南"

}

};

//对象person1的address又是个对象,即,要对person1做真正的克隆,需要把address中的每个属性也进行克隆。

var person2={};

for(var key in person1){

person2[key] = person1[key];

}

https://www.360docs.net/doc/91607412.html,="张四"; //不会改变掉person1的name属性。

person2.address.country="北京";//会改变掉person1的address.country

大家注意看,person1和person2的name属性各有各的空间,但是person1.address.country和person2.address.country是同一块空间。所以,改变person2.address.country的值时,person1.address.country的值也会改变。这就说明拷贝(克隆)的不到位,这种拷贝叫作浅拷贝,而进一步把person1.address.country和https://www.360docs.net/doc/91607412.html,也拷贝(克隆)了,就是深拷贝。要做到深拷贝,就需要对每个属性的类型进行判断,如果是引用类型,就再循环进行拷贝(需要用到递归)。

(未完待续)

建筑基础都有那些类型

建筑基础都有那些类型 基础的类型: 基础按受力特点及材料性能可分为刚性基础和柔性基础;按构造的方式可分为条形基础、独立基础、片筏基础、箱形基础等。 1.按材料及受力特点分类 (1)刚性基础: 受刚性角限制的基础称为刚性基础。 刚性基础所用的材料的抗压强度较高,但抗拉及抗剪强度偏低。 刚性基础中压力分布角a称为刚性角。在设计中,应尽力使基础大放脚与基础材料的刚性角相一致,目的:确保基础底面不产生拉应力,最大限度地节约基础材料。构造上通过限制刚性基础宽高比来满足刚性角的要求。常用的有:砖基础。灰土基础。三合土基础。毛石基础。混凝土基础。毛石混凝土基础。 1)大放脚为保证基础外挑部分在基底反力作用下不至发生破坏。 2)灰土基础灰土基础适用于地下水位较低的地区,并与其他材料基础共用,充当基础垫层。 3)三合土基础三合土基础一般多用于地下水位较低的四层和四层以下的民用建筑工程中。 4) 毛石基础具有强度较高、抗冻、耐水、经济等特点。

5)混凝土基础常用于地下水位高,受冰冻影响的建筑物。 6)在上述混凝土基础中加入一定体积毛石,称为毛石混凝土基础。 2)柔性基础。在混凝土基础底部配置受力钢筋,利用钢筋受拉,这样基础可以承受弯矩,也就不受刚性角的限制。所以钢筋混凝土基础也称为柔性基础。 钢筋混凝土基础断面可做成梯形,最薄处高度不小于 200mm;也可做成阶梯形,每踏步高300-500mm。通常情况下,钢筋混凝土基础下面设有C7.5或C10素混凝土垫层,厚度lOOmm左右;无垫层时,钢筋保护层为75mm,以保护受力钢筋不受锈蚀。 2.按构造分类 (1)独立基础(单独基础)。 1)柱下单独基础。单独基础是柱子基础的主要类型。 2)墙下单独基础。墙下单独基础是当上层土质松软,而在不深处有较好的土层时,为了节约基础材料和减少开挖土方量而采用的一种基础形式。 (2)条形基础。 1)墙下条形基础。条形基础是承重墙基础的主要形式。当上部结构荷载较大而土质较差时,可采用钢筋混凝土建造,墙下钢筋混凝土条形基础一般做成无肋式;肋式的条形基础条件:地基在水平方向上压缩性不均匀,为了增加基础

第三讲 数据类型

第三讲数据类型 教学要求: 1.了解值类型和引用类型的区别 2.掌握数据类型转换的几种情况 教学学时: 2H 一.数据类型的分类 在C#中提供的数据类型有两大类:值类型和引用类型。 值类型直接存储数据,不可以为空,也不可以派生出新的类型,包括整型、实型、布尔型、字符型、结构型和枚举型,值类型数据在栈中存储。 static void Main(string[] args) { int x, y; x = 5; y = x; x=10; Console.WriteLine("x={0},y={1}", x, y); y = 20; Console.WriteLine("x={0},y={1}", x, y); Console.ReadKey(); } 引用类型存储对实际数据的引用(地址),引用类型分两步创建: 首先在栈上创建一个引用变量,然后在堆上创建对象本身,再把这个内存的地址赋给引用变量。 C#有两个内置的引用类型:object类型和string类型。 object类型的变量可以引用任何类型的数据。 string类型的变量只可以引用字符串。 static void Main(string[] args) { string s1 = "agagssa"; string s2 = null; Console.WriteLine("s1={0},s2={1}", s1, s2); s2 = s1; s1 = "512512"; Console.WriteLine("s1={0},s2={1}", s1, s2);

Console.ReadKey(); } 补充知识(内存中的栈与堆的区别) 栈只能由系统自动分配,堆可以由程序员自主申请分配。 栈的空间较小(1M或2M),堆的空间较大(受限于系统有效虚拟内存)。 栈的访问速度快,堆的访问速度慢。 栈的使用不会产生碎片,而堆的使用会产生碎片。 对于使用用户自定义的类或系统定义的类用new关键字来创建一个新的对象时,过程也是这样的。 class Student { public int ID; public string Name; } class Program { static void Main(string[] args) { Student x = new Student(); x.ID = 5; https://www.360docs.net/doc/91607412.html, = "wang"; Student y; y = x; y.ID = 10; https://www.360docs.net/doc/91607412.html, = "cheng"; Console.WriteLine("x.ID={0},https://www.360docs.net/doc/91607412.html,={1}", x.ID, https://www.360docs.net/doc/91607412.html,); Console.WriteLine("y.ID={0},https://www.360docs.net/doc/91607412.html,={1}", y.ID, https://www.360docs.net/doc/91607412.html,); Console.ReadKey(); } } 二.值类型的数据与object类型数据之间的赋值类型转换 1. 将值类型的数据赋值给object类型变量时能自动完成将值类型的数据转换为object类型数据。 int x = 123; object obj1 = x; //相当于object obj1 = (object) x; x = x + 100; Console.WriteLine("x={0}", x); Console.WriteLine ("obj1={0}",obj1); Console.Read(); 输出结果: x=223 obj1=123 说明:

Java 基本数据类型取值范围讲解

Java 基本数据类型取值范围讲解 一、Java的类型词语理解: 1) 原始数据类型,简单类型,基本类型都是一个含义; 2)复合类型,扩展类型,复杂类型、引用类型都是一个含义; 3)浮点类型,实数、实型都是一个含义; 4)逻辑型、布尔型都是一个含义; 5)本人个人认同的类型分类: 阅读时需要理解: 定点:定点的意思是把小数点定在末尾,小数点后没有数字的数据,Java中通常把它们称为整数; 常量:就是直接的值; 变量:放置常量的容器,除了放置常量之外,也可以给变量一个运算式,变量中的值是可变的; 二、Java数据类型基本概念: 数据类型在计算机语言里面,是对内存位置的一个抽象表达方式,可以理解为针对内存的一种抽象的表达方式。接触每种语言的时候,都会存在数据类型的认识,有复杂的、简单的,各种数据类型都需要在学习初期去了解,Java是强类型语言,所以Java对于数据类型的规范会相对严格。数据类型是语言的抽象

原子概念,可以说是语言中最基本的单元定义,在Java里面,本质上讲将数据类型分为两种:基本类型和引用数据类型。 基本类型:简单数据类型是不能简化的、内置的数据类型、由编程语言本身定义,它表示了真实的数字、字符和整数。 引用数据类型:Java语言本身不支持C++中的结构(struct)或联合(union)数据类型,它的复合数据类型一般都是通过类或接口进行构造,类提供了捆绑数据和方法的方式,同时可以针对程序外部进行信息隐藏。 三、Java中的数据类型与内存的关系 在Java中,每个存放数据的变量都是有类型的,如: char ch;float x;inta,b,c; ch是字符型的,就会分配到2个字节内存。不同类型的变量在内存中分配的字节数不同,同时存储方式也 是不同的。 所以给变量赋值前需要先确定变量的类型,确定了变量的类型,即确定了数据需分配内存空间的大小,数 据在内存的存储方式。 四、Java数据类型在内存中的存储: 1)基本数据类型的存储原理:所有的简单数据类型不存在“引用”的概念,基本数据类型都是直接存储在内 存中的内存栈上的,数据本身的值就是存储在栈空间里面,而Java语言里面八种数据类型是这种存储模型; 2)引用类型的存储原理:引用类型继承于Object类(也是引用类型)都是按照Java里面存储对象的内存 模型来进行数据存储的,使用Java内存堆和内存栈来进行这种类型的数据存储,简单地讲,“引用”是存储 在有序的内存栈上的,而对象本身的值存储在内存堆上的; 区别:基本数据类型和引用类型的区别主要在于基本数据类型是分配在栈上的,而引用类型是分配在堆上的(需要java中的栈、堆概念), 基本类型和引用类型的内存模型本质上是不一样的。 例1:我们分析一下”==“和equals()的区别。 首先,我定以两个String对象 String a="abc";

传递引用对象和传递基本变量的区别

Java 传递对象引用变量与传递基本变量的区别 1. 简单类型是按值传递的 Java 方法的参数是简单类型的时候,是按值传递的 (pass by value)。这一点我们可以通过一个简单的例子来说明: public class Test { public static void test(boolean test) { test = ! test; System.out.println("In test(boolean) : test = " + test); } public static void main(String[] args) { boolean test = true; System.out.println("Before test(boolean) : test = " + test); test(test); System.out.println("After test(boolean) : test = " + test); } } 运行结果: Before test(boolean) : test = true In test(boolean) : test = false After test(boolean) : test = true 不难看出,虽然在 test(boolean) 方法中改变了传进来的参数的值,但对这个参数源变量本身并没有影响,即对 main(String[]) 方法里的 test 变量没有影响。那说明,参数类型是简单类型的时候,是按值传递的。以参数形式传递简单类型的变量时,实际上是将参数的值作了一个拷贝传进方法函数的,那么在方法函数里再怎么改变其值,其结果都是只改变了拷贝的值,而不是源值。 2. 什么是引用 Java 是传值还是传引用,问题主要出在对象的传递上,因为 Java 中简单类型没有引用。既然争论中提到了引用这个东西,为了搞清楚这个问题,我们必须要知道引用是什么。 简单的说,引用其实就像是一个对象的名字或者别名 (alias),一个对象在内存中会请求一块空间来保存数据,根据对象的大小,它可能需要占用的空间大小也不等。访问对象的时候,我们不会直接是访问对象在内存中的数据,而是通过引用去访问。引用也是一种数据类型,我们可以把它想象为类似 C 语言中指针的东西,它指示了对象在内存中的地址——只不过我们不能够观察到这个地址究竟是什么。 如果我们定义了不止一个引用指向同一个对象,那么这些引用是不相同的,因为引用也是一种数据类型,需要一定的内存空间来保存。但是它们的值是相同的,都指示同一个对象在内存的中位置。比如 String a = "Hello"; String b = a; 这里,a 和 b 是不同的两个引用,我们使用了两个定义语句来定义它们。但它们的值是一样的,都指向同一个对象 "Hello"。也许你还觉得不够直观,因为 String 对象的值本身是不可更改的 (像 b = "World"; b = a; 这种情况不是改变了 "World" 这一对象的值,而是改变了它的引用 b 的值使之指向了另一个 String 对象 a)。那么我们用 StringBuffer 来举一个例子: public class Test {

c#总复习题

一.选择题: 1. C#语言源代码文件的后缀名为______________. A .C# B .C C C .CSP D .CS AN: D 2. 构建桌面应用程序需要.NET提供的类库是_____________. A https://www.360docs.net/doc/91607412.html, B Windows.Form C XML D https://www.360docs.net/doc/91607412.html, AN: B 3. 与C++等语言相比,C#中增加的一个类成员访问修饰符是___________. A private B public C protected D internal AN: D 4. C#中程序的入口方法名是____________________. A Main B. main C Begin D using AN: A 5. 关于C#语言的基本语法,下列哪些说法是正确的? A. C#语言使用using 关键字来引用.NET 预定义的名字空间; B. 用C#编写的程序中,Main 函数是唯一允许的全局函数; C. C#语言中使用的名称不区分大小写; D. C#中一条语句必须写在一行内; AN: A 6.在C#中,表示一个字符串的变量应使用以下哪条语句定义? A. CString str; B. string str; C. Dim str as string D. char * str; AN:B 7.C#中的值类型包括三种,它们是____。 A.整型、浮点型、基本类型 B.数值类型、字符类型、字符串类型 C.简单类型、枚举类型、结构类型D.数值类型、字符类型、枚举类型 AN:C 8.枚举类型是一组命名的常量集合,所有整型都可以作为枚举类型的基本类型,如果类型省略,见约定为______。 A.int B.sbyte C.uint D.ulong AN:A 9.C#的引用类型包括类、接口、数组、委托、object和string。其中object______________根类。A.只是引用类型的B.只是值类型的 C.只是string类型的D.是所有值类型和引用类型的 AN:D 10.浮点常量有三种格式,下面_____________组的浮点常量都属于double类型。 A.0.618034,0.618034D, 6.18034E-1

2014-2015-1C#复习题

2014-2015-1《C#桌面程序应用开发》复习题 一、选择题 1、装箱是把值类型转换到( b )类型。 a)数组b)引用c)char d)string 2、下列哪个类型的对象是https://www.360docs.net/doc/91607412.html,在非连接模式下处理数据内容的主要对象?(d ) a) Command b) Connection c) DataAdapter d) DataSet 3、枚举类型是一组命名的常量集合,所有整型都可以作为枚举类型的基本类型,如果类型 省略,则定义为( a )。 a) int b) sbyte c) uint d) ulong 4、面向对象编程中的“继承”的概念是指( b ) a) 对象之间通过消息进行交互b)派生自同一个基类的不同类的对象具有一些共同特征c)对象的内部细节被隐藏d) 派生类对象可以不受限制地访问所有的基类对象5、在C#的类结构中,class关键字前面的关键字是表示访问级别,下面哪个关键字表示该类只能被这个类的成员或派生类成员访问? ( d )。 a) public b) private c) internal d) protected 6、下列类型中, 哪些不属于引用类型?( b )。 a) String b) int c) Class d) Delegate 7、数组pins的定义如下: int[] pins=new int[4]{9,2,3,1}; 则pins[1]=( b ) a) 1 b) 2 c) 3 d) 9 8、创建数据库连接使用的对象是( a )。 a) Connection b) Command c) DataReader d) DataSet 9、调用方法时,如果想给方法传递任意个数的参数时,应选用哪个关键字( c )。 a) ref b) out c) params d) 无特殊要求 10、C#中TestClass为一自定义类,其中有以下属性定义 public void Property{…}开卷考 使用以下语句创建了该类的对象,并使变量obj引用该对象: TestClass obj = new TestClass(); 那么,可通过什么方式访问类TestClass的Property属性?( a ) a) Obj,Property; b) MyClass.Property; c) obj :: Property; d) obj.Property (); 11、下列关于C#面向对象应用的描述中,哪项是正确的?( c )。 a) 派生类是基类的扩展,派生类可以添加新的成员,也可去掉已经继承的成员 b) abstract方法的声明必须同时实现 c) 声明为sealed的类不能被继承 d)接口像类一样,可以定义并实现方法 12、C#中导入某一命名空间的关键字是( a )。 a) using b) use c)import d) include 13、一般情况下,异常类存放在什么命名空间中?( b )。 a) 生成异常类所在的命名空间b) System.Exception命名空间 c) System.Diagnostics命名空间d) System命名空间 14、若将数据库中的数据填充到数据集,应调用SqlDataAdapter的(c )方法。

基础的作用和类型

一、基础的作用和类型 (—)基础的作用及其与地基的关系 基础是建筑地面以下的承重构件,是建筑的下部结构。它承受建筑物上部结构传下来的全部荷载,并把这些荷载连同本身的重量一起传到地基上。 地基则是承受由基础传下的荷载的土层。地基承受建筑物荷载而产生的应力和应变随着土层深度的增加而减小,在达到一定深度后就可忽略不计。直接承受建筑荷载的土层为持力层。持力层以下的土层为下卧层。 (二)基础的埋置深度 基础的埋置深度称为埋深。一般基础的埋深应考虑地下水位、冻土线深度、相邻基础以及设备布置等方面的影响。从经济和施工角度考虑,基础的埋深,在满足要求的情况下愈浅愈好,但最小不能小于0.5m。天然地基上的基础,一般把埋深在5m以内的叫浅基础。 影响基础埋深因素:建筑物荷载的大小、地基土层的分布、地下水位高低以及相邻建筑的关系都影响着基础的埋深,寒冷地区还要考虑土壤冻胀的影响。 (三) 基础的类型 基础的类型较多,按基础所采用材料和受力特点分,有刚性基础和柔性基础,按造型式分,有条形基础、独立基础、筏形基础、箱形基础等。 1.按所用材料及受力特点分类 (1)刚性基础 (2)柔性基础 2.按基础的构造型式分类

(1) 条形基础 (2)独立基础 (3)井格式基础 (4)筏形基础 筏板基础和箱形基础:当柱子或墙传来的荷载很大,地基土较软弱,用单独基础或条形基础都不能满足地基承载力要求时,往往需要把整个房屋底面(或地下室部分)做成一片连续的钢筋混凝土板,作为房屋的基础,称为筏板基础。为了增加基础板的刚度,以减小不均匀沉降,高层建筑往往把地下室的底板、顶板、侧墙及一定数量的内隔墙一起构成一个整体刚度很强的钢筋混凝土箱形结构,称为箱形基础。 (4)箱形基础 壳体基础:为改善基础的受力性能,基础的形式可不做成台阶状,而做成各种形式的壳体,称做壳体基础。

C#引用类型和值类型的区别

实际举例C#引用类型和值类型的区别 我们都知道,c#的两大数据类型分别为值类型和引用类型。很多人或许闭着眼睛都能说出值类型包括简单类型、结构体类型和枚举类型,引用类型包括自定义类、数组、接口、委托等,但是当被问及到二者之间的联系和区别,什么时候用struct什么时候用class时,就常常混淆不清了。为此,了解值类型和引用类型的本质差异就变的很有必要了。 ?值类型直接存储其值,变量本身就包含了其实例数据,而引用类型保存的只是实例数据的内存引用。因此,一个值类型变量就永远不会影响到其他的值类型变量,而两个引用类型变量则很有可能指向同一地址,从而发生相互影响。 ?从内存分配上来看,值类型通常分配在线程的堆栈上,作用域结束时,所占空间自行释放,效率高,无需进行地址转换,而引用类型通常分配在托管堆上,由GC来控制其回收,需要进行地址转换,效率降低,这也正是c#需要定义两种数据类型的原因之一。 ?值类型均隐式派生自System.ValueType,而System.ValueType又直接派生于System.Object,每种值类型均有一个隐式的默认构造函数来初始化该类型的默认值,注意所有的值类型都是密封(sealed)的,所以无法派生出新的值类型。而且System.ValueType 本身是一个类类型,而不是值类型,因为它重写了object的Equals()方法,所以对值类型将按照实例的值来比较,而不是比较引用地址。 ?C# 的统一类型系统,使得值类型可以转化为对象来处理,这就是常说的装箱和拆箱。由于装拆箱需要装建全新对象或做强制类型转换,这些操作所需时间和运算要远远大于赋值操作,因此不提倡使用它,同时也要尽量避免隐式装拆箱的发生。 注:栈是操作系统分配的一个连续的内存区域,用于快速访问数据。因为值类型的容量是已知的,因此它可存储在栈上。而托管堆是CLR在应用程序启动时为应用程序预留的一块连续内存区,是用于动态内存分配的内存区,引用类型的容量只有到运行时才能确定,所有用堆来存储引用类型。 C#的两种数据类型延伸之一--嵌套类型的内存分配 对于引用类型嵌套值类型,以及值类型嵌套引用类型的情况下,内存分配可以根据以下两条规律来判断: ?引用类型始终部署在托管堆上; ?值类型总是分配在它声明的地方:作为字段时,跟随其所属的对象存储;作为局部变量时,存储在栈上。 C#的两种数据类型延伸之二--string类型 string是一个很有意思的引用类型,为什么说它很有意思呢?因为它表现了很多值类型的特点。请看一下代码示例: 示例1 string str1 = "abc";

建筑地基基础类型

2.3.1 按材料及受力特点分类 一、刚性基础 由刚性材料制作的基础称为刚性基础。一般指抗压强度高,而抗拉、抗剪强度较低的材料就称为刚性材料。常用的有砖、灰土、混凝土、三合土、毛石等。为满足地基容许承载力的要求,基底宽B一般大于上部墙宽,为了保证基础不被拉力、剪力而破坏,基础必须具有相应的高度。通常按刚性材料的受力状况,基础在传力时只能在材料的允许范围内控制,这个控制范围的夹角称为刚性角,用α表示。砖、石基础的刚性角控制在(1:1.25)~(1:1. 50) (26o~33o) 以内,混凝土基础刚性角控制在1:1(45o)以内。 二、非刚性基础 当建筑物的荷载较大而地基承载能力较小时,基础底面B必须加宽,如果仍采用混凝土材料做基础,势必加大基础的深度,这样很不经济。如果在混凝土基础的底部配以钢筋,利用钢筋来承受拉应力,使基础

底部能够承受较大的弯矩,这时,基础宽度不受刚性角的限制,故称钢筋混凝土基础为非刚性基础或柔性基础。 2.3.2 按构造型式分类 一、条形基础 当建筑物上部结构采用墙承重时,基础沿墙身设置,多做成长条形,这类基础称为条形基础或带形基础,是墙承式建筑基础的基本形式。 二、独立式基础

当建筑物上部结构采用框架结构或单层排架结构承重时,基础常采用方形或矩形的独立式基础,这类基础称为独立式基础或柱式基础。独立式基础是柱下基础的基本形式。 当柱采用预制构件时,则基础做成杯口形,然后将柱子插人并嵌固在杯口内,故称杯形基础。 三、井格式基础 当地基条件较差,为了提高建筑物的整体性,.防止柱子之间产生不均匀沉降,常将柱下基础沿纵横两个方向扩展连接起来,做成十字交叉的井格基础。 四、片筏式基础 当建筑物上部荷载大,而地基又较弱,这时采用简单的条形基础或井格基础已不能适应地基变形的需要,通常将墙或柱下基础连成一片,

色相对比教学设计

《色相对比》教案设计 一、教材分析: 色相对比在色彩对比中是比较复杂又比较重要的一种类型,它是《色彩的对比与调和》中的一单元。此课题的练习,使学生了解不同色相对比的不同视觉效果,有助于提高认识色彩,分析色彩的能力,为设计用色打下良好的基础。 二、课业类型:色彩构成理论 三、教学目标: ①掌握常见色相对比类型及特点,并能运用色彩对比理论对色彩之间存在的矛盾进行整合。 ②了解不同色相对比所带来的视觉变化,感受色彩的不同组合所产生的效果。 ③提高对美的感知能力、运用色彩的实际能力。 ④培养学生对视觉形成的创造性思维方式。 四、教学重点:色相对比的类型及特点 五、教学难点:同类色相与邻近色相的差异,强烈色相对比的调和。 六、学生分析: 职教工美专业学生对色彩有基本接触,对色彩基础知识有一定了解。在本课的学习中,同学们对各色相对比、结合色相环、及对优秀作品的观后体念,将梳理、整合成系统、形象生动的色彩观点。 七、设计思路: 本课理论结合实例,通过采用多媒体电脑网络等现代化电教手段、较形象、生动给学生介绍色相对比的各类型、特点,激发学生对色彩对比的兴趣。根据素质教育理论,在授课中穿插学生作品、大师作品欣赏,以及安排一次小组竞赛来调动同学们的积极性,使了解知识同时,得到艺术熏陶,拓宽知识面,增加知识深度。 八、课前准备 多媒体教学课件准备,符合作业要求的不同色相对比的优秀范画若干张、颜料、纸等绘画工具,学生准备(先前作业)色相环,绘画工具。 九、施教课时:1课时 色彩的对比—色相对比

提出问题:欣赏完以上两幅画面为什么相同的内容会产生不同的视觉效果及感受。

色相对比:因色相的差别而形成的色彩对比。(如图由黄、红、绿色相的差别而形成的色

【施工】常见的基础形式介绍

常见的基础形式介绍 一、箱型基础适用范围:适用于软弱地基上的高层、重型或对不均匀沉降有严格要求的建筑物。箱型基础是由钢筋混凝土的底板、顶板、外墙和内隔墙组成的有一定高度的整体空间结构.与筏形基础相比,箱型基础有更大的抗弯刚度,只能产生大致均匀的沉降或整体倾斜,从而基本上消除了因地基变形而使建筑物开裂的可能性。箱型基础埋深较大,基础中空,从而使开挖卸去的部分土重抵偿了上部结构传来的荷载,因此,与一般实体基础相比,它能显著减小基底压力,降低基础沉降量。此外,还有较好的抗震性能。 二、独立基础简介及适用范围: 简介:当建筑物上部结构采用框架结构或单层排架结构承重时,基础常采用方行、圆柱形和多边形等形式的独立式基础,这类基础称为独立式基础.也称单独基础. 适用范围:一般适用于楼层较矮的多层框架结构房屋,地质情况好的话,部分高层也可以使用。 三、筏板基础的如何计算:精确分析:按温克尔理论,考虑荷载局部作用(柱子的柱底弯矩和集中力作用)阀板刚

度等因素进行内力分析。近似分析:当上部柱网规整底板刚度较大,将基础顶面所有荷载平均分摊至阀板基础作为基地反力(认为基础阀板刚度无限大不考虑柱底弯矩作用)进行内力分析。 四、条形基础简介及适用范围: 条形基础简介:是指基础长度远远大于宽度的一种基础形式。按上部结构分为墙下条形基础和柱下条形基础。基础的长度大于或等于10倍基础的宽度。条形基础的特点是,布置在一条轴线上且与两条以上轴线相交,有时也和独立基础相连,但截面尺寸与配筋不尽相同。另外横向配筋为主要受力钢筋,纵向配筋为次要受力钢筋或者是分布钢筋。主要受力钢筋布置在下面。 适用范围:无筋扩展基础适用于多层民用建筑和轻型厂房。无筋扩展基础的抗拉强度和抗剪强度较低,因此必须控制基础内的拉应力和剪应力。结构设计时可以通过控制材料强度等级和台阶宽高比(台阶的宽度与其高度之比)来确定基础的截面尺寸,而无需进行内力分析和截面强度计算。 五、井格式基础简介:当框架结构处于地基条件较差或上部荷载较大时,为了提高建筑物的整体性,防止柱子之间

值类型和引用类型的区别

区别: 1、值类型通常被分配在栈上,它的变量直接包含变量的实例,使用效率比较高。 2、引用类型分配在托管堆上,引用类型的变量通常包含一个指向实例的指针,变量通过该指针来引用实例。 3、值类型继承自ValueType(注意:而System.ValueType又继承自System.Object);而引用类型继承自System.Object。 4、值类型变量包含其实例数据,每个变量保存了其本身的数据拷贝(副本),因此在默认情况下,值类型的参数传递不会影响参数本身;而引用类型变量保存了其数据的引用地址,因此以引用方式进行参数传递时会影响到参数本身,因为两个变量会引用了内存中的同一块地址。 5、值类型有两种表示:装箱与拆箱;引用类型只有装箱一种形式。我会在下节以专门的篇幅来深入讨论这个话题。 6、典型的值类型为:struct,enum以及大量的内置值类型;而能称为类的都可以说是引用类型。 7、值类型的内存不由GC(垃圾回收,Gabage Collection)控制,作用域结束时,值类型会自行释放,减少了托管堆的压力,因此具有性能上的优势。例如,通常struct比class更高效;而引用类型的内存回收,由GC来完成,微软甚至建议用户最好不要自行释放内存。 8、值类型是密封的(sealed),因此值类型不能作为其他任何类型的基类,但是可以单继承或者多继承接口;而引用类型一般都有继承性。 9、值类型不具有多态性;而引用类型有多态性。 10、值类型变量不可为null值,值类型都会自行初始化为0值;而引用类型变量默认情况下,创建为null值,表示没有指向任何托管堆的引用地址。对值为null的引用类型的任何操作,都会抛出NullReferenceException异常。 11、值类型有两种状态:装箱和未装箱,运行库提供了所有值类型的已装箱形式;而引用类型通常只有一种形式:装箱 S:通用语言系统。CLS:通用语言规范。CLR:公共语言运行库。 2.1.2 .NET的3C:CTS、CLS和CLR .NET结合Java和COM解决方案两者优点来解决互操作性问题。类似于COM定义的标准二进制格式,.NET定义了一个称为通用类型系统Common Type System(CTS)的类型标准。这个类

咖啡的基本种类和常见英语

咖啡的基本种类和常见英语 第一种是espresso浓缩咖啡,也称为“意式浓缩咖啡”,它是把研磨过的咖啡豆,借着高压蒸汽和热水滤冲所煮出来的咖啡。用这种方式煮出来的“一份浓缩咖啡”,被称为one shot。浓缩咖啡加上不同比例的牛奶,就可以调出许多种咖啡。如果想喝浓一点的咖啡,可以要求店员把espresso的份数加倍。比如说,I’d like a double/triple espresso. 我要双份/三份的意大利浓缩咖啡。 第二种是latte拿铁咖啡。拿铁咖啡的特点是加了很多热牛奶,上面只点缀一层薄薄的奶泡,foam。但是如果你想要多一点奶泡,可以说,I want some extra foam. 我想要多一点奶泡。在喝冰拿铁的时候,希望少放一点冰块,你就可以说,Don’t use too much ice. 不要加太多冰块。 第三种是caffe mocha 摩卡咖啡。摩卡咖啡是喜欢甜食的人的最佳选择,因为有摩卡酱(巧克力酱)当底,最上层再加上鲜奶油。不过万一你觉得鲜奶油热量高,可以说,I don’t want any whipped cream. 我不要鲜奶油。你还可以调整摩卡酱的比例,可以说,Please give me a little extra /less chocolate syrup。 第四种是cappuccino 卡布奇诺。喜欢吃绵密奶泡的人,可以点卡布奇诺,因为这款咖啡的奶泡最多。如果希望奶泡再多一点,热牛奶少一点,可以说,I want it dry. 我要牛奶少一点。或者I want a dry cappuccino. 我要一杯不加牛奶,只有奶泡的卡布奇诺。如果你想要多一点热牛奶,可以说,I want it wet. 我要牛奶多一点。或者I want a wet cappuccino. 我一杯牛奶多一点的卡布奇诺。 第五种是Americano美式咖啡。美式咖啡就是浓缩咖啡加上一定比例的水。不过还有一种好喝的做法,就是直接加冰块而不加水:I want an Americano with ice, no water. 我要一杯只加冰块不加水的美式咖啡。 最后再来说一说misto密斯朵咖啡,这种咖啡其实就是由一半咖啡,一半牛奶组成的“咖啡牛奶”,也成为cafeau lait“欧雷咖啡”。点misto的时候,可以改变牛奶的份量,你可以说,I want more/less milk. 我的牛奶要多一点。/少一点。 说完了咖啡的种类,再说说一些在点咖啡的时候要用到的词汇和句型,你可以用I’d like a .../I want a .../Can you get me a ...?/Please pull me a ...?这些句型来点你喜欢的咖啡。 那么在点咖啡的时候,你可能会被问到要选哪种份量的咖啡,咖啡一般都有三种份量可供选择,grande大杯,tall 中杯还有short小杯。如果想加冰,就是iced coffee,如果你没有做特别说明,就说明你要点热的咖啡。 关于咖啡里面脂肪含量的问题,可以用low-fat低脂的,还有nonfat脱脂的来表示,但是大部分咖啡点不提供nonfat脱脂的咖啡。如果对浓缩咖啡espresso的份数有特别要求的话,可以有double双份、triple三份、quad四份和decaf低咖啡因的区别。如果不做特别说明,

int与Integer的区别(Java各种数据类型详细介绍及其区别)

Java各种数据类型详细介绍及其区别基本类型,或者叫做内置类型,是JAVA中不同于类的特殊类型。 Java中的简单类型从概念上分为四种:实数、整数、字符、布尔值。但是有一点需要说明的是,Java里面只有八种原始类型,其列表如下: 实数:double、float 整数:byte、short、int、long 字符:char 布尔值:boolean 复杂类型和基本类型的内存模型本质上是不一样的,简单数据类型的存储原理是这样的:所有的简单数据类型不存在“引用”的概念,简单数据类型都是直接存储在内存中的内存栈上的,数据本身的值就是存储在栈空间里面,而Java语言里面只有这八种数据类型是这种存储模型;而其他的只要是继承于Object类的复杂数据类型都是按照Java里面存储对象的内存模型来进行数据存储的,使用Java内存堆和内存栈来进行这种类型的数据存储,简单地讲,“引用”是存储在有序的内存栈上的,而对象本身的值存储在内存堆上的。 Java的简单数据讲解列表如下: int:int为整数类型,在存储的时候,用4个字节存储,范围为-2,147,483,648到2,147,483,647,在变量初始化的时候,int类型的默认值为0。 short:short也属于整数类型,在存储的时候,用2个字节存储,范围为 -32,768到32,767,在变量初始化的时候,short类型的默认值为0,一般情况下,因为Java本身转型的原因,可以直接写为0。 long:long也属于整数类型,在存储的时候,用8个字节存储,范围为 -9,223,372,036,854,775,808到9,223,372,036, 854,775,807,在变量初始化的时候,long类型的默认值为0L或0l,也可直接写为0。 byte:byte同样属于整数类型,在存储的时候,用1个字节来存储,范围为-128到127,在变量初始化的时候,byte类型的默认值也为0。 float:float属于实数类型,在存储的时候,用4个字节来存储,范围为32位IEEEE 754单精度范围,在变量初始化的时候,float的默认值为0.0f或0.0F,在初始化的时候可以写0.0。

数据类型

数据类型 数据元( Data Element),也称为数据元素,是用一组属性描述其定义、标识、表示和允许值的数据单元,在一定语境下,通常用于构建一个语义正确、独立且无歧义的特定概念语义的信息单元。数据元可以理解为数据的基本单元,将若干具有相关性的数据元按一定的次序组成一个整体结构即为数据模型。 中文名 数据元 外文名 Data element 又称 数据类型 被认为 是不可再分的最小数据单元 目录 .1基本属性 .2组成 .3分类 .4命名规则 .5数据元与元数据 .6数据元提取 .?自上而下提取法 .?自下而上提取法 基本属性

(1)标识类属性:适用于数据元标识的属性。包括中文名称、英文名称、中文全拼、内部标 识符、版本、注册机构、同义名称、语境。 (2)定义类属性:描述数据元语义方面的属性。包括定义、对象类词、特性词、应用约束。 (3)关系类属性:描述各数据元之间相互关联和(或)数据元与模式、数据元概念、对象、 实体之间关联的属性。包括分类方案、分类方案值、关系。 (4)表示类属性:描述数据元表示方面的属性。包括表示词、数据类型、数据格式、值域、 计量单位。 (5)管理类属性:描述数据元管理与控制方面的属性。包括状态、提交机构、批准日期、备 注。 组成 数据元一般由对象类、特性和表示3部分组成: (1)对象类(Object Class)。是现实世界或抽象概念中事物的集合,有清楚的边界和含义,并 且特性和其行为遵循同样的规则而能够加以标识。 (2)特性(Property)。是对象类的所有个体所共有的某种性质,是对象有别于其他成员的依据。 (3)表示(Representation)。是值域、数据类型、表示方式的组合,必要时也包括计量单位、 字符集等信息。 对象类是我们所要研究、收集和存储相关数据的实体,例如人员、设施、装备、组织、环境、物资等。特性是人们用来区分、识别事物的一种手段,例如人员的姓名、性别、身高、体重、职务,坦克的型号、口径、高度、长度、有效射程等。表示是数据元被表达的方式的一种描述。 表示的各种组成成分中,任何一个部分发生变化都将产生不同的表示,例如人员的身高用“厘米” 或用“米”作为计量单位,就是人员身高特性的两种不同的表示。数据元的表示可以用一些具有表示含义的术语作标记,例如名称、代码、金额、数量、日期、百分比等。 数据元基本模型中,对象类对应于数据模型中的实体、特性和表示对应于数据模型中的属性。 分类 数据元的类型按不同的分类方式可以作如下分类。 1)按数据元的应用范围

住宅建筑常用的基础类型

住宅建筑的基础有几种及优缺点 基础的类型: 基础按受力特点及材料性能可分为刚性基础和柔性基础; 按构造的方式可分为条形基础、独立基础、片筏基础、箱形基础等。 1.按材料及受力特点分类 (1)刚性基础: 受刚性角限制的基础称为刚性基础。 刚性基础所用的材料的抗压强度较高,但抗拉及抗剪强度偏低。 刚性基础中压力分布角a称为刚性角。在设计中,应尽力使基础大放脚与基础材料的刚性角相一致,目的:确保基础底面不产生拉应力,最大限度地节约基础材料。构造上通过限制刚性基础宽高比来满足刚性角的要求。常用的有:砖基础。灰土基础。三合土基础。毛石基础。混凝土基础。毛石混凝土基础。 1)大放脚为保证基础外挑部分在基底反力作用下不至发生破坏。 2)灰土基础灰土基础适用于地下水位较低的地区,并与其他材料基础共用,充当基础垫层。 3)三合土基础三合土基础一般多用于地下水位较低的四层和四层以下的民用建筑工程中。 4) 毛石基础具有强度较高、抗冻、耐水、经济等特点。 5)混凝土基础常用于地下水位高,受冰冻影响的建筑物。 6)在上述混凝土基础中加入一定体积毛石,称为毛石混凝土基础。 2)柔性基础。在混凝土基础底部配置受力钢筋,利用钢筋受拉,这样基础可以承受弯矩,也就不受刚性角 的限制。所以钢筋混凝土基础也称为柔性基础。 钢筋混凝土基础断面可做成梯形,最薄处高度不小于200mm;也可做成阶梯形,每踏步高300-500mm。通常情况下,钢筋混凝土基础下面设有C7.5或C10素混凝土垫层,厚度lOOmm左右;无垫层时,钢筋 保护层为75mm,以保护受力钢筋不受锈蚀。 2.按构造分类 (1)独立基础(单独基础)。 1)柱下单独基础。单独基础是柱子基础的主要类型。 2)墙下单独基础。墙下单独基础是当上层土质松软,而在不深处有较好的土层时,为了节约基础材料和减 少开挖土方量而采用的一种基础形式。 (2)条形基础。 1)墙下条形基础。条形基础是承重墙基础的主要形式。当上部结构荷载较大而土质较差时,可采用钢筋混凝土建造,墙下钢筋混凝土条形基础一般做成无肋式;肋式的条形基础条件:地基在水平方向上压缩性不 均匀,为了增加基础的整体性,减少不均匀沉降。 2)柱下钢筋混凝土条形基础。当地基软弱而荷载较大时为增强基础的整体性并节约造价,可做成钢筋混凝 土条形基础。 (3)柱下十字交叉基础。荷载较大的高层建筑,如土质较弱,可做成十字交叉基础。 (4)片筏基础。如地基基础软弱而荷载又很大,采用十字基础仍不能满足要求或相邻基槽距离很小时,可用 钢筋混凝土做成整块的片筏基础。按构造不同它可分为平板式和梁板式两类。 (5)箱形基础。它的主要特点是刚性大,减少了基础底面的附加应力,因而适用于地基软弱土层厚、荷载大 和建筑面积不太大的一些重要建筑物,目前高层建筑中多采用箱形基础。

java实践教程5-基本类型和引用类型变量

上两次课我们知道了,java语言中的两种数据类型。这节课呢,我们对上两次课做一个补充,也加深一下理论知识的学习。理论的东西是很有用的啊。这节课介绍基本类型变量和引用类型变量。 Java中数据类型分为两大类,上次课已经讲完了,是基本类型和对象类型。相应的,变量也就有两种类型:基本类型和引用类型。基本类型自然不用说了,它的值就是一个数字,一个字符或一个布尔值。引用类型,可是引用类型呢?它是一个对象类型的啊,值是什么呢?它的值是指向内存空间的引用,就是地址,所指向的内存中保存着变量所表示的一个值或一组值。很好理解吧,因为一个对象,比如说一个人,不可能是个数字也不可能是个字符啊,所以要想找它的话只能找它的地址了。 罗唆: 我们在学习计算机的过程中,所谓的难的东西,就是以前没有听过的概念,和不常用的思想。像是这个引用类型的概念就是以前不常用的,基本类型当然好理解不讲大家也知道。所以我们对于这样陌生的概念我们只要多琢磨一下就会明白的。 我们废话少说,接下来看看这两种类型变量的不同处理吧。基本类型自然是简单,声明是自然系统就给它空间了。例如, int baijq; baijq=250; //声明变量baijq的同时,系统给baijq分配了空间。 引用类型就不是了,只给变量分配了引用空间,数据空间没有分配,因为谁都不知道数据是什么啊,整数,字符?我们看一个错误的例子: MyDate today; today.day = 4; //发生错误,因为today对象的数据空间未分配。 那我们怎么给它赋值啊?引用类型变量在声明后必须通过实例化开辟数据空间,才能对变量所指向的对象进行访问。举个例子: MyDate today; //将变量分配一个保存引用的空间 today = new MyDate(); //这句话是2步,首先执行new MyDate(),给today变量开辟数据空间,然后再执行赋值操作。 小总结: 刚才说了一大堆,其实就是一件事。如果是引用类型的变量,必须先得new 一个对象出来。不new哪来的对象啊,不new哪有数据空间啊?没有数据空间怎么能访问呢?这回明白了吧!

技术指标公式数据引用格式及注意事项

技术指标公式数据引用格式及注意事项 技术指标公式数据引用格式及注意事项。所有的公式系统都是遵守统一的运算法则,统一的格式进行函数之间的计算,所以我们掌握了技术指标公式的基本原理,其它公式也会出脱其外。数据引用(1)、数据来源 公式中的基本数据来源于接收的每日行情数据,这些数据有行情函数从数据库中按照一定的方式提取,例如,高开低收、成交量、成交额等。(2)、数据类型 按照公式使用的数据类型,系统可以处理的数据分为两类:变量和常量,所谓变量,就是一个随时间变化而变化的数据,例如,成交量、成交价等;常量就是一个永远不变的数据。 例如计算收盘价均线MA(CLOSE,5),MA函数要求第一个参数为变量,而CLOSE函数返回的正是一个变量;MA 函数要求的第二个参数是常量,5就是一个常量,所以人们就不能这样书写:MA(5,CLOSE)。特殊数据引用(1)、指标数据引用 在编制公式过程中,有时需要使用另外一个指标的值,如果按照通常的做法,重新编制这个指标就显得很麻烦,因此很有必要学习使用如何调用别的指标公式。 调用其他指标的基本格式:”指标.指标线”(参数) 指

标与指标线之间用点“.”分开,一个指标不一定只有一条指标线,所以有必要在指标后标注指标线的名称,但是如果缺失则表示引用最后一条指标线。参数在表达式的末尾,必须用括号括起来,参数之间用“,”号分开,通过参数设置可选择设定该指标的参数,如果参数缺失则表示使用该指标的默认参数设置(不过我在使用过程中发现,如不写参数,测试就通不过)。整个表达式用引号引在其中,除参数以外。例如:”MACD.DEF”(26,12,9)表示计算MACD指标的DEA 指标线,计算参数为26、12、9,”MACD”(26,12,9)表示该指标的最后一条指标线,计算参数是26、12、9,”MACD”表示该指标的最后一条指标线,并且使用公式的默认参数。(2)、其他股票数据引用使用以下的格式可以在当前的分析界面下引用大盘的数据或者其他个股的数据实现 横向上的对比。引用大盘数据引用大盘数据时使用下列函数:INDEXC、INDEXV等等。引用个股数据引用个股数据时使用下列格式:”股票代码$数据”,在以上格式当中调用CLOSE、VOL、AMOUNT等等,例如,”Z000002$VOL”表示000002该股本周期的成交量。同时大盘也可视为一只个股来引用,例如,上证”H000001$CLOSE”表示为大盘本周期的收盘价,深市”Z399001$CLOSE”同样表法大盘本周期的收盘价。(3)、注意事项 在编公式中所运用的标点符号均是在英语状态下的

相关文档
最新文档