第二章 数据类型运算符表达式_第1页
第二章 数据类型运算符表达式_第2页
第二章 数据类型运算符表达式_第3页
第二章 数据类型运算符表达式_第4页
第二章 数据类型运算符表达式_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

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

文档简介

程序的基本结构

变量与数据类型

定义变量和赋初值

变量赋值运算符与表达式数据的输入输出

本章小结第二章基本数据类型及运算本章要点(1)程序的基本结构(2)程序说明部分(3)预编译命令(4)主函数(5)变量与数据类型(6)运算符与表达式(7)数据的输入输出2.1程序的基本结构任务2.1王小二同学是一个聪明的孩子,他到超市去买东西看到电子计价算帐很方便快捷,就想编程模拟操作一下。

程序清单1.程序说明部分 程序注释以“//”开头,如果一行中有“//”,则此行在“//”以后的部分均为注释。2.预编译命令 以“#”开头,本程序中的预编译命令

#include<stdio.h>意思是将程序库中的输入输出流文件,作为头文件加入到本程序中。2.1程序的基本结构3.主函数 主函数是以main()为标识,每个程序都必须有此标识。

main()前的void表示主函数没有返回值。

void:空类型 主函数的函数体由一对大括号{}括起。

{和}必须配对,即有一个{,必须有对应的}。 声明部分:用于定义变量及变量赋初值。 执行部分:程序的主要部分,应该添加必须的注释。 声明部分必须在执行部分之前,不声明者,不能执行。2.2变量与数据类型1.数据类型、运算符与表达式

数据类型:数据存在的组织和形式。程序中用到的所有数据都必须指定其数据类型。

运算符:一些具有事先规定的运算功能的特定的符号。 这里的运算功能可以是算术运算(加减乘除)、逻辑运算(与或非)或比较运算(大于小于等于),等等。 C语言共有34种运算符。

表达式:按照运算符的性质,用运算符把数据连接起来以

达到数据运算目的而构成的式子。 写表达式的最终目的是要进行计算它求出它的值。求解表达式的过程是由计算机完成的,因此,要想得到正确的结果,就必须写出正确的表达式。2.常量

直接常量:1,2,3;0.1,10.0;‘a’,‘1’;“hello”

常变量:C++中,可以使用const

关键字定义常变量程序运行期间,值不能被改变的量称为常量使用常变量的好处是:从标识符名可以清楚地看出该常量的含义,做到“见名知意”在需要修改常量的值时可以做到“一改全改”,容易调整3.变量C允许把值存放在变量中,每个变量都由一个变量名来标识。程序运行期间,经过操作其值可以被改变的量称为变量每个变量都必须有一个变量类型。每个变量根据它的类型不同,在内存中占据一定数目的字节单元,该变量的值就存放在这些内存单元中。123prod变量名

prod实际上是一个符号地址变量prod

所占据的内存单元123是变量

prod的变量值内存单元的地址内存单元的内容在对程序编译时由系统给每一个变量按其类型分配内存单元,同时,系统内部维护着变量名和它的内存单元地址的对应信息。变量就是命名的内存单元变量的命名规定合法的C变量名:area,sum,answer,month,name,Name,Step1,step2,number_of_student,average_score,_class1C语言中,变量(标识符)的命名规定:只能由大小写字母、下划线和数字组成;开头的第一个字符只能是大小写字母或下划线;大小写是敏感的;不能与C的关键字重复;名字在整个程序中必须是唯一的;名字的长度不能超过系统的规定。非法的C变量名:3rd_entry(数字开头)all$done (包含非法字符$)theend (包含空格)

int (系统关键字)避免使用无意义的名字,应尽量做到“见名知意”;尽量使用代表变量实际含义的英文单词或缩写作标识符名;当名字包含多个单词时,通常使每个单词的首字母大写;以下划线开头的名字通常是系统内部保留的标识符名;在整个程序中保持统一的命名方式。变量的命名习惯C语言中,变量(标识符)的命名习惯:好的C变量名:CircleArea,TotalScore,UserSelection,choice,StudentNumber,AverageScore,SampleFrequency不是很好的C变量名:a,aa (不知何意)

numberofstudent

