教学材料《C++语言程序设计》-第3章_第1页
教学材料《C++语言程序设计》-第3章_第2页
教学材料《C++语言程序设计》-第3章_第3页
教学材料《C++语言程序设计》-第3章_第4页
教学材料《C++语言程序设计》-第3章_第5页
已阅读5页,还剩59页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

3.1程序设计概述3.1.1程序设计的基本概念一般来讲,程序是语句的集合。一个程序应包含以下两个方面的内容:其一是对数据的描述,在程序中要指定数据的类型和数据的组织形式,即数据结构(Datastructure);其二是对操作的描述,即操作步骤,也就是算法(algorithm)。数据是操作的对象,操作的目的是对数据进行加工处理,以得到预期的结果。作为程序设计人员,必须认真考虑、设计数据结构和操作步骤。下一页返回3.1程序设计概述著名的计算机科学家沃思(NikiklausWirth)提出一个公式:程序=数据结构+算法实际上,一个程序除了以上两个主要因素之外,还应当采用结构化程序设计方法进行程序设计,并且用某一种算法语言来实现。因此,程序也可以表示为:程序=数据结构+算法+程序设计方法+语言工具和环境上一页下一页返回3.1程序设计概述算法是指为解决某个特定问题而采取的确定且有限的步骤。一个算法包含有如下特点:(1)有穷性。一个算法应包括有限个操作步骤。也就是说,在执行若干个操作步骤之后,算法将结束,而且每一步都在合理的时间内完成。(2)确定性。算法中每一条语句必须有确切的含义,不能有二义性,对于相同的输入必能得出相同的执行结果。(3)有效性。算法的每一步都能有效地执行,只要有一个不可执行的操作,该算法即无效。上一页返回下一页3.1程序设计概述(4)有零个或多个输入。在计算机上实现的算法是用来处理数据对象的,在大多数情况下,这些数据对象需要通过输入来得到。(5)有一个或多个输出。算法的目的是为了求“解”,只有通过输出才能得到。结构化程序设计方法是程序设计发展历史上的一个进步,结构化程序设计强调的是程序设计风格和程序结构的规范化风格。结构化程序设计方法利于程序的编写、阅读、修改和维护,减少了程序出错的概率,提高了程序的可靠性,保证了程序的质量,是程序设计发展史上的一个进步。下一页返回上一页3.1程序设计概述3.1.2N-S图简介比较流行的算法描述图是流程图,由流程图来描述算法,形象直观,简单方便,但是这种流程图对流程线的走向没有限制,在描述复杂算法时费时费力且不易阅读。随着结构化程序设计方法的出现,1973年美国学者Nassi和Shneiderman提出了一种新的描述程序的图形方式。这种图形方式完全去掉了流程线,算法的每一步都用一个矩形框描述,把一个个矩形框按执行的次序连接起来就是一个完整的算法描述图。这种流程图用两个学者名字的第一个英文字母命名,称为N−S图。N−S图由图3−1所示一些单元组成。上一页下一页返回3.1程序设计概述(1)顺序结构框:用图3−1(a)表示,A框和B框构成一个顺序结构,其中A框或B框内部也可以是一个顺序或其它结构。(2)选择结构框:用图3−1(b)表示,当p条件成立时执行A操作,否则执行B操作,图3−1(b)是一个整体,代表一个基本结构。它们是两种操作只执行其中的一种操作,执行该操作后将执行本选择结构的后继语句。上一页下一页返回3.1程序设计概述(3)循环结构框:当型循环结构如图3−1(c)所示,表示当p条件成立时,将反复执行循环体A操作,直到p条件不成立时为止。直到型循环结构如图3−1(d)所示,表示在p条件不成立时执行循环体A,直到p条件成立时退出循环。注意:直到型循环结构与C/C++语言中do~while语句的逻辑关系有所不同。上一页下一页返回3.1程序设计概述结构化程序设计方法的基本思想是:把一个复杂问题的求解过程分阶段进行,每个阶段处理的问题都控制在人们容易理解和处理的范围之内。概括地说,就是“自顶向下、逐步细化、模块化设计和结构化编码”。结构化程序设计的优点是结构清晰,层次分明,易于实现。随着程序设计的大型化和工厂化的需求,其缺点也越来越明显:首先是生产效率低下,其次是软件代码的重用性程度低,再次是软件的维护难度大等。针对结构化程序设计的缺点,人们又提出了面向对象的程序设计方法。尽管C++语言是面向对象的程序设计语言,但在一些具体程序中则还是面向过程的,通常采用结构化的程序设计方法,这也就是面向对象语言都讲授面向过程程序设计方法的原因。上一页下一页返回3.1程序设计概述3.1.3C++语句的分类句子是人们表达思想的基本单位,程序语句是计算机程序中的基本功能单元。程序中的任何一个语句都意味着完成一个任务而进行的某种处理动作。最简单的语句可能仅由一个和几个关键字构成,而复杂的语句可能由包含有若干个子语句,有时甚至可能由几行构成上一页下一页返回3.1程序设计概述C++程序由若干语句组成,这些语句可以分为四类:1.说明语句程序中所有由程序员给出的名字标识符,包括变量名、常量名、对象名、类名、类型名、函数名、参数名等都要在使用之前进行说明或定义。一般来讲,C++程序中的说明语句并不是单纯说明,也往往包含创建和初始化等工作。2.表达式语句表达式语句又称为处理语句。它是程序中要求计算机对数据进行处理或操作的语句。在一般语言中,有陈述句和祈使句。说明语句就是陈述句,表达式语句就是祈使句。上一页下一页返回3.1程序设计概述3.控制语句一般计算机完成的任务都复杂而多变,很少有程序可以按顺序完成一步、二步、三步,……就能达到目的的情况。控制语句就是在程序中用来控制语句执行次序的,它们是程序设计中不可缺少的语句。C++语言的控制语句如图3−2所示。4.复合语句和空语句若干语句由分隔符“{”和“}”括起来组成为一个语句,这种结构称之为复合语句。严格地说,复合语句并不是独立的一类语句,所以该语句又称为“语句块”或块语句。复合语句可以出现在程序的任何位置上,其中主要作为函数体、循环体、if语句的成分子句和switch语句的成分子句等。上一页返回3.2数据的输出、输入及顺序结构程序设计3.2.1数据的输出“<<”是预定义的插入操作符,作用在流类对象cout上便可以实现一般的屏幕输出。其格式为:cout<<表达式<<表达式<<…;在输出语句中,可以连续多个插入运算符,输出多个数据项。在插入操作符后面可以写复杂的表达式,系统会自动计算出表达式的值并将其输出。下一页返回3.2数据的输出、输入及顺序结构程序设计3.2.2数据的输入“>>”是预定义的提取操作符,一般的键盘输入是将提取操作符作用在流类对象cin上,其格式为:cin>>左值表达式>>左值表达式>>…;在输入语句中,提取操作符可以连续写多个,每个后面写一个表达式,该表达式通常是用于存放输入值的变量。在有些情况下,程序需要以八进制和十六进制数的形式输出。C++提供了简单的实现方法:只要在输出流中插入操纵符dec(十进制)、oct(八进制)或hex(十六进制)即可。上一页下一页返回3.2数据的输出、输入及顺序结构程序设计3.2.3简单的I/O格式控制在有些情况下,程序需要以八进制和十六进制数的形式输出。C++提供了简单的实现方法:只要在输出流中插入操纵符dec(十进制)、oct(八进制)或hex(十六进制)即可。C++提供了一些操纵符,可以直接嵌入到输入/输出语句中来控制I/O格式。在使用setprecision和setw操纵符时要在程序的头部包含iomanip.h头文件。表3−1列出了常用的I/O流类库的操纵符。C++提供的setw操纵符可以用于指定每个数值占用的宽度,即该数占用的最小位数。上一页下一页返回3.2数据的输出、输入及顺序结构程序设计3.2.4顺序结构程序设计顺序结构程序的执行顺序就是程序的书写顺序,是三种程序结构中最简单的程序结构。其程序书写的格式为:S1;S2;…;Sn;该程序的执行顺序是:S1,S2,…,Sn。尽管顺序结构的程序无“智能”可言,但是在任何程序的局部都有顺序结构程序的影子。说明语句、表达式语句等一般都是顺序结构,复合语句的内部一般也有顺序结构。上一页返回3.3选择控制语句3.3.1条件表达式C++语言提供了唯一的三目条件运算符“?:”,它和if~else语句的功能类似。条件表达式的一般格式是:e1?e2:e3e1?e2:e3的功能是:首先计算e1,其值为真则表达式的值是e2的值,否则是e3的值。也就是e2与e3中只有一个被执行,而不会是全部。e1的数据类型一般是整型、字符型或指针类型,结果的类型依赖于e2和e3的数据类型。条件运算符的优先级为3,结合性是从右至左。条件表达式的N−S流程如图3−3所示。下一页返回3.3选择控制语句3.3.2if~else语句1.if语句if语句是分支结构程序中的基本语句。if语句的一般格式为:if(Q)H;...if语句的N−S流程图如图3−4所示。其中Q是条件表达式,一般是关系表达式,也可是逻辑表达式。H是单个语句或是复合语句。if语句的功能是:如果条件表达式Q值为真(true),则执行语句H,若条件表达式Q的值为假(false),则转去执行本语句H的后继语句。下一页返回上一页3.3选择控制语句注意:(1)(Q)是条件表达式,其圆括号是必须要加的,它是if语句条件表达式的界限符。(2)其成分子句可以是单个语句或由大括号对括起来的复合语句。如果H是单个语句,其后的分号是必不可少的,以表示语句的结束;若H是复合语句,复合语句的成分子句之间必须用分号隔开,而封闭复合语句的右大括号后不许加入分号。(3)if语句可以嵌套,即一个分支又可以嵌入其他if语句,也就是一个if语句可以嵌套另一个if语句中。为了避免二义性,除了层次清楚之外,应该使用大括号对把嵌入的if语句括起来。上一页下一页返回3.3选择控制语句2.if~else语句if~else语句又称为双分支选择语句。if~else语句的格式如下所示:if(Q)H1成分子句elseH2成分子句式中,Q是条件表达式,H1和H2可以是单个语句,也可以是复合语句。if~else是关键字。if~else语句的功能是:如果条件表达式Q为真,则执行成分子句H1,否则执行成分子句H2,然后再执行本if~else语句的后继语句。if~else语句的N−S流程图如图3−5所示。上一页下一页返回3.3选择控制语句if~else语句应该注意:(1)if~else语句控制范围包括else后的成分子句,其后的分号表示控制范围的结束。(2)如果if的成分子句或else的成分子句是多个语句时,则要用大括号括起来构成复合语句,而右大括号表示成分子句范围的结束,其后不能加分号。(3)从if~else语句和if语句流程图可以看出,能用if~else语句完成的功能一般也能用if语句完成,原因是if语句的后继语句就相当于if~else后的成分子句。其实if语句是if~else语句的默认形式。上一页下一页返回3.3选择控制语句(4)if~else语句也可以像if语句一样进行嵌套,即任一分支都可以嵌入if~else语句或if语句。为了避免二义性,应尽量用大括号括起来构成复合语句。(5)if语句和if~else语句的条件表达式是一个简单变量时,常用如下两种简化形式:①if(x!=0)可以写成简化形式if(x);②if(x==0)可以写成简化形式if(!x)。对于①,如果x值为0,则表示条件为假,而x!=0也不能成立,也就是x等于0时,条件表达式为假;如果x值为非0,则表示条件为真,此时x!=0成立,也就是条件表达式为真;所以①简化形式是成立的。依此类推②。上述简化形式在程序中常被采用。上一页下一页返回3.3选择控制语句3.elseif结构elseif结构是分支嵌套的一种形式,它并不是C++语言中的一种语句。它常用于多分支处理。其常用结构如下所示。if(Q1)H1elseif(Q2)H2;elseif(Q3)H3;else...从上述示意可以看出,在多分支结构中,它仅执行条件表达式为真(true)的那个if的成分子句。若所有条件表达式都是假(false),则执行最后一个else的成分子句。其实最后一个else也可以不存在。上一页下一页返回3.3选择控制语句使用elseif结构编程时需要注意如下两点。(1)在使用多个if~else语句嵌套中,尤其是缺省大括号对封闭的情况下,要特别注意if和else的配对关系。C++语言编译程序规定:一个else总是和它前面离它最近的并且没有与其他else配对的那个if配对。在if和else的数目不相等时,要注意分清else与哪个if配对。(2)在书写elseif嵌套结构程序时,最好采用阶梯缩进形式,即else与其配对的if对齐,内层的较其外层的缩进去一些。这样书写使程序看起来清晰,易于找到配对关系和程序的对应层次。上一页下一页返回3.3选择控制语句3.3.3switch语句用elseif结构可以解决多分支选择的问题,但有时显得不太方便。在C++语言中提供了另一种多分支选择控制语句——switch()语句。这种多分支选择取决于一个整型常量表达式的特定值。switch()语句又称之为开关语句。其结构格式如下:switch(表达式){case常量表达式1:成分子句1;case常量表达式2:成分子句2;...上一页下一页返回3.3选择控制语句case常量表达式n:成分子句n;default:语句n+1;}其中switch、case和default是switch()语句的关键字,表达式是选择控制表达式,执行通常的算术转换,结果是整型常量或字符型常量。常量表达式1,…,常量表达式n是情况常量,通常是整型或字符型。成分子句1,成分子句2,…,成分子句n对应情况的成分子句,是一个语句序列。上一页下一页返回3.3选择控制语句每个语句序列的最后通常含有break语句(break语句将在后面予以介绍),它的功能是执行完该种情况后跳出switch()语句体,不再执行其后继语句。default是一个可默认的选择项,它表示上述各种情况都不是时而执行其后的语句序列。switch()语句的功能:先计算表达式的值,再与常量表达式i进行比较,如果其中一个常量表达式i等于表达式的值,就执行该情况后对应的语句;如果没有相匹配的常量表达式,而有default可选项,就转去执行default后面的语句序列;如果既没有相匹的情况常量,又无default,则不执行switch()语句中的成分子句,转到本switch()语句的后继语句去执行。上一页下一页返回3.3选择控制语句使用switch()语句需要注意:(1)各情况所对应的成分子句可以由多个语句组成,若子句前边有情况表达式,后边有break语句,则不必写成复合语句形式。(2)多分支选择的表达式与常量表达式i的数据类型必须一致,但对于整型与字符型来讲,允许它们之间直接进行比较,而不必进行转换。(3)case和default可以按任意顺序出现在switch()语句体中,但是每个case所包含的常量表达式不应该与其他常量表达式相同。上一页下一页返回3.3选择控制语句(4)应该在switch()的成分子句中使用break中断语句,使之从switch语句体中退出。(5)switch()语句中,允许多种情况执行相同的子句,并且允许将其成分子句写成默认形式,即将共同执行的成分子句写于最后一种情况之后。(6)如果在每个情况的成分子句部分都没给出break显式的控制转移,则在一个情况的成分子句执行后将继续执行后继的case或default后面的子句,这一点特别需要注意。上一页返回3.4循环控制语句在实际应用中常会遇到许多具有规律性的重复操作,因此,在程序设计中常常需要循环结构控制的语句。被重复执行的语句或复合语句称为循环体;每重复执行一次,都必须作出是否继续重复或停止的决定,这个决定所依据的条件称为循环控制条件或循环控制表达式,其中关键性的变量又称为循环控制变量。C++语言中提供了三种循环结构控制语句:while(),for()和do~while()。下一页返回3.4循环控制语句3.4.1while循环语句while()语句又称前判循环语句或while()循环语句。while()语句的一般形式如下:while(表达式)循环体语句;其中while是前判循环语句的关键字;表达式是循环控制条件表达式;循环体语句是循环语句的循环体。流程示意如图3−6所示。while()语句的执行过程是:先判断循环控制条件是否成立,若其值为真,则执行循环体语句序列,其值为假,则退出循环,执行while()语句的后继语句。上一页下一页返回3.4循环控制语句使用while()语句应注意:(1)循环控制条件表达式一定要用圆括号括起来,循环控制条件表达式一般是关系表达式或逻辑表达式。(2)循环体语句序列可以是单个语句,也可以是多个语句,若是多个语句时它们必须用大括号对括起来构成复合语句;每个语句末尾一定要有分号,而封闭复合语句的右大括号后不应有分号。(3)while()语句可以嵌套,即一个while()语句可以嵌入另一个while()语句或其他循环语句之内。C++语言对嵌套的深度没有限制。上一页下一页返回3.4循环控制语句(4)循环体一般必须有修改循环控制变量的操作,否则会使程序陷入死循环,这一点必须特别注意。(5)while()语句中的循环控制条件表达式等于0或不等于0时可以简化成如下形式:while(x==0)可简写作while(!x)while(x!=0)可简写作while(x)上一页下一页返回3.4循环控制语句3.4.2do~while循环语句C++语言提供的第二种循环结构控制语句是do~while()语句,也称后判循环结构控制语句。它和pascal语言中的until语句类似。do~while一般形式如下所示:do{循环体语句;}while(表达式);其中do和while是do~while()语句的关键字,它们不能单独作用。循环体语句是该循环语句的循环体,可以是单个语句或是复合语句。“while(表达式);”对循环实施控制,该表达式一定要用圆括号括起来,其后带有分号。其流程示意如图3−7所示。上一页下一页返回3.4循环控制语句循环语句应注意:(1)do~while()循环语句与前面所介绍的while()语句不同,它不是在执行循环体之前对循环控制表达式进行检测,而是先执行一次循环体之后再对其进行检测,以决定是否再次执行循环体,也就是说后判循环语句do~while()

