课程名称C语言程序设计_第1页
课程名称C语言程序设计_第2页
课程名称C语言程序设计_第3页
课程名称C语言程序设计_第4页
课程名称C语言程序设计_第5页
已阅读5页,还剩85页未读 继续免费阅读

下载本文档

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

文档简介

1、课程名称:C语言程序设计 2/83内容提要第5章 循环结构程序设计第3章 运算符和表达式第2章 C语言基本知识第1章 C语言概述第4章 顺序和选择结构程序设计第6章 函数第7章 数组第8章 指针第9章 结构体等构造数据类型第10章 文件3/83程序与程序设计语言的概念C语言的发展历史C语言的主要特点C语言的基本结构C程序的调试 第1章 C语言概述 回顾4/832.1 字符集和标识符2.2 变量与常量2.3 C语言的数据类型2.4 整型数据2.5 浮点数2.6 字符型数据 第2章 C语言基本知识5/83 2.1 字符集和标识符 字符集 什么是字符集? 字符集是高级语言的翻译程序所能识别的字母、数

2、字和特殊符号。 C语言的字符集包括如下几种: (1)大、小写英文字母;(4)括号; (2)数字0到9; (5)标点符号; (3)运算符; (6)特殊符号; (7)空白符:空格符、换行符、制表符。6/83 2.1 字符集和标识符 字符集 字符集中的字符按照C语言语法组合起来,就能通过编译系统的语法和词法分析。 想一想,不在字符集中的字符如何输出? a.在两个双引号之间出现(字符串); b.出现在注释行中。 例如:int sum; /* 输出一个E-mail地址 */ printf(“”);7/83 2.1 字符集和标识符 标识符 什么是标识符? 它是用来标识C程序中的变量、常量(符号常量)、数据

3、类型和函数的一个字符序列。 C语言中的标识符必须符合下列语法规则: (1)以字母或下划线开头; (2)第一个字符后可以是任意的字母、数字、下划线组成的序列,长度不超过八个字符。8/83 2.1 字符集和标识符 标识符 C语言的标识符分三类: 关键字(保留字)、特定字、用户定义字。 (1)关键字(保留字) 关键字是C编译程序预先设定的标识符,它们代表特定的意义,用户不能随便使用,一般用小写字母表示。 关键字举例:int、main、void和for等;9/83 2.1 字符集和标识符 标识符(2)特定字 特定字是具有特殊含义的标识符,人们习惯上把它看作关键字,用小写字母表示。 特定字包括:defi

4、ne、undef、include、ifdef、ifndef、endif、line;10/83 2.1 字符集和标识符 标识符 (3)用户定义字 它是用户在程序中按照C语法规则定义的标识符。简单的说,用户定义字就是程序员在程序设计时为变量、常量以及函数等起的名字。 命名时的注意事项: (1)不能使用关键字和特定字作为用户定义字; (2)用户定义字用于标识不同的对象,所以前8(或7)个字符要有所区别;11/83 2.1 字符集和标识符 标识符命名时的注意事项: (3)根据含义取英文或汉语拼音的缩写,以便阅读和检查; (4)避免使用容易混淆的字符; (5)字母的大小写分别代表不同的意义; (6)C语

5、言有许多库函数,用户定义字不要与其中某个函数同名。12/83 计算机程序所处理的对象是 数据 。 2.2 变量与常量 外存数 据 在 计 算 机 中 的 一 个 处 理 过 程 内存 CPU寄存器 内存 其它输出设备程序设计的一个主要任务是控制数据所在的位置。13/832.2.1 变量 变量在程序运行过程中其值是可以变化的,一个变量在内存中占若干个字节(具体值与数据类型有关),每个变量都要有名称,用来存储一个可以变化的数值。 定义变量:变量在使用前,要先起名,同时还要声明它的数据类型,以便编译系统根据不同的数据类型为其静态地分配内存空间。 2.2 变量与常量14/832.2.1 变量 变量先定