(全部小写难以辨认)

total

totals(名字太相似)变量的定义和使用变量定义具有三个目的:⑴定义变量名;⑵定义变量类型;⑶向程序员描述该变量。C语言中,变量必须“先定义,后使用”intradius;/*theradiusofcircle*/关键字int

告诉编译系统我要定义一个整型变量,用它来保存一个整型的数值。这是变量的名字。以后的程序中就用这个名字来访问这个变量。注释用来解释这个变量,它是给程序员的信息。对程序主要的变量作注释是很好的习惯。#include<stdio.h>intmain(){inta,b,sum;a=123;b=456;sum=a+b;

printf(“sum=%d\n”,sim);return(0);}变量的定义和使用变量“先定义,后使用”的好处是:C只允许使用定义过的变量。凡是未被事先定义的符号,不作为变量名。这样可以检查出程序中错误使用的变量名。此处定义的变量名是sum

。此处由于输入错误或其它原因,出现了名字为sim

的符号。由于该符号在这之前从未定义过,所以在编译时,便会出现错误信息。Error:Undefinedsymbol'sim'变量的定义和使用intage;/*theageofstudent*/floatscore;/*thescoreofstudent*/floataverage;/*theaverageofscore*/longnumber;/*thenumberofstudent*/doubledistance;/*betweenearth&moon*/charUserSelection;/*keyuserhit*/变量定义的一般格式是:typename;/*comment*/

类型名字;

/*注释*/系统将根据变量的定义为其分配相应大小的内存单元。4.C的数据类型C的数据类型基本类型构造类型整型单精度型双精度型数组类型结构体类型实型共用体类型指针类型字符型枚举类型空类型(1)整型整数类型,它分为下面4种short整型:占用2字节,数的表示范围为-32768-32767unsignedshort无符号整型:占用2字节,数的表示范围为0-65535int

整型:占用4字节,数的表示范围为-231—231-1Unsignedint无符号长整型:占用4字节,数的表示范围为0—232-1整型常量十进制整型常量:如123,-456,0

八进制整型常量:以数字“0”开头的整型常量如0123,即(0123)8

,等于(83)10

-011,即(-011)8

,等于(-9)10八进制整型常量中不应出现“7”以上的数码。如0128,0209都是非法的八进制整型常量。整型常量即整常数。C中有下面三种形式的整型常量:

十六进制整型常量:以“0x”开头的整型常量如0xFF,即(0xFF)16

,等于(255)10

-0x11,即(-0x11)16

,等于(-17)10

十六进制整型常量中不应出现“F”以上的数码。C语言中没有二进制整型常量,用十六进制整型常量表示二进制整数(2)实型实数类型,它分为下面3种Float浮点型:占用4字节,数的表示范围:

-3.4×10-38—3.4×1038,有效位为7位。Double双精度型:占用8字节,数的表示范围:

-1.7×10-308—1.7×10308,有效位为15位。Longdouble长双精度型,占用10字节,数的表示范围:-2.4×10-4932—1.1×104932,有效位为19位。实型常量

十进制小数形式:由数字和小数点组成。(小数点必须有)如10.23,-0.456,78.0,0.0,89.

指数形式:±sE±n

或±se±n

形式。注意:E或e前面必须有数字,后面的指数必须为整数。如218.3=218.3E0=2183E-1=0.02183E+4实数又叫“浮点数”。实数常量有两种表示形式:指数形式的实型常量,有“规范化指数形式”,即在字母E或e之前的小数部分中,小数点左边必须有且只有一位非零的数字。如218.3=2.183E+2;

0.00218.3=2.183E-3程序以指数形式输出实数,就是以“规范化指数形式”输出(3)字符型char字符型:占用1字节,

