欢迎来到得力文库 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
得力文库 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    最新c语言基础知识.docx

    • 资源ID:34717087       资源大小:151.97KB        全文页数:69页
    • 资源格式: DOCX        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

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

    最新c语言基础知识.docx

    Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-datec语言基础知识c语言基础知识C语言期末复习之基础知识篇-杨士帅一 C语言概述Ø 程序:一组计算机能够识别和执行的指令。指令的有序的集合。Ø 计算机语言:人和计算机交流信息,计算机和人都能识别的语言Ø C语言的注释:/单行注释/*/多行注释。Ø C语言的结构:1. 由一个或多个源程序文件组成。2. 函数是C程序的基本单位。3. 一个C程序至少含有一个main函数,也可以由一个main函数和若干个其他函数组成。4. C的这些特点容易实现程序的模块化。5. C程序总是从main函数开始执行,而且不论main函数的位置如何。Ø 每个语句和数据的定义后面必须有一个括号。Ø C语言本身没有输入输出函数,输入输出操作是库函数scanf和printf提供的。二 数据的类型和运算(一) 常量:在程序运行的过程中,其值不能被改变。1. 整型常量:1000.2. 实型常量:0.34,12.34e3.3. 字符常量:a,n.4. 字符串常量:“boy”。5. 符号常量:#define PI 3.1416(二) 变量:在程序运行期间,变量的值是可以改变的。1. 变量必须先定义后使用。2. 刚定义尚未赋值的变量具有随机值。3. 定义变量要同时定义名字和类型。4. 变量名和变量值是两个不同的概念。i. 变量名实际是以这个名字代表一个内存地址。ii. 变量值就是该内存单元当前存储的值。(三) 标识符:一个对象的名字。1. 只能由字母,数字和下划线三种字符组成,而且第一个字符必需为字母或下划线。2. 标识符的长度无限制,但不能以关键字作为标识符。3. 不合法的标识符:M.D.John,#33,3D64,Include。(四) 数据类型:就是对数据分配储存单元的安排,包括储存单元的长度以及数据的存储形式。数据类型宽度Char1BShort int 2BInt4BLong int4BFloat4BDouble8BLong double80B整数的默认时signed,各整数类型均可加修饰符unsigned表示无符号整数类型,unsigned int可以简写成unsigned.1. 整型:Ø 一个十进制数是0到9的序列。Ø 十六进制应该加前缀0x。如:0xfa,0xAE03Ø 八进制应该加前缀0.如:030.Ø 使用科学记数法,e/E的后面绝对不能在跟小数,且E/e的前面必须有值。2. 字符型:Ø 用单引号括起来的单个字符。如:a,0.实际上存储的是该数据的ASCII码。所以也可以把他们看成是整型量,C语言容许对整型变量赋以字符型,也允许对字符变量赋以整形值。3. 转义字符:转义字符含义bBackspacetTabn换行r回车”双引号单引号反斜杠4. 字符串:Ø C语言中并没有字符串类型,用字符数组来处理字符串。Ø 字符串是由一对双引号括起来的字符数列。Ø 字符串常量和字符常量的区别:Ø 字符常量由单引号括起来,字符串常量由双引号括起来。Ø 字符常量只能是单个字符,字符串常量则可以是一个或多个字符。Ø 字符常量占一个字节的内存空间,字符串所占的内存空间常量等于字符串中的字符数加一。增加的一个字节中存放字符0.Ø ASCII为0,这是字符串结束的标志。Ø Ex:Ø a在内存中占一个字节,“a”在内存中占2个字节。5. 符号常量:Ø 在C语言中,可以用一个标识符来表示一个常量,称之为符号常量。符号常量在使用之前必须先定义:#define 标识符常量名 常量值Ø #define是一条预处理命令,称为宏定义命令,其功能是把该标识符定义为其后的常量值。习惯上常量的标识符用大写字母,而变量名用小写字母。(五) 运算符:1. 算术运算符:Ø 整数除法:两个整数相除的结果为整数。Ex:5/3=1,舍去小数部分。-5/3=-1,向零取整。Ø 浮点除法:保证除数和被除数中至少有一个是浮点数。Ex:5/4.0=1.25.Ø %模运算要求运算元为整数,结果也是整数。Ex:5%3=2.Ø C语言没有乘方运算,但pow函数可以实现乘方运算。pow(x,y)x的y次方。#include<math.h>.算数运算符的优先级与结合性:先乘除后加减,从左至右。Ø 不同类型数据的混合运算:类型的自动转换,编译系统会自动把各操作系统操纵数转化为操作数中最长的类型。EX:若int型与float或double型数据进行运算时,系统会自动把int与float型数据转化为double型,然后在进行运算,结果时double型。2. 自加自减运算符:Ø i+,i-:在使用i之后将i的值加/减1.Ø +I,-i:在使用i之前,先将i的值加/减1.3. 强制类型转换:(double)a将a转化为double类型。短类型->长类型 安全长类型->短类型 有可能会丢失数据。4. 运算符的优先级:1,()、(结构体成员运算符)、(指向结构体成员运算符) 2,单目运算符 !(非)、(自减)、(自加)、(按位取反) 、正号(+)、负号(-)3,算术运算符 *、 %、 /,+、-4,关系运算符 <、 >、 >=、 <=, =、!= 5,逻辑运算符 &&和| 6,赋值运算符 = 7,逗号运算符 (表达式1),(表达式2),(表达式3) 还有就是左右运算顺序 a+b +为双目运算符, (a>b)?a:b 中? :为3目运算符 !a 为单目运算符. 单目,三目运算符都为自右向左结合,双目运算符除赋值运算符都为自左向右结合5. 关系运算符:>,<,>=,<=,=,!=.用来比较两个操作数之间的关系,运算结果为1或0.6. 逻辑运算符:!,&&,|。用来实现逻辑运算和逻辑判断。用非0表示逻辑值的true,用0表示逻辑值的false。7. 条件运算符:三目运算符:表达式a?表达式b:表达式c若表达式的值非0,则返回表达式b的值;若表达式的a的值为0,则返回表达式c的值。8. 逗号运算符:用来将若干独立的表达式分隔并连接构成一个逗号表达式。9. 赋值运算符:变量=表达式。右结合性。三 输入输出函数(一) 控制台I/O:程序与外界交流。(二) C语言中所有的I/O都是由库函数完成的,要用#include将相关头文件包含在源文件当中。使用标准输入输出函数时要用到stdio.h文件。(三) 格式输出函数:printf(“格式控制字符串”,表达式列表)。格式字符意义d,i以带符号的十进制输出整数o以八进制形式输出无符号整数(不带前缀0)X,x以十六进制的无符号数输出整数(不带前缀0x)u以无符号的十进制形式输出整数f以小数的形式输出单,双精度实数,隐含6位小数E,e以指数的形式输出单,双精度实数G,g以%f或%e中较短的输出宽度输出单、双精度实数c输出单个字符s输出字符串格式修饰符:¡ %-m.nlf,%-mld字符说明l用于输出长整形数据以及double型数据m数据显示的最小宽度n对实数,表示输出n位小数。对字符串,表示截取的字符个数。-输出的数字或字符在显示宽度区域内左对齐。Ø 未指定输出宽度m,则按实际位数输出。Ø 未指定小数位数,默认6位。Ø 宽度计算中小数点要占一位。Ø 若数据实际宽度比制定宽度要小,默认右对齐,即左补空格。有修饰符-,则左对齐,即右补空格。Ø 若数据的实际宽度比指定宽度大,则按实际宽度输出。<4>格式输入函数:用户用指定的格式从盘上把数据输入到指定的变量中。scanf(“格式控制字符”,变量地址列表);Ø 在scanf语句的格式字符串中,如果没有非格式字符在“%d%d%d”之间做输入时的间隔,在输入时要用一个或一个以上的空格或回车或TAB键作为输入数据之间的间隔。Ø scanf函数中的格式控制后面应当是变量地址,而不是变量名。Ø 不能用格式控制来规定输入数据的精度。¡ : scanf("%7.2f",&a); × scanf("%f", &a); Ø 如果输入在格式控制字符串中除了格式字符还有其它字符,那么在输入时这些字符将被作为间隔符,要输入相同的字符。Ø scanf(“a=%d,b=%d",&a,&b)a=12,b=34在输入数据时遇到以下情况,则认为是一个数据输入的结束:遇到空格键,回车键,tab键。满足域宽,如%4d,输入4位结束。遇到非法字符。Ø 在输入字符型数据时,若格式控制字符中没有非格式字符,则认为所有输入的字符均为有效字符。¡ 如: scanf("%c%c%c",&a,&b,&c);l 只有当输入为:def 时(即:不能有间隔),才能把d赋于a,e赋予b,'f'赋予c。四 流程控制(一) 顺序:Ø 按语句的先后顺序依次执行。Ø 复合语句:可用括起来的多个语句,构成一个复合语句。在C语言中复合语句被认为是一条语句。(二) 分支:if语句:实现两个分支的选择结构。最常用的3种if语句的形式:1. if (表达式) 语句1 (没有else子句)2. if (表达式) 语句1 else 语句2 (有else子句)3. if(表达式) 语句 else if(表达式) 语句 else if(表达式) 语句 else if(表达式) 语句 else 语句m+1IF嵌套:在if语句中又包含一个或多个if语句称为if语句的嵌套。else总是与它上面最近的为配对的if配对。if( ) if( ) 语句1 else 语句2 else if( ) 语句3 else 语句4 Switch语句:实现多分支的选择结构。根据表达式的值,使流程跳转到不同的语句。switch语句的一般格式:switch(表达式) case 常量1 :语句1 case 常量2 :语句2 case 常量n :语句n default : 语句n+1switch语句中表达式和常量可以是整形以及字符型。任何两个case后面的常量不可有相同的值。先计算表达式的值,在根据表达式的值转向不同的分支。每个case分支的语句无需用括起来。每个case分支都是入口点。break语句时转移语句,即跳出switch,无break语句,将执行入口点之后的所有语句。(三) 循环:Ø While(表达式) 语句先判断循环条件表达式的值,若为真,则执行循环体;若为假则不执行循环体语句。Ø do循环体语句whilie(表达式)先无条件执行一次循环体,然后在判断循环条件是否成立。Ø For(表达式1;表达式2;表达式3)循环体语句。表达式1:为循环变量设置初始值。表达式2:判断是否继续循环。表达式3:修改循环变量的值。循环嵌套:一个循环体内又包含另一个完整的循环结构,称之为循环嵌套。内层循环中还可以嵌套循环,这就是多层循环。3种循环可以互相嵌套。三种循环的比较:Ø 一般情况下,三种循环可以互相代替。Ø 循环中应包含使循环趋于结束的语句。Ø 用while和dowhile循环变量操作应在while和dowhile之前完成。而for语句可以在表达式1中实现循环变量的初始化。Ø Break:从循环体中强行退出,结束整个循环。Ø Continue:停止本次循环,直接开始下次循环。五 函数使用角度来看函数包括库函数和用户自定义函数。库函数:由C系统提供,用户无须定义,也不必在程序中作类型说明,只需在程序中包含有该函数的头文件即可在程序中直接调用。用户自定义函数:用户按照需要自己编写的函数。从函数形式来看:函数分为无参数函数和有参数函数。无参数函数:无参数函数一般用来执行一组操作。无参数函数可以带回或不带回函数值。有参数函数:在调用函数时,主调函数要通过参数向被调函数传递数据。函数可以带回或者不带回函数值。一般情况下,被调函数会返回一个函数值,供主函数使用。一个C程序由一个或多个程序模块组成,每一个程序模块作为一个源程序文件。对较大的程序,一般不希望将所有的内容都放在一个文件中,而是将它们分别放在若干个源文件当中,由若干个源文件组成一个C程序。一个源程序文件由一个或多个函数及其他相关语句组成。一个源程序文件是一个编译的单位,在程序进行编译是以源程序文件为单位进行编译的,而不死以函数为单位进行编译的。C程序的执行是从main函数开始的,如果在main函数的执行过程中调用其他函数,调用函数结束后流程返回到main函数,main函数结束时整个程序运行结束。所有函数都是平行和平等的,即在定义函数时是分别进行的,互相独立的,一个函数并不从属于另一个函数,即函数不能嵌套定义。函数间可以互相调用,但不能调用main函数,main函数是被操作系统所调用。定义函数:C语言要求在程序中遇到的所有函数,必须先定义后使用。函数的定义指明了函数名,函数返回值类型,函数实现的功能以及参数的个数与类型,将这些信息通知给编译系统。函数定义格式:类型名 函数名(形式参数表列)函数体类型说明了函数返回值的类型,它可以是任何有效类型,如果省略,默认为int。参数列表使用逗号分割变量表,各变量表由类型和变量名组成,参数列表可以为空,表示无参,但此括号不能省略,不管定义还是声明时,每个函数参数必须同时含有类型和参数名。空函数:中类容为空,调用函数,什么也不做,目的时方便以后对功能的扩充,而不会影响程序的结构。函数的返回:return 表达式。用途:使得本函数立即退出,返回到调用语句的地方,返回一个值。函数可以用两种方法停止运行并返回到调用它的地方:执行到函数最后一个语句。遇到return语句,函数的返回值是靠return语句获得的。如果不希望函数有返回值,将函数类型声明为void。除了类型为void函数外,其他函数均有返回值,该值由return语句决定,如果没有return语句函数将返回一个不确定的值。如果函数没有指明函数返回值的类型,默认为int。当函数的返回值不是整型时,应该:明确说明函数的类型。函数声明位于第一次调用之前。参数传递:C语言中的函数调用传递参数是按值传送。如果实参的修改通过形参带回主调函数,用指针。用数组作为函数参数时,就把数组的地址传给了参数。函数的作用域:每个函数都是一个独立的代码块,一个函数的代码属于该函数专有。一个代码块中定义的变量成为局部变量,局部变量随代码块的产生而产生,随代码块的退出而消亡。函数的形参也是局部变量。在任何一个函数之外定义的变量成为全局变量,可以被任何一个函数访问,修改。在函数内部用存储类型符static说明变量不随函数的运行,退出而产生,消亡。但仍然只能在函数内部访问它。如果全局变量和局部变量同名,局部变量屏蔽全局变量。函数的嵌套调用:C语言容许在一个在一个函数的定义中出现对另一个函数的调用。这样就出现了函数的嵌套调用。即在被调函数中又调用其他函数。六 数组数组是一组有序数据的集合,下标代表了数据在数组中的序号。用数组名和下标唯一确定数组中的元素。数组中每一个元素都必须属于同一个数据类型。一维数组的定义:类型 数组名 常量表达式数组名的命名规则与变量命名规则相同,数组也必须先定义后使用。数组类型实际上是数组元素的取值类型。对于同一数组,其所有元素的数据类型都是相同的。数组民是用户定义的标识符,不能与其他变量名相同。定义数组时,方括号必须是一个常量表达式,表示数据的元素个数,也称为数组长度。可以是符号常量或常量表达式,但不能时变量。一维数组的使用:使用数组就是使用他的元素。数组的元素和普通变量一样,只不过是名字有些特殊。数组元素的一般表示形式:数组名下标序号使用数组时,数组下标可以是常量,变量和表达式,从0开始。一维数组的初始化:Int a10=0,1,2,3,4,5,6,7,8,9;可以只给部分元素赋值,当中元素少于元素个数时,系统自动给前面元素赋值,其余元素自动赋0。Int a10=1,2,3,4,5;只能给逐个元素赋值,而不能给数组整体赋值。¡ 给十个元素全部赋3,只能写为:int a10=3,3,3,3,3,3,3,3,3,3;¡ 而不能写为:int a10=3; 在定义数组时,若要给全部元素赋值,可以省略数组元素的长度。¡ 如: int a5=1,2,3,4,5;¡ 可写为: int a=1,2,3,4,5;二维数组的定义:类型 变量名 常量表达式1 常量表达式2二位数组的使用:数组名 下标1下标2数组中元素顺序:C语言中,二维数组是按行储存的。l int a34a00a01a02a03a10a11a12a13a20a21a22a23二维数组的初始化:Int a53= =80,75,92, 61,65,71, 59,63,70, 85,87,90, 76,77,85;如对全部元素赋值,行下表可以省略,但列下表不能省略。 int a33=1,2,3,4,5,6,7,8,9; 可以写为: int a3=1,2,3,4,5,6,7,8,9;字符数组:char c10;字符数组的初始化:如果初始值小于数组长度,则将这些字符赋给数组中前面的那些元素,其余元素自动定位空字符。字符0作为字符串的结束标志。字符串处理函数:输入字符串到字符数组。scanf(”%s”,字符数组名);gets(字符数组名);l char st20; gets(st); scanf(“%s”, st);把字符数组中存放的字符串输出:¡ printf(“%s”, 字符数组名)¡ puts(字符数组名)l char st20=”China”; puts(st); printf(“%s”, st); #include<string.h>stract(字符串1,字符串2)把字符串2链接到字符串1后面。Strcpy(字符串1,字符串2)把字符串2的内容拷贝的字符串1(覆盖)strcmp(字符串1,字符串2)按照ASCII码顺序比较两个字符串,返回比较结果。字符串1=字符串2,返回值=0;字符串1>字符串2,返回值>0;字符串1<字符串2,返回值<0;Strlen(字符串)返回字符串中包含的字符个数(不包括结束标志0)Strlwr(字符串)将大写字母转化成小写字母。strupr(字符串)将小写字母转换成大写字母。AZ:41H-50Haz:61H-70H七 结构体定义结构体的类型:struct 结构体名成员列表=类型名+变量名;结构体可以嵌套引用,即一个结构体的定义中可以引用其他结构体类型。struct Date int month; int day; int year; ;struct Stu int num;char name20; char sex;int age; struct Date birthday; char addr30; ;结构体类型与结构体变量是不同的概念,相当于变量类型和变量。只能对变量赋值,存取或运算,而不能对一个类型赋值,存取或运算。在编译时,对类型是不分配空间的,只对变量分配空间。定义结构体类型的变量:1. 先声明结构体类型,再定义该类型变量struct studentint num;char name20;char sex; int age;float score; char addr30; ;struct student stu1 , stu2;2. 在声明类型的同时定义变量struct Student int num; char name20; char sex; int age; float score; char addr30; student1,student2;3. 不指定类型名而直接定义结构体类型变量l 其格式为: struct 成员表列 变量名表列; 结构体变量的初始化:Struct dateInt month;Int day;Int year;Struct date birthday=10,22,83;使用结构体变量:只能通过成员运算符引用结构体变量的各个成员,一般不能对结构体变量整体使用。¡ 结构体变量名.成员名 ¡ 如:stu1.numbirthday.year如果成员本身又是一个结构体类型,则要用若干个成员运算符,一级一级找到最低一级的成员。¡ 如:stu2.birthday.day对结构体变量的成员可以像普通变量一样进行各种运算。stu1.num+;类型定义在前,不分配内存,变量定义后,给变量分配一段连续的内存单元。结构体成员名可与程序中的其他变量同名,二者占不同的内存单元互不干扰。结构体数组:就是数组中的每一个元素都是一个结构体类型的变量。struct Personchar name20; int num; teacher3=“Li”,1,“Zhang”,2,“Sun”,3;指向结构体变量的指针:指向结构体对象的指针变量既可以指向结构体变量,也可以用来指向结构体数组中的元素。指向结构图变量的指针,其类型必须与结构体变量类型相同。 struct Student *p; 为了使用方便和直观,C语言允许把(*p).num用p->num来代替。结构体变量做函数参数:用结构体变量的成员作参数:例如,用stu1.num或stu2.name作函数实参,将实参值传给形参用结构体变量做参数:用结构体变量做实参时,将结构体变量所占的内存单元的内容全部按顺序传给形参,形参也必须是同类型的结构体变量。用指向结构体变量:指针做实参,将结构体变量的地址传给形参。八 指针内存单元的地址称之为指针。变量A中存放变量B的地址,称A是B的指针,即A指向B.定义指针变量:Type *nametype可以时C语言中的任何一种类型。指针运算符:&一元运算符,返回变量的内存地址。*一元运算符,返回指针所指向变量的值。指针指向变量:Int a;Int *p;P=&a;指针赋值:与其他变量一样,指针变量也可以出现在赋值语句中,将一个指针变量的值赋给另一个指针变量。指针运算:+和-Int *p,当前p的值为2000,由于整型数占4个字节,p+的值将变成2004,p-值将变为1996.p每递增一次就指向下一个整形数,递减时也一样。指针比较:int *p=10,*q=20; if(p<q)l 比较的是两个指针所指向的内存地址的大小指针与数组:指针与数组是紧密相连的。一个变量有地址,一个数组包含若干个元素,每个元素都有相应地址,指针变量可以指向数组元素。Int a10;数组名a其实就是一个地址值,记录的数组开始的地址,即a0地址。通过指针引用数组元素:() 下标法,如ai形式 () 指针法,如*(a+i)或*(p+i)指针数组:指针可以像任何数据类型一样构成数组。Int *x10定义的是一个包含10个整型指针的数组。Ex:要将变量a的地址给数组中的第三个元素。l x2=&a;l a的值为:*x2多级间指指向指针的指针可以构造一个指针指向另一个指针,后者指向目标值。指针的初值:指针可以看作是一种特殊的变量类型,没有赋值的指针是一个随机值,而指针的指向错误会带来严重的错误。给一个指针赋初值null,将使这个指针为空,即哪也不指。动态内存分配:变量都是非静态的局部变量,系统将它们分配在内存中动态存储区中,这个存储区称之为栈区。C语言还允许用户建立自己的内存动态分配区,以存放一些临时用的数据,这些数据需要时可随时开辟内存空间,不需要时可随时释放内存空间。这些数据是临时存放在一个特别的自由存储区,称为堆区动态内存分配由库函数实现:malloc,calloc,realloc,free。包含在头文件#include<stdlib.h>中。Mallocvoid *malloc(unsigned int size);其作用时内存的动态存储区中分配一个长度为size的连续空间。函数的返回值为所分配区域的第一个字节的地址,或者说,此函数是一个指针型函数,返回值的指针指向该分配域的开头位置。malloc(100);¡ 开辟一个100字节的临时内存分配区,函数值为其第1个字节的地址l 注意:函数返回的指针的基类型是void,即不指向任何类型的数据,只提供一个地址l 如果此函数执行失败(如:内存空间不足),则函数返回空指针(NULL)Callocl 其函数原型为: void *calloc(unsigned n,unsigned size); 其作用实在内存中动态存储区连续分配n个长度为size的连续空间,这个空间一般比较大,足以保存一个数组。函数返回值指向所分配域起始位置的指针,如果分配不成功,返回NULLP=calloc(50,4);开辟50X4个字节的临时分配域,把起始位置赋给变量p。Freel 其函数原型为: void free(void *p); 其作用时释放变量p所指向的动态空间,使这部分空间释放后就能重新被其他变量所使用。p是调用calloc和malloc函数得到的返回值。free函数无返回值。Rellocl 其函数原型为:void *realloc(void *p,unsigned int size);对于已经用calloc或malloc分配好的内存空间,若想改变其大小,可以用realloc重新分配。realloc函数将p所指向的动态空间大小改变为size,若成功返回值为p,若分配不成功返回值为NULL。-

    注意事项

    本文(最新c语言基础知识.docx)为本站会员(1595****071)主动上传,得力文库 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知得力文库 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

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




    关于得利文库 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

    © 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

    黑龙江省互联网违法和不良信息举报
    举报电话:0468-3380021 邮箱:hgswwxb@163.com  

    收起
    展开