6、义后使用的原因: (1)编译系统会根据定义为变量分配内存空间,分配空间的大小与数据类型有关; (2)未经过定义的标识符,系统不允许将其作为变量名使用; (3)编译系统可以根据变量的类型检查对该变量的运算是否合法。 2.2 变量与常量15/832.2.1 变量 定义变量的格式: 类型说明符 变量名表; (1)使用逗号分隔变量名表中的多个变量,并使用分号结束语句; (2)类型说明符指定了变量的数据类型,包括int、float、double、char等; (3)变量名的命名规则要符合用户定义字的命名规则,一般使用小写字母。 2.2 变量与常量16/832.2.1 变量 变量定义举例: int dat

7、e,step; char a,c;或写为:char a;char c; 注意:在函数内部定义的普通变量,在没有用赋值号对其赋值之前,其初始值为不定值。看下面的例题。 2.2 变量与常量17/832.2.1 变量 2.2 变量与常量#include “”void main() int a,b,sum; a=1;b=2; sum=sum+a+b; printf(“a add b is %d/n”,sum); 你知道这个程序的输出结果吗?18/832.2.1 变量 2.2 变量与常量输出结果如下:19/832.2.1 变量 2.2 变量与常量#include “”void main() int a,

8、b,sum; a=1;b=2;sum=0; sum=sum+a+b; printf(“a add b is %d/n”,sum);20/832.2.1 变量 2.2 变量与常量重新编译、连接、运行后,输出结果如下:21/832.2.2 常量 常量:被存储在内存当中,在程序执行过程中不会发生改变的量。(a=32;) 不同数据类型的常量,其表示方法是不一样的。32是整型常量,a是字符型常量。 为增强程序的可读性,用预处理命令#define为常量起一个名字,并把这种常量叫做符号常量。 例如:#define PI 注意:用#define为常量命名时,通常用大写字母。 2.2 变量与常量22/83 2.

9、3 C语言的数据类型 数据类型在高级语言中是一个很重要的概念,不同的数据类型在内存中的存储方式是不同的,所占的字节数通常也不一样。高级语言能表示的数据类型越多,程序编写起来就越简单。23/83 2.3 C语言的数据类型 C语言的数据类型 C语言的数据类型基本数据类型复杂数据类型 整型 int 浮点型 float double 字符型 char 结构体 struct 联合体 union 枚举 enum 数组 以为标志 指针类型 以*为标志 构造类型24/83 2.3 C语言的数据类型 基本数据类型 基本数据类型 短整型 short int 普通整型 int 长整型 long int 整型浮点型

10、双精度浮点型 double 普通浮点型 float字符型 char25/83 2.3 C语言的数据类型 基本数据类型 不同数据类型的数据在内存中的存储方式不同,因此其存储所占的二进制位大多不同。即使是相同类型的数据在不同种类的计算机中所占位数也不完全相同。 在Turbo C中,普通整型占16位,而在中,普通整型则占32位。 一个数据所占二进制位数的多少决定了它的最小值和最大值。26/83 2.4 整型数据问题的提出与程序示例整型数据在内存中的存储方式整型变量整型常量用printf函数显示整型数据用scanf函数输入整型数据27/83 2.4 整型数据问题的提出与程序示例 问题:计算并输出a2+

11、2b的值,a和b是从键盘上接收的用户输入的两个整数。#include “”void main() int a,b,result; /*整型变量的定义*/ printf(“please input two integer:n”); scanf(“%d%d”,&a,&b); /*整型变量的输入*/ result=a*a+2*b; /*整型常量的写法*/ printf(“result is %dn”,result); /*整型数据的输出*/28/83 2.4 整型数据问题的提出与程序示例 输出结果如下:29/83 2.4 整型数据整型数据在内存中的存储方式 带符号整数:有正负之分的整数,在计算机内部

12、以二进制补码形式存储。 无符号整数:不分正负的整数,大于或等于0的整数,在计算机内部以二进制原码的形式存储。 不引起混淆的情况下,带符号整数简称为整数。 假设一个带符号的整数在内存中占16位,则其存储情况如下图:0 1 15整型数据在内存中的存储符号位符号位为0,表示该整数是正整数;符号位为1,表示该整数是负整数。30/83 2.4 整型数据整型数据在内存中的存储方式 16位二进制能够存储的最大整数和最小整数是多少?31/83 2.4 整型数据整型数据在内存中的存储方式 先考虑16位无符号整型数据: 最小值为:0000 0000 0000 00000 最大值为:1111 1111 1111 1