C语言中,字符型也可被当成整型使用,只是数的表示范围为-128—127字符型常量比如:‘a’,‘A’,‘d’,‘D’,‘?’,‘%’,‘$’,‘2’,‘4’注意:‘a’和‘A’,‘d’和‘D’都是不同的字符常量。C的字符常量是用单引号(‘)括起来的一个字符。另外:C语言还存在另一种形式的特殊的字符常量。它是用单引号括起来的以一个“\”字符开头的规定的字符序列。“\”字符叫反斜杠字符。这种特殊的字符常量称为“转义字符”。字符串常量比如:“a”,“”,“Hello,world”,“9811113”,“LCS”?C的字符串常量是用双引号(“)括起来的若干个字符。◆字符串常量在内存中占用连续的字节单元,每个字符按顺序占一个字节。C语言规定:自动在每一个字符串常量的结尾加一个“字符串结束标志字符”,以便系统据此判断字符串是否结束。一个字符串常量中包含的字符个数是不确定的。那么,系统在处理字符串常量时如何知道何处结束呢?字符串结束标志字符◆‘\0’是ASCII码为0的字符,即位于字符表中的第一个NUL字符。它是一个“空操作字符”,就是说,它既不引起任何控制动作,也不产生任何显示。C的字符串结束标志字符是

‘\0’

。◆因此,C的字符串常量在内存中占用的字节数等于可见字符数加上1,即结束标志字符占用的一个字节。“HELLO”HELLO\0字符串结束标志字符也是一个字符,也要占用一个字节。总共占用6个字节5个可见字符‘A’和“A”的区别◆由于C语言对每一个字符串常量均在其末尾自动添加一个字符串结束标志字符‘\0’,因此:

‘A’

占一个字节单元

“A”

占两个字节单元,包括‘A’和‘\0’两个字符◆不能把一个字符串常量赋值给一个字符变量。如charc1=“A”;是错误的。?为什么是错误的。原因1:“A”

占两个字节单元,而字符变量c1只有一个字节,所以无法赋值;原因2:真正的原因。C语言实际上把字符串处理成字符指针,把一个指针赋值给一个字符变量当然是错误的。2.3定义变量和赋值1.定义变量:一般在主函数main()的声明部分中给出对变量的类型和精度提出合适的要求,指出它们的数据类型,目的:为变量分配内存单元并赋初值。例:定义变量名为a的整型变量,程序可写成:

inta=30;系统会根据这个精度要求,安排2个字节的内存单元存放a变量的值,见下图。这里a是这个内存单元的符号地址。◆当一次定义多个变量时,不能用连续=号的方式对多个变量进行初始化变量赋初值一个变量在定义之后,第一次赋值之前,它的值是不确定的。

在赋初值前,不能让其参与运算,否则会得到不可预知的结果。

对变量进行定义的同时给变量赋初值,称为初始化,

◆在定义变量的同时进行初始化◆当一次定义多个变量时,可以对其全部或部分进行初始化如:intTotalStudent=40;等价于:intTotalStudent;TotalStudent=40;如:intTotalStudent=40,TotalScore=0,average;如:intTotalScore=AverScore=0;是错误的。正确的应该是:intTotalScore=0,AverScore=0;2.变量赋值2.1.赋值运算符◆赋值运算符(双目)运算符:=作用:将一个数据赋给变量用法:<变量>=<表达式>;例如:PI=3.14159; //将表达式的值3.14159赋给变量C=sin(PI/4); //将表达式π/4的正弦函数值赋给变量C2变量赋值2.2.变量赋值的5要素(1)变量必须先定义再使用(2)在变量定义时就赋初值,是好的编程习惯(3)对变量的赋值过程是“覆盖”过程,所谓“覆盖”是在变量地址单元中用新值去替换旧值。(4)读出变量的值后,该变量保持不变,相当于从中拷贝一份出来(5)参与表达式运算的所有变量都保持原来的值不变2变量赋值2.3.变量赋值示例inta=0,b=0,c=0;//声明a,b,c为整型变量,

//均初始化为0a=7; //a赋值为7,覆盖了原来的0b=a; //b赋值为a,a中的值覆盖了b中的值c=a+b; //将a+b的值赋给c,a+b的值为14 //去覆盖c中的0,a与b保持7不变a=a+1; //将a+1的值赋给a,a+1的值为9 //覆盖了原来的72变量赋值a的地址单元b的地址单元c的地址单元初始化000执行a=7700执行b=a770执行c=a+b7714执行a=a+1871412.4运算符与表达式(1)算术运算(2)关系运算(3)逻辑运算(4)赋值运算2.4.1