不管循环控制表达式是否成立,至少要执行一次循环体。(2)和其他循环语句一样,后判断循环语句也可以嵌套。(3)循环体内一般要对循环控制变量进行修改,以防止造成不需要的死循环。上一页返回下一页3.4循环控制语句(4)do和while之间的循环体是单个语句时,可不用大括号括起来,如果是多个语句时要用大括号对括起来构成复合语句作为循环体。(5)“while(表达式)”后的分号是系统要求的,不可缺省。返回上一页下一页3.4循环控制语句3.4.3for循环语句在许多情况下,循环控制条件是有规律变化的。我们通常把控制循环变量的赋初值,循环控制条件表达式的判断,和对循环变量进行的修改放于循环的开头一行,C++语言提供了这种形式的for()语句。for()语句的一般格式是:for(表达式1;表达式2;表达式3)循环体语句;其中for是for()循环语句的关键字。下一页返回上一页3.4循环控制语句表达式1通常是赋值表达式,可以实现对多个变量(用逗号运算符分隔成逗号运算表达式)进行赋初值;表达式2是关系表达式或逻辑表达式,它在每次循环之前,用于对循环控制条件的检测,表达式2为真时执行循环体,否则退出循环,执行该循环语句的后继语句;表达式3是一般表达式,用于循环控制条件变量的修改,通常由增1或减1运算来实现。循环体语句是for()循环语句的循环体,可以是单个语句,也可以是复合语句。for()循环语句的流程示意如图3−8所示。上一页下一页返回3.4循环控制语句语句的执行过程:(1)先对表达式1进行计算,一般是赋值。(2)检测对表达式2,如果循环控制条件表达式值为真,则执行循环体,否则退出循环。(3)表达式3一般不在循环体内,在for后的括号内,每次执行完循环体就转入对表达式3的修改操作;接着对表达式2进行检测以决定是否继续进行循环。返回上一页下一页3.4循环控制语句对于for()