13、111216-165535 带符号的16位整型数据: 如果符号位为0: 最大值为:0111 1111 1111 1111 215-132767 最小值为?(32767?) 32767的补码为:1000 0000 0000 0001 32/83 2.4 整型数据整型数据在内存中的存储方式 把它1得到:1000 0000 0000 0000 (最小的) 32768215 所以,带符号的16位整型数据的取值范围是: ( 215 215 1) 不同位整型数据的取值范围: 见书19页表21.33/83 2.4 整型数据2.4.3 整型变量 给整型变量分类: 按其所占二进制位数,分为: 短整型(short

14、),普通整型(int),长整型(long) 按其是否带符号位,分为: 无符号整型变量(unsigned)和带符号整型变量。 无符号与短整型、普通整型、长整型三种类型相匹配,可以构成: 无符号短整型(unsigned short) 无符号普通整型(unsigned int) 无符号长整型(unsigned long)34/83 2.4 整型数据2.4.3 整型变量 说明整型变量的语法如下: 限定词 int 变量名表; 限定词包括:short、long、unsigned。 在有限定词的情况下,int可以省略。 例如:short (int) year; unsigned data; 限定词可以是一个

15、也可以是两个。35/83 2.4 整型数据2.4.4 整型常量 C语言中,整型常量的表示方式通常有三种: 十进制、八进制、十六进制。 十进制表示的整型常量不能以数字0开头; 八进制以数字0开头; 十六进制以0 x开头。 (编译程序以开始的数字区分三种不同的进制) 例如: int a,b,c; a=10; b=010; c=0 x10; 如果不做特殊指定,整型常量将按照普通整型变量的长度来存储。 36/83 2.4 整型数据2.4.4 整型常量 注意:如果整型常量超过计算机所能表示的范围,则会发生溢出。整数溢出并不会使程序出错,而是得到一个非正确的值。 例如: short int a,b; a=

16、10000; b=10000000; 发生溢出37/83 2.4 整型数据2.4.5 用printf函数显示整型数据 printf函数的功能是什么? 按照指定的格式来显示数据。指定格式要用到转换说明符()和转换字符(根据需要使用不同的字符),显示整型数的转换字符有d、o、x和u等。 d:把数据按十进制整型输出; o:把数据按八进制整型输出; x:把数据按十六进制整型输出; u:把数据按无符号整型输出。 注意:除了d以外,其余的格式都将数据作为无符号数输出。38/83 2.4 整型数据2.4.5 用printf函数显示整型数据 【例2.2】整型变量的表示方式和整型数据的输出。#include “

17、”void main() int x,y,z; x=129; y=0127; z=0 x128; printf(“%d,%d,%dn”,x,y,z); printf(“%o,%o,%on”,x,y,z); /*八进制整型数据的输出*/ printf(“%x,%x,%xn”,x,y,z); /*十六进制整型数据的输出*/39/83 2.4 整型数据2.4.5 用printf函数显示整型数据 【例2.2】运行结果如下:40/83 2.4 整型数据2.4.5 用printf函数显示整型数据 【例2.3】整型变量的表示方式和整型数据的输出。#include “”void main() int x,y,

18、z; x=-129; y=-0127; z=-0 x128; printf(“%d,%d,%dn”,x,y,z); printf(“%u,%u,%un”,x,y,z); printf(“%o,%o,%on”,x,y,z); /*八进制整型数据的输出*/ printf(“%x,%x,%xn”,x,y,z); /*十六进制整型数据的输出*/41/83 2.4 整型数据2.4.5 用printf函数显示整型数据 【例2.3】运行结果如下:42/83 2.4 整型数据2.4.5 用printf函数显示整型数据 例说明: 本例中,-0127和-0 x128并不是八进制和十六进制常量,“-”实际是运算符,