算术运算1.双目运算加 a+b10+5=15减 a-b10-5=5乘 a*b10*5=50除 a/b30/4=7; 30.0/4=7.5取余a%b 14%3=2; 25%8=12.单目运算自增 a++或++a 等效于 a=a+1;自减 a--或--a等效于a=a-1;取负 -a注意:单目运算的“前置”和“后置”的区别“前置”变量先增值(或先减值),后被引用“后置”变量先被引用,后再增值(或后减值)2单目运算符◆自增、自减运算符(单目)运算符:++自增--自减作用:使变量的值加1或减1后赋给此变量用法:<变量>++<变量>--

注意:此运算符一般用于循环变量的控制 不要将此运算符用于复杂的表达式中,以免出现歧义例:推荐用法:

inta=0; //定义a为整型,并赋值为0 a++; //将a的值由0变为1不推荐用法:

printf(“%d\n”,1+a++); //读此程序者无法直接理解此表达式的目的和执行结果2.4.2关系运算关系运算符和关系表达式> 大于< 小于>= 大于等于<= 小于等于== 等于!= 不等于2.4.2关系运算#include<stdio.h>voidmain(){

int

b,c; //整型变量

b=3;c=2; //对变量赋值

printf(“3>2是%d\n”,b>c); printf(“3>=2是%d\n”,b>=c); printf(“3==2是%d\n”,b==c); printf(“3<2是%d\n”,b<c); printf(“3<=2是%d\n”,b<=c); printf(“3!=2是%d\n”,b!=c);}2.4.2关系运算输出结果是:

3>2是1 说明 3>2 是真

3>=2是1 3>=2 是真

3==2是0 3==2 是假

3<2是0 3<2 是假

3<=2是0 3<=2 是假

3!=2是1 3!=2 是真2.4.3逻辑运算三种逻辑运算:逻辑与 a&&b逻辑或 a||b逻辑非 !a同样,逻辑真为非零,逻辑假为零。2.4.3逻辑运算1、逻辑与,运算符为&&

如图电路A——表示开关A合上;B——表示开关B合上;A&&B——表示灯亮;

A B A&&B

1 1 1

1 0 0

0 1 0

0 0 01表示真,0表示假,这是逻辑变量的取值,非真即假2.4.3逻辑运算2、逻辑或,运算符为||

如图电路A——表示开关A合上;B——表示开关B合上;A||B——表示灯亮; A B A||B

1 1 1

1 0 1

0 1 1

0 0 01表示真,0表示假2.4.3逻辑运算3、逻辑非,运算符为!关系和逻辑运算用于比较两个数间特定关系的一种运算。常用于C的控制结构中。关系和逻辑构成复合的逻辑关系。例如:判断闰年的表达式为((year%4==0)&&(year%100!=0))||(year%400==0)2.4.4赋值运算◆赋值运算符(双目)运算符:=优先级:只比逗号运算符级别高,位于整个运算符优先级表的倒数第二位;低于算术运算符。结合性:右结合性作用:将一个数据赋给变量如:num=40常量40赋值给变量num如:aver=total/num表达式total/num的值赋给aver如:temp=aver变量aver的值赋给temp复合赋值运算符◆复合赋值运算符(双目)在原有的赋值运算符=之前再加上其它运算符,即构成复合赋值运算符。其它运算符包括5种算术运算符和5种位运算符。运算符:

+=-=*=/=%=&=^=|=<<=>>=a+=3相当于a=a+3x%=y+8相当于x%=(y+8)x=x%(y+8)不相当于x=x%y+8赋值表达式◆用赋值运算符把一个变量和一个表达式连接起来的式子。一般形式:变量=表达式如:num=40常量40赋值给变量num如:aver=total/num表达式total/num的值赋给aver如:temp=aver变量aver的值赋给temp注意:赋值表达式的左边只能是变量,而右边可以是常量、变量或任何合法的C表达式。10=xx+y=1#include<stdio.h>voidmain(){inta,b,c,d;/*inta=b=c=10;*/

a=b=c=10;printf(“a=%d,b=%d,c=%d\n”,a,b,c);

