C语言程序设计03章下顺序结构程序设计_第1页
C语言程序设计03章下顺序结构程序设计_第2页
C语言程序设计03章下顺序结构程序设计_第3页
C语言程序设计03章下顺序结构程序设计_第4页
C语言程序设计03章下顺序结构程序设计_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

1、第三章第三章(下下)顺序结构程序设计顺序结构程序设计3.1 C 3.1 C 语句(语句(P57P57)C C程序结构如下图所示:程序结构如下图所示:C程序程序源程序文件源程序文件1源程序文件源程序文件2源程序文件源程序文件n预处理命令预处理命令全局变量声明全局变量声明函数函数1函数函数n函数首部函数首部函数体函数体局部变量声明局部变量声明执行语句执行语句数据数据运算符运算符表达式表达式C语句的种类:语句的种类:1、 控制语句控制语句,完成一定的控制功能。,完成一定的控制功能。C 只有只有9种控制语句种控制语句: 1) if () else (条件语句条件语句) 2) for () (循环语句循

2、环语句) 3) while () (循环语句循环语句) 4) do while () (循环语句循环语句) 5) continue (结束本次循环语句结束本次循环语句) 6) break (中止执行中止执行switch或循环语句或循环语句) 7) switch (多分支选择语句多分支选择语句) 8) goto (转向语句转向语句) 9) return (从函数返回语句从函数返回语句) 上述句子中上述句子中()()表示一个条件,表示一个条件, 表示内嵌的语句,例如:表示内嵌的语句,例如: if(xy) z=x; else z=y;2、函数调用语句。、函数调用语句。由一次函数调用加一个分号构成一个

3、由一次函数调用加一个分号构成一个语句。例如:语句。例如:printf(“This is a C statement.”);3、表达式语句。表达式语句。由一个表达式构成一个语句。例如:由一个表达式构成一个语句。例如: a=a+3; 注意:注意:a=a+3是表达式不是语句。是表达式不是语句。4、空语句。、空语句。即只有一个分号的语句。即只有一个分号的语句。; 通常用来作转向点或循环语句中的循环体。通常用来作转向点或循环语句中的循环体。5、复合语句,又称为、复合语句,又称为“分程序分程序”,即用,即用 把一些语句把一些语句括起来形成一个部分。括起来形成一个部分。例:例: z=x+y; t=z/100

4、; printf(“%f”,t); 3.2 3.2 最简单的语句最简单的语句赋值语句赋值语句(P59)(P59)赋值表达式赋值表达式加上分号构成加上分号构成赋值语句赋值语句。如:如:a = b ;a = b ;有关赋值表达式的内容我们在前面已经详细讨论过了,有关赋值表达式的内容我们在前面已经详细讨论过了,在此就不再累述。在此就不再累述。C语句自上而下的出现顺序就是语句自上而下的出现顺序就是C程序的执行顺序,这程序的执行顺序,这就是顺序结构。就是顺序结构。C C 语言中将赋值表达式和赋值语句分开来,其目的语言中将赋值表达式和赋值语句分开来,其目的是是增加表达式的种类增加表达式的种类,扩大赋值表达

5、式的使用范围扩大赋值表达式的使用范围。如:如:a = b;a = b;if ( if ( a a 0 ) 0 )t = a ;t = a ;if (if (a = b )(a = b ) 0 ) 0 )t = a ;t = a ;3.3 3.3 数据的输入与输出数据的输入与输出(P65)(P65) C语言本身不提供输入输出语句,输入输出操作是由相应的函语言本身不提供输入输出语句,输入输出操作是由相应的函数来实现的。数来实现的。C语言函数库中有一批语言函数库中有一批“标准输入输出函数标准输入输出函数”,它是,它是以标准的输入输出设备为输入输出对象的。其中有:以标准的输入输出设备为输入输出对象的。

6、其中有:putchar() ,getchar(),printf(),scanf(),puts(),gets()。 与标准输入输出库函数相关的信息,被放在了系统的与标准输入输出库函数相关的信息,被放在了系统的“stdio.hstdio.h”文件中文件中。主文件名主文件名stdiostdio( (standard input & output)standard input & output),扩展名扩展名h h( (head)head)。由于这类文件都是通过预编译命令。由于这类文件都是通过预编译命令“# #includeinclude” 被放在程序的开头,故称被放在程序的开头,故称