19、取负数的意思。 为了使输出的数字格式清晰明了,容易看懂,可以使用域宽和对齐方式来控制显示格式,在%和转换符之前加整型数字,表示数据显示的域宽,在%后面加符号“”,表示显示时左对齐。43/83 2.4 整型数据2.4.5 用printf函数显示整型数据 【例2.4】显示整数时左对齐。#include “”void main() int x,y,z; x=129; y=0127; z=0 x128; printf(“%6d,%6d,%6dn”,x,y,z); /*数据显示时增加域宽*/ printf(“%6o,%6o,%6on”,x,y,z); printf(“%6x,%6x,%6xn”,x,y,

20、z); /*数据显示时左对齐*/44/83 2.4 整型数据2.4.5 用printf函数显示整型数据 【例2.4】运行结果如下:45/83 2.4 整型数据2.4.6 用scanf函数输入整型数据 scanf是格式输入函数,其功能是按指定的格式将标准输入设备输入的内容送入变量中。 scanf函数的使用格式: scanf(“格式信息”,输入项1,输入项2,); “格式信息”与printf的用法相似,通过使用 和转换字符来指定不同数据类型数据的输入方式。 注意:输入项必须使用地址,普通变量的地址是在变量名前加取地址符&。 输入整型数据的转换字符有d、o、x、u等。 明确%d, %o, %x, %

21、u各自的含义46/83 2.4 整型数据2.4.6 用scanf函数输入整型数据 【例2.5】用scanf函数输入整型数据。#include “”void main() short x,y,z1; int z2; printf(“n请输入四个整数:”); scanf(“%d%o%x%d”,&x,&y,&z1,&z2); printf(“n%d,%d,%d,%dn”,x,y,z1,z2);47/83 2.4 整型数据2.4.6 用scanf函数输入整型数据 【例2.5】的运行结果如下:48/83 2.4 整型数据2.4.6 用scanf函数输入整型数据 使用scanf函数时,需要注意以下几点:

22、使用scanf函数读入一组整数时,将扫视输入信息,跳过空格、Tab或换行符,寻找下一个输入域。一个输入域就是一个连续的非空字符的数字串。 格式信息中除了有开始的转换说明,还可以有普通字符,只要是这些字符不是显示在屏幕上的,而是要求用户在输入数据时,在相应的位置输入相同的字符(除了空格、Tab和换行符外)。49/83 2.4 整型数据2.4.6 用scanf函数输入整型数据 【例2.6】输入格式与键盘输入的匹配。#include “”void main() int x,y,z1,z2; scanf(“x=%dy=%oz1=%xz2=%u”,&x,&y,&z1,&z2); printf(“n%d,

23、%d,%d,%dn”,x,y,z1,z2);50/83 2.4 整型数据2.4.6 用scanf函数输入整型数据 【例2.6】的运行结果如下:输入10 10 10 10 时的结果 输入x=10y=10z1=10z2=10 时的结果 51/83 2.5 浮点数问题的提出与程序示例浮点数在内存中的存储方式浮点变量浮点常量用printf函数显示浮点数用scanf函数输入浮点数52/83 2.5 浮点数问题的提出与程序示例 问题:计算并输出a2+2b的值,a和b是从键盘上接收的用户输入的浮点数。#include “”void main() double a,b,result; /*整型变量的定义*/

24、printf(“please input two integer:n”); scanf(“%lf%lf”,&a,&b); /*浮点数的输入*/ result=a*a+*b; /*整型常量的写法*/ printf(“result is %n”,result); /*整型数据的输出*/53/83 2.5 浮点数问题的提出与程序示例 输出结果如下:54/83 2.5 浮点数问题的提出与程序示例 上面的例子与节第一个例子有哪些不同? (1)定义变量时使用的数据类型是lf。 (2)接收用户输入时,使用的格式控制是lf。 (3)常量2写成了。 (4)输出数据时,使用的格式控制符是。55/83 2.5 浮点

25、数浮点数在内存中的存储方式 浮点数在内存中的表示方式一般分为三部分: 符号位、阶码和尾数。 下图是用32位表示的浮点数: 32位浮点数的有效数字是7位十进制数,取值范围为10-381038;64位浮点数的有效数字是15位十进制数,取值范围为10-30810308。1 阶码 8 9 尾数 31符号位56/83 2.5 浮点数2.5.3 浮点变量 标准C语言中,浮点数有单精度浮点数(float)和双精度浮点数(double)两种,有的版本还支持第三种长双精度的浮点数(long double)。 单精度浮点数和双精度浮点数在计算机上的表示方式是非常相似的,只是所占的二进制位不同,因此,单精度浮点数和

