高级语言程序设计课件

上传人:磨石 文档编号:242980999 上传时间:2024-09-13 格式:PPT 页数:274 大小:409KB
返回 下载 相关 举报
高级语言程序设计课件_第1页
第1页 / 共274页
高级语言程序设计课件_第2页
第2页 / 共274页
高级语言程序设计课件_第3页
第3页 / 共274页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,目 录,第一章 概述,第二章 基本数据类型,第三章 基本结构程序设计,第四章 数组,第五章 函数,第六章 结构体与共用体,第七章 指针,第八章 文件,基础知识(有关概念),一、计算机系统,由硬件系统和软件系统组成,它们是相辅相成,缺一不可的。没有软件控制,硬件系统是一堆费铁,而没有硬件平台支撑的软件,则一事无成。,二、软件,软件是与计算机系统的操作有关的计算机程序、规程、规则,以及可能有的文件、文档及数据。(不能认为软件就是程序,程序只是完整软件产品的一部分),三、程序,程序是为完成某一特定功能,由编程人员指定的、控制计算机按顺序执行一系列动作的、计算机能够识别的指令集合体。,四、程序设计语言,用于书写计算机程序所使用的语言称为程序设计语言。它是由人工设计的语言,是人与计算机之间交互的工具。,程序设计语言按照书写形式以及思维方式的不同,一般分为低级语言和高级语言两大类,低级语言包括机器语言和汇编语言。,1、机器语言,是以二进制代码形式(0和1)表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。,特点:运算速度快,缺点:机器语言随计算机机型的不同而不同,难阅读、难查错、难修改。,2、汇编语言,用一组字母、数字或字符来代替机器指令的语言称为汇编语言。与机器语言相比,使用汇编语言编写程序可以用注记符来表示指令的操作码和操作对象,也可以用标号和符号来代替地址。,特点:便于识别和记忆,执行效率较高。,缺点,:,(1)计算机不能直接执行,必须通过“翻译”程序 汇编程序的帮助,才能转换成相应的机器可执行代码,才能被执行。,(2)不同CPU的指令系统其相应的汇编语言不同。(对机器有依赖性),3、高级语言,是一种接近人们熟悉、习惯的自然语言和数学语言描述的程序设计语言。程序中可以采用具有一定含义的数据命名和容易理解的执行语句。这些语句易学、易用、易维护,且在一定程度上与机器无关,给编程带来了极大的方便。,优点:编程效率高,方便易用。,缺点:执行速度没有低级语言高,因为计算机硬件不能直接识别高级语言中的语句,需要先“翻译”,再执行。,五、机器数及表示方法,计算机中的数是用二进制来表示的,数的符号也是用二进制来表示的(1代表负数;0代表正数)。,机器数:把一个数连同其符号在内在机器中的表示加以数值化,这样的数称为机器数。,机器数的表示方法:,计算机中通常使用补码的形式来表示一个数。(因为补码运算可以连同符号位一起参与运算,这便于运算器的设计与实现),六、字符表示法,计算机系统可以识别及处理的字符在机器中必须用二进制数来表示。常采用ASCII码(美国信息交换标准代码)来表示。这种代码用一个字节(8位二进制码)来表示一个字符,其中第7位为字符的ASCII码值,最高位一般用作校验位。,第 1 章 概述,1.1 C语言简介,C语言是一种流行的计算机,高级程序设计语言,,它设计精巧,功能齐全,不仅是开发系统软件的理想工具,也是开发应用软件的理想程序设计语言。,C语言能够在多种操作系统下运行。,1.2 C语言的特点,C语言之所以能成为应用很广的计算机高级程序设计语言之一,是因为它有以下特点:,1、语言短小精悍,基本组成部分紧凑、简洁。 C语言只有32个标准关键字、42个标准运算符和9种控制语句,语言的组成精练、简洁,而且使用方便灵活。,2、运算符丰富,表达能力强。C语言具有“高级语言”和“低级语言的双重特点” ,其运算符包含的内容广泛,所生成的表达式简练、灵活,有利于提高编译效率和目标代码的质量。,3、数据类型丰富,结构化好。 C语言提供了编写结构化程序所需要的各种数据类型和控制结构,这些丰富的数据类型和控制结构以及以函数调用为主的程序设计风格, 保证了利用C语言所编写的程序能够具有良好的结构化。,4、提供了某些接近汇编语言的功能,有利于编写系统软件。这些功能包括:可以直接访问物理地址,并能进行二进制位运算等。,5、C程序所生成的目标代码质量高,C程序所生成的目标代码的效率仅比用汇编语言描述同一个问题低20%左右,C语言描述问题直观、快捷、工作量小、可读性好、易于调试、修改和移植。因此,C语言编写的程序执行效率高。,6、C程序的可移植性好,在C语言提供的语句中,没有直接依赖与硬件的语句和与硬件有关的操作。因此,用C程序编写的程序能够很容易地从一种计算机环境移植到另一种计算机环境中。,弱点:,1、运算符的优先级太多不易记忆,且与日常习惯不完全一致。,2、由于语言的语法限制不太严格,在增加了程序设计灵活性的同时,在一定程度上也降低了某些安全性。(这对程序设计人员提出了更高的要求),1.3 C语言程序结构和书写风格,用C语言编写的程序,称为C语言源程序,简称C程序。,任何一种计算机语言,与人类自然语言一样,都有特定的语法规则和特定的表现形式。用一种计算机语言所编写的程序,其,书写格式和程序结构的构成规则,,就是该种语言特点的具体体现。,1.3.1 简单C程序介绍,程序1:编写一个C程序,程序功能为在标准输出设备(显示器)上显示字符串 “ welcome to use C ”。,#include ,main(),printf(“ welcome to use C n”) ;,程序2:计算两个整数之和并显示其结果,#include ,main( ),int x , y , sum ;,x = 32 ;,y = 67 ;,sum = x + y ;,printf(“%d + %d = %d ”, x , y, sum) ;,显示结果为:32+67=99,程序3:用函数调用法求任意两个整数中的较大者。,#include ,main( ), int a , b , c ;,scanf(“%d%d” , ,c=max(a ,b);,printf(“max = %d”, c);,int max(int x , int y), int z ;,if(xy) z=x ;,else z=y ;,return z ;,1.3.2 C 程序结构,从前述例子,可总结C程序结构的特点,(1)C程序可以由一个或多个函数构成,但任何一个完整的C程序都必须包含一个且只能包含一个主函数(main函数)。在程序中,无论main函数在何位置,执行程序时总是从main函数开始执行,且在主函数中结束整个程序的执行,即主函数的结束就是整个程序的结束。,(2)函数是程序的基本单位,一个程序功能的实现需通过各个函数的功能来实现,而函数的功能是通过函数之间的相互调用来实现。程序中所使用的函数可以是系统提供的标准库函数,也可以是用户根据需要自定义的函数。,(3)一个函数是由函数首部和函数体构成,,函数首部,包括函数名、函数类型和函数参数等。,函数体,是用左右花括号括起来的部分,它包括局部变量的定义和一组执行语句。函数的功能就是由函数体中的语句完成的。C程序中用到的所有变量都必须遵循“先定义后使用”的原则,每一个执行语句必须由“;”(分号)结束。,(4)在函数之外还可以包含一个说明部分,称为外部说明,它可以包括预编译命令、外部变量的说明等。,(5)在程序中可以加入注释,格式为 /* 注释内容 */,注释为非执行语句,它对程序的编译和执行结果无任何影响,使用的目的是增强程序的可读性。,1.3.3 C 程序的书写风格,(1)为了提高程序的可读性,建议使用“锯齿形”的书写方式,即根据语句的从属关系,以缩进书写的形式来体现语句的层次关系。即在语句之前加上适当的空格字符,使处于同一层次的语句从同一列开始书写;,(2)建议一行只写一个语句(C 允许在一行内写多个语句);,(3)用小写字母书写程序,大写字母一般用作符号常量或其它用途;,(4)标识符(变量名、函数名等)的定义应尽量做到“见名知意”;,(5)适当地增加注释,以增强程序的可读性。,1.4 C 程序的编辑、编译和运行,从编写一个源程序到在计算机上得到运行结果,基本步骤有编辑、编译和运行,每一步的大致含义是:,(1)编辑(输入/修改源程序的过程),即指用某种编辑软件,将C语言源程序输入到计算机中,并以文件的形式存入到磁盘中。经过编辑后得到的文件都是以.C为文件扩展名(类型名),称为C源文件。(ASCII码组成的文件,其中的代码机器不能识别),(2)编译(检查程序中语法错误并生成目标代码的过程),即指对编辑的源文件进行编译(翻译)以产生目标代码文件(将高级语言源程序翻译成机器代码)。编译的过程同时也是检查源程序中各语句是否存在,语法错误,的过程,当排除了源程序中的所有的语法错误后,可得到相应的目标文件,目标文件以 .OBJ 为文件类型名。,(3)连接 (将生成的目标代码与库函数等连接的过程),经过编译后的目标文件是不能直接运行的,需要经过连接后才能生成可执行代码(可执行文件),可执行文件是以 .EXE 为文件类型名。,(4) 运行(运算程序结果的过程),通过运行以上得到的可执行文件可获得程序运行结果。若程序中存在,逻辑错误,,系统将给予提示,此时需对程序进行相应修改,再重复(2)(4)步。,程序运行示例:两个整数相加,上机主要步骤:输入源程序 保存源程序 编译源程序 连接目标代码 运行程序,第 2 章 基本数据类型,任何一种语言都有相应的语法规则,而语法规则是由语言的基本元素构成。C 语言包含以下基本元素。,2.1 标识符和关键字,2.1.1 标识符,C 程序中的每一个变量、数组、函数和文件都必须有一个唯一的名称用于系统识别和使用,该名称被称为标识符。(标识符是一个名字,用来标识变量、常量、数组、函数和文件的名字),标识符的定义规则:,(1)一个标识符只能由字母数字和下划线构成,且第一个字符必须是英文字母或下划线。标识符是由用户根据实际问题的需要自己定义的;,(2)在定义标识符时,大、小写字母是有区别的,习惯上,标识符用小写字母表示;,(3)标识符的长度要求随不同的编译系同而不同,一般最好不要超过八个字符;,(4)在定义时,除保证合法性外,最好做到“见名知意”,以提高程序的可读性。,2.1.2 关键字,关键字是一类具有特定含义,专门用作语言的特定成分的标识符。在程序设计中常处于特定的位置,不能当作一般的标识符来使用。,在使用关键字时要注意,关键字都是小写的,且书写时不能跨行书写。,2.2 C 语言的数据类型,2.2.1 数据类型概念,算法处理的对象是数据,数据就是程序中实际数值。数据是以某种特定的形式存在的(如整数、实数、字符等形式)。根据数据的取值范围、可参加的运算以及在计算机中的存储方式等,可以把数据分为各种不同的类型。,2.2.2 程序的概念,一个程序应包含以下两方面的内容:,(1)对数据的描述:即在程序中要指定所使用数据的数据类型和数据的组织形式,即描述数据结构;,(2)对操作的描述:即对数据的操作步骤的描述,亦即算法描述。 即:程序 = 数据结构 + 算法,2.2.3 C 语言的数据类型,类型表见书,C 语言中,数据按照其用途有常量和变量之分,它们均属于所列出的类型。在程序中,对所有用到的数据都必须指定其数据类型,这将关系到数据的正确存储、数据的正确运算等。,2.3 常量及常量分类,2.3.1 有关常量的概念,1、什么是常量?在程序运行过程中,其值不能被改变的量。,2、常量的表示方法:直接常量和符号常量,直接常量:在程序中直接出现的常数,例 20,-5,3.14等。其特点是,无需定义,可直接使用;,符号常量:用一个标识符来代表一个常量(该标识符用大写字母表示),在定义了标识符以后,它在程序运行过程中恒代表常量的值。其特点是:需要定义标识符以及它所代表的值,在程序中使用标识符。,3、常量的类型,即为在程序中存在的类型。例在语句 lenth = 2*3.14*r; 中,2为整型常量;3.14为实型常量。,4、常量的特点,对于符号常量而言,它一旦被定义,其值在程序中不能被改变,即不能被再赋值。,提示:在程序中应尽量使用符号常量,其好处是,(1)含义清楚:在一个规范的程序中不提倡使用更多的直接常量,过多的常数将导致其含义的混乱,而应该尽量使用“见名知意”的变量名和符号常量;,(2)在需要改变一个常量的值时能做到“一改全改”。,例:#define PRICE 30,main( ), int num ,total ;,num = 10 ;,total = num* PRICE ;,printf(“total=%d”, total);,2.3.2 常量的分类,1、整型常量,即通常使用的整常数,在 C 语言中有三种表示方法:十进制、八进制和十六进制。亦即,这三种表示方法的常数可出现在 C 表达式中。,2、实型常量,即通常使用的小数,有两种表示方法:十进制表示法和指数表示法。前者使用普遍,后者主要用于表示高精度小数。,3、字符型常量,即为一个 C 语言系统能够识别的单字符,其表示方法为用,一对单引号,括起来的一个,单字符,。字符型常量有两种:,(1)作为字符处理的字符常量(例 A、+、# 、9等),特点:此类常量表现形式为字符,但它们在存储时是按字符在机内的编码值(ASCII码值)存储的,因此,在 C 语言中:,字符常量可以参与数值运算,可以把一个字符常量赋给某个字符变量或整型变量(一个字符常量可视为一个字节的整数),(2)起控制作用的特殊字符(转义字符)(例 n、t 等),特点:此类常量用于作为,控制代码,和,输出特殊字符,。(在程序中不能像可显示字符一样直接表示字符),控制代码:,例 n 表示回车; t 表示跳格等;,特殊字符:,输出在语言中有特定含义的字符,例单引号( )、双引号(“ ”)、反斜线()等。,4、字符串常量,字符串常量是由0个或多个字符构成的字符序列。字符串的表示是用,一对双引号,括起来的,字符序列,。,有关字符串的概念:,空串:由零个字符构成的字符串,表示方法为 “”。,字符串长度:字符串中双引号内字符的个数。,字符串常量的存储:在 C 语言中,是用字符数组来存储字符串的,数组中的每一个元素存放一个字符。为了保证字符串存取的正确性,在存储字符串时,系统将自动地在字符串的最后加上一个 “空字符” (0),用来表示字符串的结束(该字符不可显示,亦不产生任何控制作用故称空操作符)。,所以,用来存储字符串的存储单元应该比字符串长度至少多一个字节,,,用以存放 0 字符。所以,a 和 “a” 有两点不同:表示和存储。,字符常量与字符串常量的区别:表示方法不同;存储方式不同,不能把一个字符串赋给一个字符变量。,字符串常量的使用:可由两种方式实现,一是直接使用本身;二是通过对字符数组元素的引用。,举例:,直接使用例,输出指定字符串 How do you do ! :,printf(“ How do you do !”) ;,字符数组元素引用例-,输出指定字符串 How do you do ! :,定义字符数组 char a20 = “How do you do !”;,输出:for ( i = 0 ; i14 ; i+),printf(“ %c” , a i ) ;,2.4 变量及变量分类,2.4.1 有关概念,1、什么是变量?,指在程序运行过程中其值可以被改变的量。在 C 语言中,一个变量具有三个方面的含义:一是变量的名字;二是变量的存储单元地址;三是变量的值。,2、变量的定义,由于变量在程序中可代表各种类型的数据,而不同类型的数据又有着不同的存储方式和相应的运算规则,因而,,在程序中用到的所有变量都必须在使用之前进行定义,未定义的变量是不能使用的。,定义变量的一般形式是:,数据类型说明符 变量名 / 变量名表;,其中:,“ 说明符 ” 表示被定义的变量为何种类型,系统将根据该类型为其分配相应的内存单元;,“ 变量名 ”是一个合法的标识符,程序中对变量的访问,均是通过变量名进行的。,变量先定义后使用的目的是:,(1)保证变量名使用的正确性,未定义的变量编译系统将不接受,因而不可能用到未经定义的变量;,(2)保证变量存储的正确性,不同类型的变量将占用不同数量的存储单元,有了存储的正确性,才会有访问的正确性;,(3)保证变量运算的合法性,不同类型的变量可进行的运算有所不同,类型的确定将可以避免某些非法运算。,2.4.2 变量的分类,1、整型变量,整型变量是用来存放整型数据(整型常量 )的。根据整型数据不同的数据长度及其相应的取值范围,可将整型变量分为多种类型。,(见教材),2、实型变量,实型变量是用来存放实型数据(实型常量 )的。(分类见教材),3、字符型变量,字符型变量是用来存放字符型数据(字符常量 )的,一个字符变量可以存放一个,单字符,(字符型数据)。,字符型变量使用注意:,(1)由于字符型变量只能存放一个字符,所以不能将一个字符串赋给一个字符变量;赋给字符变量的值,只能是,用单引号括起来的单字符或者与字符相应的 ASCII 码。,(2)字符型数据的存储和使用,存储:一个字符型变量获得值后,其存储单元中存放的是字符对应的 ASCII 码(整数),而非字符本身。一个字符型变量在内存中占一个字节。,例: char a ; ( 定义字符型变量 a),a = B; (将字符 B 赋给变量 a ),此时变量 a 中存放的是整数 66(二进制),而非字符 B本身。,使用:由于字符型变量的值实际是一个整数,所以字符型数据与整型数据之间存在一定的通用性,具体体现在:,在输出字符型数据时,可以以两种方式输出-整数形式(字符的ASCII 码)和字符形式( ASCII 码对应的字符),不同的形式由不同的数据格式来决定;,字符型数据和整型数据可以相互赋值并进行混合运算,但要注意这两种数据的取值范围是不同的(即要注意变量的类型和赋值的合法性)。,例:大小写字母的转换,main( ), char c1, c2 ; 运行结果为:,c1 = a ; 65 , 66,c2 = b ; A , B,c1 = c1-32 ;,c2 = c2-32 ;,printf(“%d , %dn ” , c1 ,c2);,printf(“%c , %cn ” , c1 ,c2);,2.5,运算符和表达式,基本概念,1、运算符:是一种对所给的运算对象(操作数)进行何种运算的符号。,根据参与运算的操作数的个数不同,C 运算符可分为三类:,(1)单目运算符-仅有一个操作数参与运算(!、+、- 等),(2)双目运算符-两个操作数参与运算(+、-、| 等),(3)三目运算符-三个操作数参与运算(? : 唯一一个),2、表达式:用运算符(包括圆括号)将运算对象连接起来,符合 C 语法规则的式子称为表达式。,表达式是可以求解和运算的,是构成 C 语句的重要组成部分。,3、运算符的优先级和结合性,对同一个表达式,不同的运算起点和运算顺序将导致不同的运算结果。,优先级:一个表达式中若有多种运算(多个运算符),则计算是有先后顺序的,这种运算的先后顺序称为相应运算符的优先级(用小括号可以人为地改变运算符的优先级)。,结合性:当一个运算对象(操作数)的两侧的运算符的优先级别相同时,进行运算的结合方向称为运算符的结合性。一般分为左结合(自左向右)和右结合(自右向左)。,例:a + b * c / d e,3+5 b)的结果为逻辑值0(“假”),而 (ab&ay&c,结果: 1 0 1 1 0,( 7)逻辑运算的真值表(用于进行逻辑运算),掌握两个原则:,对于运算符&(逻辑与):只有两个量均为“真”时,其结果才为“真”,其它均为“假”,对于运算符 | |(逻辑或) :只有两个量均为“假”时,其结果才为“假”,其它均为“真”,(8)使用说明,C语言在求解逻辑表达式的值时,采用“非完全求解”法,即并非表达式中所有的逻辑运算符所表达的运算都被执行,而是在必须执行某逻辑运算所表达的运算才可能求出整个表达式的值时,才执行该运算规定的操作。,例:a&b&c (a、b、c只要有一为假,则结果为假),a|b|c (a、b、c只要有一为真,则结果为真),例、判断以下程序的运行结果(逻辑表达式的非完全求解),main(), int a=3,b=6,c=8,d=2,n=2,m;,m=(ab),printf(“n=%d”,n);,运行结果:n=2,3.3.3 条件语句,条件语句是用来实现选择结构的,有两种不同形式的条件语句。,1、单分支条件语句,一般形式:if(表达式) 语句,其中:“表达式” 一般为关系表达式或逻辑表达式,也可以是任意的数值类型(包括整型、实型、字符型等),它描述了进行选择的条件,其值为非零表示“真”,为零表示“假”,根据该条件的“真”与“假”选择执行不同的语句;,“语句”为 if 语句的“内嵌语句”,它可以是任一个合法的简单语句,也可以是一个复合语句。若为简单语句,语句必须以分号结束。,执行过程: (参考教材),2、双分支条件语句 (参看教材),条件语句使用说明:,(1)双分支条件语句中的“语句1”和“语句2”之后的分号不能少;,(2)else子句只能与 if 配对使用,不能单独使用。,例1:从键盘任意输入一个字母,若是小写字母,则转换成相应的大写字母进行输出,否则输出原字母。,#include “stdio.h”,main(), char ch;,printf(“Enter a character”);,scanf(“%c”,if(,ch=a & ch=ch=90) grade=A;,else if (score=80) grade=B;,else if (score=60) grade=C;,else grade=D;,printf(“score=%d,grade=%cn”,score,grade);,2、第二种形式的嵌套语句,一般形式: if ( 表达式1 ),if ( 表达式2 ) 语句1;,else 语句2;,else,if ( 表达式3) 语句3;,else 语句4;,语句特点:,语句的结构是在 if-else (双分支)语句中 if 子句(或/和) else 子句中的“内嵌语句”为 if-else 语句。,嵌套的 if 语句 使用说明:,(1)该类语句在 if-else 的配对形式上容易产生语义二义性问题,故在书写程序时要注意层次性,即将各级嵌套的语句排列写成“锯齿形”格式,以助于程序的阅读和理解;,(2)在使用该类语句时,要注意if-else的配对关系,配对不同,语句的执行效果将不同。C语言规定:无论书写格式如何, else 总是与它最近的且又未配对的 if 配对。,例:从键盘输入一个整数,当该整数在1100之间时,不足50增加10;50以上增加5;在101200之间增加1。,#include “stdio.h”,main(), int x,m;,scanf(“%d”,if(x0&x=100),if(x100&xb) ? a : b (求出a、b的较大者),y=x10 ? -x : +x,4、使用说明,(1)在应用中通常是将条件表达式的值赋给一个变量,构成一个赋值语句。由于条件运算符优先于赋值运算符,因此先求解条件表达式,再将其值赋给变量。,(2)条件表达式不能取代一般的 if-else 语句,只有在if-else语句的“内嵌语句”均为赋值语句且两个分支都为同一个变量赋值时才有等价性。,例:if(xy) z=x; 可写成:z=xy ? x: y,else z=y;,()条件运算符允许嵌套使用,例:y=x0 ? 1 : x0 ? 1 : (x=90) ? A: (score=80) ? B :,score=70) ? C :(score=60) ? D:E,3.3.6switch语句,switch 语句用来实现多分支选择结构。,、一般形式:(,参看教材),其中:“表达式”通常是一个,整型,或,字符型,表达式,“break”语句的功能为“无条件跳出switch语句”,、执行过程:,(,参看教材),使用例(教材),、使用说明,(1) 各“常量表达式”的值必须各不相同,否则出现矛盾;,(2) default部分可以省略,此时若无相等的表达式值则什么都不执行而直接退出语句的执行,继续其后的语句;,(3) 各 case 和 default 的次序不影响程序的运行结果;,(4) 多个case 可共用一组执行语句;,(5) 当语句序列中的语句多于一个时,无需使用复合语句。,例:某商场给予顾客购物折扣率如下:,购物金额购物金额=200元9折,1000元购物金额=500元 8折,购物金额1000元 7.5折,编程:根据购物金额算出,实际付款金额,。(用 if 嵌套和 switch语句完成),#include “stdio.h” /* 用 if 语句实现 */,main(), float s,t;,printf(“input amount:”);,scanf(“%f”,if(s200) t=1.0;,else if(s500) t=0.9;,else if(s1000) t=0.8;,else t=0.75;,printf(“应付:.2f,折扣率: .2f ,实付:.2fn ”,s,t,s*t);,用switch语句实现,#include “stdio.h” /* 用switch语句实现 */,main(), float s,t;,printf(“input amount:”);,scanf(“%f”,switch(int)(s/100), case 0:,case 1: t=1.0; break;,case 2:,case 3:,case 4: t=0.9; break;,c
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 方案规范


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!