7、 “头文件头文件”。例如:例如:# #include “include “stdio.hstdio.h” / /* * 或写为或写为 #include #include * */ / main() main() 注意:注意:C C编译系统与编译系统与C C函数库是分别进行设计的,不同的计算机系统所提供的函数库是分别进行设计的,不同的计算机系统所提供的函数的数量、名字和功能可能是不同的。函数的数量、名字和功能可能是不同的。说明:说明:原则上讲,在使用任何原则上讲,在使用任何C C库函数前,都应该用库函数前,都应该用#include#include命令将命令将其相应的头文件包括到用户源文件开头,因

8、为在头文件中包含其相应的头文件包括到用户源文件开头,因为在头文件中包含了所用库函数的必要信息。了所用库函数的必要信息。但是,在但是,在Turbo C 2.0Turbo C 2.0中,有少数库函数可以直接在用户程序中,有少数库函数可以直接在用户程序中使用,而不必包含其头文件,比如:中使用,而不必包含其头文件,比如:scanf,printfscanf,printf函数。函数。这是因为这些库函数经常被用户使用,这是因为这些库函数经常被用户使用,Turbo CTurbo C对它们进行了单对它们进行了单独地处理,系统默认就已经包含了它们相关的信息。独地处理,系统默认就已经包含了它们相关的信息。详细请见第

9、详细请见第1111章章3.3.1 3.3.1 字符数据的输入输出字符数据的输入输出(P78)(P78)1.1. putchar函数函数( (字符输出函数字符输出函数) )格式:格式:putchar(c);作用:向终端作用:向终端(即系统隐含指定的输出设备,即系统隐含指定的输出设备, 如显示器,打如显示器,打印机印机)输出输出一个字符一个字符。c可以是可以是字符型或整型变量字符型或整型变量,也,也可以是可以是字符型或整型常量字符型或整型常量(包括(包括转义字符常量转义字符常量)。)。例例3.8(P78)输出单个字符)输出单个字符#includemain() char a,b,c; a=B;b=O

10、;c=Y; putchar(a); putchar(b); putchar(c); 结果为:结果为:BOY2. 2. getchargetchar函数函数( (字符输入函数字符输入函数) )格式:格式:getchar( );作用:从终端作用:从终端(即系统隐含指定的输入设备,如键盘即系统隐含指定的输入设备,如键盘)输入输入一个字符一个字符。例例3.9(P79)输入单个字符)输入单个字符 #include main() char c; c=gechar(); putchar(c); 结果为输出一个字符,屏幕上马上看到输入的字符。结果为输出一个字符,屏幕上马上看到输入的字符。#include “s

11、tdio.h”main ( ) printf ( “%c” , getchar( ) ) ; #include “stdio.h”main ( ) putchar ( getchar( ) ) ; 或或例例3.9 可以改写成:可以改写成:说明:说明:1. getchar()函数只能接收一个字符。该字符可以赋给一个函数只能接收一个字符。该字符可以赋给一个char 型变量或型变量或int 型变量,也可不赋给任何变量。型变量,也可不赋给任何变量。2.执行执行getchar()时,虽然是读入一个字符,但并不是指当用时,虽然是读入一个字符,但并不是指当用户从键盘按下一个字符时,该字符就立即被读入并送给一