26、双精度浮点数的有效数字(或称精度)和取值范围也不同。在中,单精度浮点数和双精度浮点数分别占32位和64位。57/83 2.5 浮点数2.5.4 浮点常量 数学上表示小数有两种方法:小数表示法和科学计数法。(例如:和1.273102) C语言中,小数的表示同样使用以上两种方法,只不过102用E+2表示。 C程序中的浮点常数由整数部分、小数部分和指数部分构成。 其中,前两部分用小数点连接,后两部分用e(或E)连接。E或e用来代表10的幂次。 浮点常量的构成规则: (1)整数部分可以不写,小数部分也可以不写,但不能同时不写。58/83 2.5 浮点数2.5.4 浮点常量 (2)指数部分可以省略。 (

27、3)若有指数部分,e(或E)两边都至少有一位数。 (4)指数的数字必须是整数(范围为13位整数),可以为负或正,正号可以省略。例如:.1234,1.,等。 注意:浮点常量在存储时按double类型存储,即占64位。浮点常量也会发生溢出。并且溢出并不会使程序出错,而是得到一个不正确的结果。59/83 浮点数2.5.5 用printf函数显示浮点数 输出浮点数可以使用%f和e。f显示的是用小数表示的普通浮点数;e显示的是使用科学计数法表示的浮点数。输出双精度类型时,需要在转换字符前加上字母l。 输出浮点数时不仅可以控制域宽,还可以控制有效位的输出位数(又称精度)。方法是在与f(或e)间加上两个数字

28、并在两个数字之间加上一个点号“.”。例如:表示输出格式是域宽为6,小数点右边有两位数字。60/83 浮点数2.5.5 用printf函数显示浮点数 注意:域宽不是指数位的宽度,而是指整个浮点数的显示宽度,还包括了小数点。 例如,的域宽是8。也可以不指定域宽和精度,默认的精度是6,如果指定的域宽大于所显示的数的实际宽度,则没有用到的位置用空格填写;如果指定的域宽小于所显示的数的实际宽度,则按数的实际域宽显示。左对齐符号“-”在显示浮点数时同样适用。61/83 浮点数2.5.5 用printf函数显示浮点数 例:输出浮点数。62/83 浮点数2.5.5 用printf函数显示浮点数 例的运行结果如

29、下:63/83 浮点数2.5.6 用scanf函数输入浮点数 浮点数的输入也是使用转换字符f和e,直接使用f和e可以输入float类型的数据,使用lf和le则输入double类型的数据。 例:输入浮点数。64/83 浮点数2.5.6 用scanf函数输入浮点数 例的运行结果如下:65/83 2.6 字符型数据问题的提出与程序示例字符型数据在内存中的存储方式字符常量与字符变量用printf函数显示字符用scanf函数输入字符2.6.6 getchar函数和putchar函数字符串常量66/83 2.6 字符型数据问题的提出与程序示例 问题:编写程序,从键盘输入若干个小写字母(girl),然后输出

30、其对应的大写字母(GIRL)。#include “”void main() char a,b,c,d,i; /*字符型变量的定义*/ printf(“please input four lowercase:n”); scanf(“%c%c %c%c”,&a,&b,&c,&d); /*输入字符*/ i=a-A; /*取a与A的ASCII码值之差*/ printf(“uppercase is:%c%c%c%cn”,a-i,b-i,c-i,d-i); 67/83 2.6 字符型数据问题的提出与程序示例 例的运行结果如下:68/83 2.6 字符型数据问题的提出与程序示例例中,与字符型数据相关的内容是

31、:(1)定义变量时使用的是char。(2)接收用户输入时,使用的格式控制符是c。(3)字符常量的写法:a和“a”。(4)输出数据时,使用的格式控制符是c。69/83 2.6 字符型数据字符型数据在内存中的存储方式 字符型数据在内存中所占的位数是固定的,只占一个字节(8bit)。 不管是字母、数字、标点符号,这些字符在计算机内部都是用0和1表示的,每个字符对应一个固定的编码,最常用的就是ASCII码。 标准ASCII码是把每个字符与0127之间的数值联系起来,用7位二进制表示,再将最高位置0,这样就占了一个字节。 例如:字母A在ASCII码表中用数值65表示,用8位二进制来表示它为:010000