d=(a=3)*(b=b+1)=c;d=(a=3)*(b=b+1)-c;printf(“a=%d,b=%d,c=%d,d=%d\n”,a,b,c,d);}赋值表达式:例是错误的。因为当一次定义多个变量时,不能用连续=号的方式给多个变量赋同一初值.是正确的。因为这是一个赋值表达式。因式分解的结果就相当于:

a=(b=(c=10))

是错误的。因为=号左边只能是变量。是正确的。2.6数据的输入输出(1)字符输出(2)字符输入(3)格式输出(4)格式输入(5)使用cin和cout进行数据输入和输出输入输出的概念及在C语言中的实现输入是指从外部设备(如键盘,扫描仪,文件等)向计算机主机送入数据;输出是从计算机主机向外部设备(如显示器,打印机,文件等)送出数据。

C语言本身没有输入输出语句。要实现这些操作,必须调用相应的系统库函数。比如printf函数用于输出,scanf函数用于输入,等等。不同版本的C语言(C编译器)均带有不同数量不同用途的系统库函数,以.obj文件或

.lib文件的形式提供,供用户与自己的.obj文件链接以形成.exe的可执行文件。注意:这些系统库函数名并非C语言的关键字。C语言中的头文件要想正确成功的调用C系统库函数,就必须在源程序文件开头用预编译命令“#include”将有关的“头文件”包括进来。如:要想调用系统输出库函数printf,在源程序文件开头必须有如下预编译命令#include<stdio.h>

C语言中的头文件(headerfile)是指后缀名习惯为“.h”的一些文本文件。在头文件中,包含有关系统库函数的原型、有关系统全局变量的声明、有关系统符号常量的宏定义、有关数据类型的定义等等信息。其中,系统库函数的原型就告诉编译系统该函数的名称、返回值类型、形参数量及类型等信息,这样编译系统才能正确编译,否则会给出出错信息。C语言中的头文件stdio.h头文件中包含了与标准I/O操作有关的系统库函数的声明,所以调用如printf、scanf等标准输入输出函数时,必须在源程序文件中包含该头文件。否则,编译时会给出错误信息如下:Function‘printf’shouldhaveaprototype

函数‘printf’应该有一个原型提示:要想知道某个版本的C语言提供哪些系统库函数以及各种库函数所对应的头文件的名称,必须参考该版本C语言的系统库函数手册或联机帮助。库函数类别头文件名库函数类别头文件名标准输入输出stdio.h字符串处理string.h数学math.h图形处理graphics.h字符处理ctype.h2.6.1字符输出函数putchar原型:intputchar(intch);参数:一个字符型或整型的数据功能:在默认的输出设备(显示器)上输出一个字符用法:putchar(字符型或整型数据);返回值:所输出的字符。绝大多数情况下不使用该返回值。#include<stdio.h>voidmain(){ charc1; c1='a'; putchar(c1);

putchar('\n');/*输出一个换行符,使输出的当前位置移到下一行的开头*/ putchar(c1-32);}字符输出函数putchar:例参数可以是int

或char型变量运行结果: a

A参数可以是int

或char型常量参数也可以是int或char型表达式2.6.2字符输入函数getchar原型:intgetchar(void);参数:无功能:从默认的输入设备(键盘)上接收用户键入的一个字符,并把该字符作为函数值返回用法:ch=getchar();返回值:用户从键盘键入的字符。绝大多数情况该字符都会被赋值给某个字符型或整型的变量,或者作为表达式的一部分参与其它的运算。注意:getchar函数只能接收并返回一个字符。执行过程:当程序运行到包含有getchar函数调用的语句时,会暂时停下来,此时屏幕上有一个闪烁的光标,等待用户从键盘上的输入。用户必须键入有关信息并按Enter键后程序才能继续向下执行。#include<stdio.h>voidmain(){ chari; i=getchar();

putchar(i);}字符输入函数getchar:例由于getchar函数要接收用户从键盘输入的字符,所以程序执行流程到这儿会暂时停下来等待用户的输入。B↙(用户键入字符B后,在打“回车”键)B(putchar函数再在屏幕上输出一个字符B)运行结果:当用户键入一个字符并按下Enter键后,该字符被getchar函数接收并作为函数值返回。此处,将这个返回值同时赋值给一个字符型的变量i,保存起来以作后用。2.6.3格式输出函数printf原型:

intprintf(constchar*format[,argument,...]);

参数:两部分第一部分:为字符型常指针,大多数情况下都是字符串常量第二部分:若干个待输出的数据的列表功能:一次函数调用可以在默认的输出设备上(显示器)输出经格式化后的若干个不同类型的数据。

用法:printf(格式控制字符串,输出数据列表);

返回值:输出的所有数据的字节数。绝大多数情况下不使用该返回值。格式输出函数printf的参数printf(格式控制字符串,输出数据列表);⒈格式控制字符串:常字符指针,既可以是字符串常量,也可以是字符数组或字符指针。格式控制字符:由%和规定的格式字符组成,一个格式控制字符串中可以有一个或多个格式控制字符。其作用是把后面的输出项目列表中对应位置上的数据格式化成该格式字符所规定的数据类型。普通字符:除格式字符以外的所有其它字符。它们不起任何格式作用,只简单被printf函数原样输出到显示器上。通常用于说明输出数据或给用户有关的提示说明信息。⒉输出数据列表:将要输出的数据,用逗号分隔。可以是常量,变量、函数调用或任何合法的C表达式。intnum=15;printf(“Twice%dis%d.\n”,num,2*num);格式输出函数printf的执行过程Twice普通字符格式字符普通字符格式字符普通字符15is30._待输出的数据printf函数使用中的注意事项一定要分清哪些是格式字符,哪些是普通字符;同时也要注意区分普通字符中转义字符常量。

%d%D%cf如果作为第一部分参数的字符串中,全部是普通字符,则具有输出字符串的效果,这通常用于在程序运行时给使用者有关提示信息,或对输出信息作有关的注释和说明。

printf(“Welcometousethisprogram.\n”);printf(“ProgramAuthor:LiChangsong”);待输出数据的个数不能少于格式说明字符的个数;如果多于格式说明字符的个数,则多出的数据不被输出。

printf(“%d,%d,%c\n”,a,b,ch,d,e);用%%输出一个%printf(“percent=%d%%\n”,percent);printf函数的使用:例#include<stdio.h>voidmain(){ inta=11,b=22; intm=-1; longn=123456789; printf("%d%3d\n",a,b); printf("a=%d,b=%d\n",a,b); printf("m:%d,%o,%x,%u\n",m,m,m,m); printf("n=%d\n",n); printf("n=%ld\n",n);}程序见书p53——54,例2-7.cpp2.6.4格式输入函数scanf原型:

intscanf(constchar*format[,address,...]);

参数:两部分第一部分:为字符型常指针,大多数情况下都是字符串常量第二部分:若干个内存单元地址的列表功能:一次函数调用可以从默认的输入设备上(键盘)扫描用户的输入并经格式化为若干个不同类型的数据后依次保存到指定的地址列表中。

用法:scanf(格式控制字符串,地址列表);

返回值:扫描、格式化后保存的数据的个数。绝大多数情况下不使用该返回值。格式输入函数scanf的参数scanf(格式控制字符串,地址列表);⒈格式控制字符串:常字符指针,既可以是字符串常量,也可以是字符数组或字符指针。格式控制字符:由%和规定的格式字符组成,一个格式控制字符串中可以有一个或多个格式控制字符。其作用是把扫描用户键盘输入后得到的数据格式化成该格式字符所规定的数据类型。普通字符:除格式字符以外的所有其它字符。它们不但不起任何格式作用,也不被显示,反而要求使用者在输入信息时照原样输入,否则函数将不能扫描到正确的数据。因此,通常在scanf函数的第一部分参数中,不要包含除必要的分隔符号之外的任何字符。⒉地址列表:一些已经分配给某些变量的内存单元的地址的列表,scanf函数将把扫描用户输入并格式化后的数据按顺序依次送到这些地址所指向的单元中去。取变量地址运算符&◆取地址运算符(单目)运算符:

&用法:&变量优先级:处于整个运算符优先级表中的第二级,高于所有的双

温馨提示

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

评论

0/150

提交评论