12、个户从键盘按下一个字符时,该字符就立即被读入并送给一个字符变量。而是先将输入的字符送到字符变量。而是先将输入的字符送到键盘输入缓冲区键盘输入缓冲区,当用,当用户按下户按下回车键回车键后,系统才调用后,系统才调用getchar函数从输入缓冲区中函数从输入缓冲区中读取一个字符赋给变量。读取一个字符赋给变量。 例如:例如: 对于例对于例4.24.2题,如果在键盘上一次性输入的不只是一个字符,题,如果在键盘上一次性输入的不只是一个字符,而是一串字符,比如为:而是一串字符,比如为:abcd。结果变量结果变量c c的值仍为的值仍为a a 。3.3.2 3.3.2 格式输入与输出格式输入与输出(P68)(P

13、68)1. 1. printfprintf函数函数( (格式输出函数格式输出函数) )1) 一般格式:一般格式:printf(格式控制串,输出表列)格式控制串,输出表列) 例如:例如:printf(“a=%d, b=%c”,i,c) 括弧内包括两部分:括弧内包括两部分: I) “格式控制串格式控制串”:用用双引号括起来双引号括起来的字符串,它包括:的字符串,它包括: 格式说明:格式说明:由由“%”和和格式字符格式字符组成,如组成,如%d,%f 等,作用是将输出的数据转换为等,作用是将输出的数据转换为指定指定 的格式输出的格式输出。 普通字符:普通字符:即即原样输出字符原样输出字符。 II) “

14、输出表列输出表列”:是需要输出的一些是需要输出的一些数据数据,可以是,可以是表达式表达式。例:例: printf(“a=%d , b=%c”, i, c)格式说明普通字符输出表列2) 格式字符格式字符 常用的格式字符有:常用的格式字符有: I) d格式字符:格式字符:用来输出用来输出十进制基本整数十进制基本整数,常用方法有:,常用方法有: %d 按整型数据的按整型数据的实际长度输出实际长度输出; %md m为指定的输出字段的宽度。如果数据的位数为指定的输出字段的宽度。如果数据的位数小小于于m,则则左端补以空格左端补以空格;若;若大于大于m,则按则按实际位数输出实际位数输出。 %-md 表示在位

15、数小于表示在位数小于m的情况下,的情况下,右端补以空格右端补以空格。 例:例:int a=123, b=12345; printf(“%4d,%-4d,%4d”,a,a,b); 则输出:则输出: 123,123 ,12345 %ld 输出长整型数据。输出长整型数据。 例:例: long a=135790; printf(“%ld”,a); 如果用如果用%d输出,就会发生错误,因为整型数据的范围输出,就会发生错误,因为整型数据的范围为为-3276832767 。Long型数据型数据应采用应采用%ld格式输出。格式输出。II) O(英文字母英文字母)格式符:格式符:将内存单元中各位的值将内存单元中

16、各位的值(0或或1)按按8进制形式进制形式输出整数。如果是有符号数,则将输出整数。如果是有符号数,则将符号位符号位也一起也一起作为八进制数作为八进制数的一部分输出。这种输出格式反映了内存单的一部分输出。这种输出格式反映了内存单元中的实际存放情况。元中的实际存放情况。 例:例:int a=-1; printf(“%d,%0”,a,a); 结果为:结果为:-1,1777771111111111111111III) X格式符:格式符:与与O格式相似,不同在于以格式相似,不同在于以十六进制十六进制形式输出整数。形式输出整数。 例:例:int a=-1; printf(“%x,%O,%d”,a,a,a)

17、; 输出结果:输出结果: ffff , 177777 , -1IV) u格式符:格式符:用来输出用来输出unsigned 型型数据,以数据,以十进制十进制形式输出。形式输出。说明:int 型也可以用%u输出,unsigned 型也可以用%d、%O或%x进行输出,相互转换的规则同3.9节。V) C格式符:格式符:用来输出一个字符。用来输出一个字符。 例:例:char c=a; printf(“%c”,c); 输出结果:输出结果:a注意:这两个注意:这两个C是完是完全不同的。全不同的。VI) s格式符:格式符:用来输出一个字符串。有几种用法:用来输出一个字符串。有几种用法: %s 例如:例如: p

18、rintf(“%s”,”CHINA”); 输出:输出:CHINA 字符串字符串(不包括双引号不包括双引号) %ms 输出的字符串占输出的字符串占m列,列, 如字符串本身长度如字符串本身长度 : 大于大于m,则则突破突破m的限制,将字符串全部输出;的限制,将字符串全部输出; 小于小于m,则则左补空格左补空格。 %-ms 若串长小于若串长小于m,则在则在m列范围内,字符串列范围内,字符串右补空格右补空格; %m.ns 输出占输出占m列,但列,但只取只取字符串字符串左端左端n个字符个字符。 这这n个字符个字符输出在输出在m列列的的右侧右侧,左补左补空格空格; %-m.ns同上,只是这同上,只是这n个