32、01,所以在内存中存储的A实际上是01000001。70/83 2.6 字符型数据 字符变量与字符常量 字符变量的类型说明符是char。 例如:char a,b,c,d; (a,b,c,d各占一个字节) 字符常量:用单引号将一个字符括起来就构成了字符常量,可以用它来给字符变量赋值。 例如:char c;c=a; 注意: (1)单引号中的字符只能是一个字符。 (2)不能用双引号括起一个字符表示一个字符常量。 (3)非图形字符,如退格、换行等,也可以表示成字符型常量。71/83 2.6 字符型数据 字符变量与字符常量 (4)字符型数据可以像整型数据一样参与四则运算(实际上是ASCII码值的运算)。

33、 观察一下ASCII码表,看看小写字母和大写字母有什么关系? 小写字母az的ASCII码值是97122 大写字母AZ的ASCII码值是6590 求对应字母的差值,都是32。所以,要将小写字母转换成大写字母,只要将小写字母的ASCII码值减去32就可以了。72/83 2.6 字符型数据 用printf函数显示字符 /* 例 用printf函数显示字符。*/#include “”void main() char c=H; /*字符型变量的定义且同时赋初值*/ char d=I; char e=!; printf(“%c%c%cn”,c,d,e); 73/83 2.6 字符型数据 用printf函数

34、显示字符 例的运行结果如下:74/83 2.6 字符型数据 用scanf函数输入字符上例中使用c输出单个字符,同样,c也可以用于控制输入单个字符。当用scanf函数读入一组数据时,如果不使用c进行转换,scanf函数将扫视输入信息,跳过空格、Tab或换行符,寻找下一个输入域。若使用c进行转换时,情况则不同,scanf函数不会跳过空格、Tab或换行符,而是直接把下一个字符输入给参数。例如:scanf(“%d%c”,&I,&c); 若从键盘输入29_w,则c内存放的是空格。解决的方法是在控制字符串中加空格分隔。75/83 2.6 字符型数据 用getchar函数输入字符和用 putchar函数输出

35、字符 getchar函数:它是接收一个从标准输入输出设备上输入的字符。该函数没有参数,返回的数据类型为整型,返回值为字符的ASCII码值。 调用的一般方法是:字符变量=getchar(); 例如:char a; a=getchar(); 从键盘上接收的字符可以是可打印的字符,也可是非打印字符,如回车换行等。 76/83 2.6 字符型数据putchar函数:用于向标准输出设备上输出一个字符。该函数把要输出的字符作为参数,放在括号里,括号里的内容不能缺省。调用的一般方法是:putchar(字符变量或字符常量);例如:putchar(A);putchar函数返回的数据类型为整型,返回值为字符的AS

36、CII码值。77/83 2.6 字符型数据 用getchar函数输入字符和用 putchar函数输出字符 若要输出一个字符a,可以采用多种方法: (1) int c; c=a; putchar(c); (2) putchar(a); (3) putchar(97); 对于不可打印的字符,输出方式有两种: (1) putchar(007); (2) putchar(007);78/83 2.6 字符型数据 例 键盘输入小写字母,输出相应的大写字母,用getchar和putchar函数完成。#include “”void main() char a,b,c,d,i; /*字符型变量的定义*/ pr

37、intf(“please input four lowercase:n”); a=getchar(); b=getchar(); c=getchar(); d=getchar(); i=a-A; /*取a与A的ASCII码值之差*/ printf(“uppercase is:n”); putchar(a-i); putchar(b-i); putchar(c-i); putchar(d-i); putchar(n);79/83 2.6 字符型数据 例 的运行结果如下:80/83 2.6 字符型数据 字符串常量 用双引号括起来的字符序列是字符串常量。 例如:“how are you”和“123456”。 在环

温馨提示

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

评论

0/150

提交评论