循环语句应注意:(1)for()循环语句完全可以和while()循环语句互相替换使用。其互换示意如下:用while()语句代替for()语句:用for()语句代替while()语句:表达式1循环控制变量设初值while(表达式2)for(…;表达式;…){语句;{语句;表达式3;修改循环控制度量;}}(2)for()语句圆括号内的表达式1,表达式2,表达式3均可以缺省,其间分隔符号分号是不可省略的,但缺省应以不造成无意义的死循环为前提。一般表达式3一定要修改循环控制变量,否则会造成不必要的死循环。返回上一页下一页3.4循环控制语句(3)for()语句中的表达式1和表达式3可以是多个表达式,其间用逗号运算符分隔开构成逗号表达式。(4)for()语句和while()语句一样,也可以嵌套,但是内层循环必须完全包含于外层之内,即不允许构成交叉。(5)C++语言对循环嵌套的深度没有限制,但循环嵌套较深时,需要从内层退出最外层时使用break语句显得很麻烦,可以采用goto语句来实现。上一页下一页返回3.4循环控制语句3.4.4循环的嵌套在一个循环体内包含另一个循环结构时称为循环的嵌套。内嵌的循环体中还可以嵌套循环结构,这就是多重循环嵌套。三种循环结构[while()循环、do~while()循环和for()循环]也可以互相嵌套。上一页下一页返回3.4循环控制语句3.4.5几种循环的比较while、do~while和for循环语句都可以用来编写循环程序,但是它们有如下的一些差异:(1)用whie和do~while循环语句组织循环结构时,循环控制变量的初始化操作应该在whie和do~while循环语句之前进行,而for循环语句则可以在表达式1中实现循环控制变量的初始化。(2)while和do~while循环结构中,都是在循环体中包含对循环控制变量的修改操作,而for循环语句则不然。for循环可以在表达式3中进行循环控制变量的修改操作,甚至可以将循环体中的操作全部放在表达式3中。可以这样说:凡是while循环语句能完成的,用for循环语句也能完成。上一页下一页返回3.4循环控制语句(3)while循环语句、do~while循环语句和for循环语句可以用break语句退出循环,用continue语句结束本轮循环进入下一轮次的循环。(4)while和for循环语句是前判循环语句,而do~while是后判循环语句,前者在某些程序中可能循环体一次都不执行,而后者必须执行一次循环体。(5)for循环语句程序转换为while、do~while循环语句的程序一般是:for循环程序:whlie循环程序:do~while循环程序:for(e1;e2;e3)e1;e1{while(e2)do循环体{循环体{循环体e3;e3;}}}while(e2);while、do~while和for循环语句程序之间的转换也可以依照上述方法进行。上一页下一页返回3.4循环控制语句3.4.6循环结构程序设计举例循环程序设计是程序设计中的一个重要组成部分,下面通过举例讲授循环程序设计的技术及其技巧。上一页返回3.5其他控制语句顺序结构、选择结构和循环结构语句。用这三类语句就可以进行结构化程序设计,但在循环嵌套较深时,怎样从循环体内非正常或正常退出呢?这就需要一些其他控制语句以实现其退出要求。它们就是将要介绍的break语句、cntinue语句和goto语句等。下一页返回3.5其他控制语句3.5.1break语句break语句是一种具有特殊功能的无条件转移语句。它的一般形式是:break;其中,break是关键字,其后的分号是系统要求的。break语句的功能是:对于循环结构,若循环体内含有break语句,且这个break语句被执行,则它的控制流程从循环体内转移出来,即中断未执行完的循环程序。对于switch()开关语句,则是从分情况转移出来,执行switch()语句的后继语句。上一页下一页返回3.5其他控制语句break语句在循环体内时一般是选择语句的成分子句,以决定是否中断循环;在switch()语句中,break语句一般是在分情况对应语句序列的末尾,以中断switch()语句其他分情况对应语句序列的执行。我们知道循环语句的控制流程在正常情况下,都是通过检测循环控制表达式来决定是否继续进行循环。而break语句在这三种循环语句中的作用如图3−9所示:while()for(…;…;…)do{…{…{……break;…break;…break;}}}while(…);上一页下一页返回3.5其他控制语句3.5.2continue语句continue语句又称为继续语句。其一般形式是:continue;其中,continue是其关键字,后边的分号是系统要求的。继续语句也是一种具有特殊功能的无条件转移语句。continue语句功能是:使循环体内的控制流程转移到包含它的while()、for()、do~while()语句的下个循环周期,并根据循环控制表达式的值决定是否再进行循环,也就是说,在循环语句的循环体中,如果执行到continue语句,则跳过循环体中位于continue语句下边的其他语句,把流程转移到下一轮循环周期。上一页下一页返回3.5其他控制语句continue语句在三种循环语句中的作用如图3−15所示:while()for(…;…;…)do{…{…{……continue;…continue;…continue;………}}}while(…);图3−15continue语句在三种循环语句中的作用具体地说,在while()、do~while()循环语句中,continue语句使控制流程转移到进行下一轮循环控制表达式的判别;而在for()循环语句中,则转到表达式3的计算,然后判别循环控制表达式2,以决定是否继续进行循环。上一页下一页返回3.5其他控制语句注意:break语句的功能是结束包含它的那一层循环,而continue语句则是跳过本周期循环的“continue;”语句下面的语句,转去判别是否进行下一个周期的循环。break语句可作用于循环体内,也可以作用于多分支选择switch()语句的对应情况的成

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论