19、字符个字符输出在输出在m列的列的左侧左侧,右补右补空格空格。 说明:在说明:在和和项中,当项中,当nm时时,m会自动会自动取取n值值,保证,保证n个字符个字符正常输出。正常输出。例题:字符串的输出例题:字符串的输出main()printf(“%3s,%7.2s,%.4s,%-5.3sn”, ”CHINA”,”CHINA”,”CHINA”,”CHINA”);输出的结果为:输出的结果为:CHINA, , CH,CHIN,CHI VII) f格式符:用来输出实数(包括单、双精度),以小格式符:用来输出实数(包括单、双精度),以小数形式输出。数形式输出。 %f 不指定字段宽度,由系统自动指定,使不指定

20、字段宽度,由系统自动指定,使整数部整数部分全部输出分全部输出,另外再输出,另外再输出6位小数位小数。 注意1:所输出的单精度实数的有效位数一般只有7位。例例3.7(P72) 输出实型数据时的有效位数问题输出实型数据时的有效位数问题main() float x,y; x=111111.111; y=222222.222; printf(“%f”,x+y);运行结果:运行结果:333333.328125 显然,前面显然,前面7位数字为正确的有效的数字,而后面的位数字为正确的有效的数字,而后面的5位为不准确的。位为不准确的。注意注意2:双精度实数也可用:双精度实数也可用%f格式输出,它的格式输出,它

21、的有效位数有效位数一一般为般为16位位,小数部分仍为小数部分仍为6位位。若改为若改为double呢?呢? %m.nf 指定输出的数据共占指定输出的数据共占m列,其中有列,其中有n位小位小数。如果数值长度小于数。如果数值长度小于m,则则左端补空格左端补空格。 %-m.nf 同上,只是当数值长度小于同上,只是当数值长度小于m时,则时,则右端右端补空格补空格。例题:输出实数时指定位数。例题:输出实数时指定位数。 main() float f=123.456; printf(“%f%10f%10.2f%.2f %-10.2fn”, f, f, f, f, f); 运行结果:运行结果:123.45600

22、1123.456001123.46123.46123.46其中其中 表示由表示由“格式控制格式控制”串中原样输出的空格。串中原样输出的空格。注意:在指定的m列宽中,小数点也占1 位。VIII)e格式符:格式符:以指数形式输出实数。以指数形式输出实数。 %e 不指定输出数据所占的宽度和小数的位数,由不指定输出数据所占的宽度和小数的位数,由VC6.0系统自系统自动给定:动给定:1位整数,位整数,1个小数点,个小数点,6位小数,指数部分位小数,指数部分5位(其中位(其中“e”占占1位,指数符号占位,指数符号占1位,指数占位,指数占3位),共计宽度位),共计宽度13列。列。 数值按规范化指数形式数值按

23、规范化指数形式(即小数点前有且只有即小数点前有且只有1位非零数字位非零数字)输出。输出。例如例如:printf(“%e”,123.456789); 输出:输出:1.234568e+002 %m.ne和和%-m.ne 参见第参见第7)项,项,n 指拟输出数据的小数部分指拟输出数据的小数部分占占n列。列。例如:例如:double f=123.456789; printf(“%10e%10.2e”,f, f);输出:输出:1.234568e+0021.23e+002突破10个字符的限定连同左边1个空格共10个字符9)g格式符:格式符:用来输出实数,它根据数值的大小,自动选用来输出实数,它根据数值的大

24、小,自动选f格式或格式或e格格式之一式之一(选择输出时占宽度较小的一种)(选择输出时占宽度较小的一种),且不输出无意义的零。且不输出无意义的零。Printf函数使用的注意事项:函数使用的注意事项: 除了除了X、E、G外,其他格式字符必须用小写字母;外,其他格式字符必须用小写字母; 一个正确的格式说明总是以一个正确的格式说明总是以“%”开头,以相应的控制字符结束,开头,以相应的控制字符结束,中间可以插入附加格式字符(也称修饰符)。中间可以插入附加格式字符(也称修饰符)。 格式控制串中的格式控制串中的“%”符号总是要符号总是要和它后面紧跟的字符匹配和它后面紧跟的字符匹配,如果,如果后面是后面是d、

25、o、x、u、c、s、f、e、g等字符之一,则匹配为相应等字符之一,则匹配为相应的格式控制字符;的格式控制字符; 如果后面又是一个如果后面又是一个”%”符号,则表示要输出符号,则表示要输出一个一个”%”字符字符; 如果后面是一个其他的字符,则匹配错误,如果后面是一个其他的字符,则匹配错误,后面的字符全部原样输出。后面的字符全部原样输出。例如:例如:printf(“%f”,1.0/3);输出:输出: %0.333333例如:例如:printf(“%,%f”,1.0/3);输出:输出:%,%f printf的返回值是所输出字符的个数。的返回值是所输出字符的个数。例如:例如:int n=0; n=pr

26、intf(“n=%d”,n); 最后:最后:n的值为的值为3%和后面的逗号匹配错误。2. 2. scanfscanf函数(格式输入函数)函数(格式输入函数)1 1) )一般形式一般形式 Scanf (格式控制,地址表列)格式控制,地址表列)说明:说明:“格式控制格式控制” ” 的含义同的含义同printfprintf函数;函数;“地址表列地址表列” ” 是由若干个是由若干个地址地址组成的表列,可以是组成的表列,可以是变量的地址,或字符串的首地址,或数组元素的地变量的地址,或字符串的首地址,或数组元素的地址。址。例题:用例题:用scanf函数输入数据函数输入数据 main() int a,b,c

27、; Scanf(“%d%d%d”,&a,&b,&c); printf(“%d,%d,%dn”,a,b,c); 运行时按以下方式输入运行时按以下方式输入a、b、c的值:的值:3 4 5 (输入输入a、b、c的值的值)3,4,5 (输出输出a、b、c的值的值)程序运行过程:程序运行过程:I)按照)按照a、b、c在内存的地址将在内存的地址将a、b、c的值存进去;的值存进去;II)然后再按照)然后再按照a、b、c在内存的地址将在内存的地址将a、b、c的值取出来;的值取出来;acb354Scanf(“%d%d%d”,&a,&b,&c);354printf(

28、“%d,%d,%dn”,a,b,c);354在此例题中应注意:在此例题中应注意:I.本例中本例中“%d%d%d”表示按十进制整数形式输入数据。表示按十进制整数形式输入数据。II.输入输入数值型数据数值型数据时,在两个数据之间以一个或多个时,在两个数据之间以一个或多个空格空格间隔,也可以使用间隔,也可以使用回车键回车键、跳格键跳格键tab。但是不能使用但是不能使用逗号作为分隔符。逗号作为分隔符。 合法输入有:合法输入有: 1)345 2)345 3)3 45 4)3(按(按tab键)键)45 2 2) )格式说明格式说明 和和printf函数中的格式说明相似,以函数中的格式说明相似,以%开始,以

29、一个格式开始,以一个格式字符结束,中间可以插入附加的字符。具体说明可参见字符结束,中间可以插入附加的字符。具体说明可参见P80表表4.3和和4.4。说明几点:。说明几点: I)对对unsigned型变量所需的数据,可以用型变量所需的数据,可以用%u,%d或或%o,%x格式输入;格式输入; II)可以指定输入数据所占列数,系统会自动依次截取所需可以指定输入数据所占列数,系统会自动依次截取所需数据,如:数据,如:scanf(“%3d%3d”,&a, &b); 输入:输入:123456 则变量则变量a的值为的值为123,b的值为的值为456 III)对对double型和型和long型

30、变量所需的数据,型变量所需的数据,必须必须分别使用分别使用%lf和和%ld来录入。若使用来录入。若使用%f和和%d,则会出现由于录入格式则会出现由于录入格式不匹配造成的数据错误,但变量类型本身却是匹配的。不匹配造成的数据错误,但变量类型本身却是匹配的。(补充)(补充)比如:比如:double g; scanf(“%f”,&g);输入:输入:0.12345678999 然后通过变量监视发现然后通过变量监视发现g的值为的值为4.65905335771326e231V)如果在如果在“格式控制格式控制”字符串中除了字符串中除了格式说明字符格式说明字符以外还有以外还有其它字符,则在输入数据时应其

31、它字符,则在输入数据时应原样输入原样输入这些字符。这些字符。(补充)(补充)如果输入格式为如果输入格式为“%d,%d,%d”,则录入数据时要用逗号作为分则录入数据时要用逗号作为分隔符。隔符。 正确输入应为:正确输入应为:3,4,5 如果输入格式为如果输入格式为“%d:%d:%d”,则录入数据时要用冒号作为分则录入数据时要用冒号作为分隔符。隔符。 正确输入应为:正确输入应为:3:4:5 如果此时还用逗号或空格作为分隔符,系统不会报错,但运如果此时还用逗号或空格作为分隔符,系统不会报错,但运行结果是错误的。行结果是错误的。 (演示演示P081.c)总之,总之,scanfscanf()()在输入数据

32、时,要遵守与在输入数据时,要遵守与格式控制串格式控制串一一对一一对应的原则应的原则,这和,这和printfprintf()()的使用相似,只是后者用于输出数的使用相似,只是后者用于输出数据罢了。据罢了。IV)输入数据时不能规定精度,例如:输入数据时不能规定精度,例如:scanf(“%7.2f”,&a); 是是不合法不合法的。这点与的。这点与printf不同,需要注意。不同,需要注意。VI)如果如果%后有一个后有一个“*”附加说明符,表示跳过它指定的列数,附加说明符,表示跳过它指定的列数,故故*又被称为又被称为“抑制字符抑制字符”。例如:。例如:scanf(“%2d %*3d %2d”,

33、&a,&b);如果输入如下信息:如果输入如下信息:1234567 结果:结果:a的值为的值为12 b的值为的值为67说明:说明: %*3d 表示读入表示读入3位整数但不赋值给任何变量。位整数但不赋值给任何变量。VII) 可用可用“%s”格式来输入一个字符串,这将在格式来输入一个字符串,这将在7.3.5中讨论。中讨论。VIII)在用在用“%C”格式输入字符时,格式输入字符时,空格字符空格字符和和“转义字符转义字符”都会被作为有效字符输入。都会被作为有效字符输入。(请区别于数值型数据的录入请区别于数值型数据的录入) Char c1,c2,c3; Scanf(“%c%c%c”, &a

34、mp;c1,&c2,&c3);如果输入:如果输入:abc 则:则:c1为为a,c2为为,c3为为b提问:若输入的是提问:若输入的是 a bc 则:则:c1,c2,c3的的ASCII码值分别为多少?码值分别为多少?则:则:c1的值为的值为97,c2的值为的值为10,c3的值为的值为98 。 (演示(演示P082.c)IX)在输入在输入数值型数值型数据时,若遇以下情况之一则认为该数据结束:数据时,若遇以下情况之一则认为该数据结束: 1、遇、遇空格空格,或,或“回车回车”,或,或“跳格跳格” (Tab)键;键; 2、按、按指定的宽度指定的宽度结束,如结束,如“%3d”,只取只取3列;

35、列; 3、遇到、遇到非法输入非法输入; 例如:例如:char b,d,f; int a=5,e=5,g=5; float c; scanf(%d%c%f%c%d,&a,&b,&c,&d,&e); scanf(%c%d,&f,&g); 若输入:若输入:123p123o.26 这是字母这是字母 o !在实际的调试过程中,我们不提倡像上面这样输入数据,甚至反对在实际的调试过程中,我们不提倡像上面这样输入数据,甚至反对采用这种纷繁复杂、让人迷惑的输入方法。采用这种纷繁复杂、让人迷惑的输入方法。 结果:结果:a为为123, b为为p, c为为123.0, d为为o, e为为5, f为为.,g为为26 。 scanf的返回值是的返回值是已经成功录入的数据个数。已经成

温馨提示

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

评论

0/150

提交评论