C语言考前复习有答案的考前必看_第1页
C语言考前复习有答案的考前必看_第2页
C语言考前复习有答案的考前必看_第3页
C语言考前复习有答案的考前必看_第4页
C语言考前复习有答案的考前必看_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

1、分章节练习题第一、二章数据类型、运算符与表达式一、单选题1、下列属于字符型常量的是 C 。A、AA B、“B” C、a D、x93L2、 C语言中,字符(char)型数据在微机内存中的存储形式是 _ D _。A、反码 B、补码 C、EBCDIC码 D、ASCII码3、若变量已正确定义,要将a和b中的数进行交换,下面不正确的语句组是_C_。A、a=a+b,b=a-b,a=a-b; B、t=a,a=b,b=t; C、a=t; t=b; b=a; D、t=b;b=a;a=t;4、 判断char型变量c是否为大写字母的最简单且正确的表达式是_D_。A、A<=c<=Z B、(c>=A)

2、&(c<=Z) C、(A<=c)AND(Z>=c) D、(c>=A)&&(c<=Z)5、运算符|代表 B 。A、按位或 B、逻辑或 C、按位异或 D、按位取反6、下列符号中,不可以作为变量名的是_D_.A、 _var B、VAR10 C、 varx D、2def7、 运算符&代表 A 。A、按位与 B、逻辑与 C、按位异或 D、按位取反8、表达式18/4*sqrt(4.0)/8值的数据类型为_B_.A、 int       B、 float&#

3、160;       C、 char      D、不确定二、填空题1. C+程序执行过程生成的3种文件及扩展名为_源代码文件 .cpp_、_.目标代码文件".obj"_和_目标代码文件".obj"_。2. 表达式x=x+1表示成增量表达式为_x+;_。3. 若y是int型变量,且y=6,则表达式 ( y%2+(y+1)/2 ) 的值为_3_。4. 若要在程序文件中使用数学标准函数,则必须在开始的#include命令

4、中使用_<math.h>_头文件。5. 表达式0x13 0x17的值是_4_。6. 定义一个整型常量VALUE,其值为40的定义语句为_#define VALUE 40 。7. 与3x3+xy3+y3对应的C+表达式是_3*y*y*y+x*y*y*y+y*y*y 8. 的整数可以用 十进制 、_八进制_、和_十六进制_三种进位制表示。9. C语言的基本数据类型有_整型_、_浮点型(实型)_和_字符型_。10. 表达式3.5+1/2的计算结果是_3.5_。11. 和C+程序总是从_main() 开始执行。12. 若k为int型变量且赋值11。请写出运算k+后表达式的值为_11_ _,

5、 k变量的值_ 12 _。13. 若要在一个C在程序文件中用cin和cout进行输入输出操作,则必须在开始的#include命令中使用_<iostream.h>_头文件。第三章输入和输出一、单选题1、printf函数中用到格式符5s,如果字符串长度大于5,则输出方式为_ B _。A、从左起输出该字串,右补空格 B、按原字符长从左向右全部输出C、右对齐输出该字串,左补空格 D、输出错误信息2、C+中,有以下定义:int a,b;若要从键盘输入变量a,b的值,则正确的输入语句是_A_。A、cin>>a>>b; B、cin<<a<<b; C

6、、cout>>a>>b; D、cout<<a<<b;第四章控制结构一、单选题1、以下程序的输出结果是(A)。include<stdio.h>main( ) int x,y;for (x=1,y=1;x<=15;x+) if(y>20) break; if(y%3= =1) y+=3; continue; y-=10;printf(“%d,%dn”,x,y);A 8,22 B 7,20 C 6,22 D 5,202、break语句的正确的用法是_ B _。 A、无论在任何情况下,都中断程序的执行,退出到系统下一层。 B、在多

7、重循环中,只能退出最靠近的那一层循环语句。 C、跳出多重循环。D、只能修改控制变量。3、下面程序的运行结果是_B _。main( )int x=4,y=5;if (x>y)&&(+x>0) cout<<(x+y);cout<<x; A、9 4 B、 4C、5 D、10 54、 在如下程序段中的while循环_C_。int k=0;while(k=1) k+;A、有语法错,不能执行 B、一次都不执行 C、死循环 D、执行一次5、 已知    int t=0;    while (t=1

8、)    .    则以下叙述正确的是_B_。A、循环控制表达式的值为0     B、循环控制表达式的值为1C、循环控制表达式不合法     D、以上说法都不对6、有如下程序:    void main()        int x=1,a=0,b=0;    switch(x)     case 0: b+; 

9、60;  case 1: a+;    case 2: a+;b+;        printf("a=%d,b=%dn",a,b);    该程序的输出结果是_A_。    A、a=2,b=1     B、a=1,b=1     C、a=1,b=0     D、a=2,b=27、 若运行时给变量x输入12,则以下程序的运行结果

10、是_A_。void main()int x,y; scanf("d",&x);yx>12?x+10:x-12; printf("dn",y); A、0 B、22 C、12 D、 108、C语言中whi1e和do-while循环的主要区别是_A_ _。A、do-while的循环体至少无条件执行一次 B、while的循环控制条件比do-while的循环控制条件严格C、do-while允许从外部转到循环体内 D、do-while的循环体不能是复合语句9、continue语句的正确的用法是 A 。 A、跳过该循环体中剩余的语句而强行开始下一次循环。

11、 B、在多重循环中,只能退出最靠近的那一层循环语句。 C、跳出多重循环。 D、无论在任何情况下,都中断程序的执行,退出到系统下一层。10、有如下程序:    void main()    int n=9;    while(n>6)n-; printf("%d",n);        该程序的输出结果是_B_。    A、987     B、876  

12、  C、8765     D、9876二、填空题1、结构化程序设计的三种基本结构是:_顺序结构_、_循环结构_和_条件结构_。2、执行if(x|!x) printf(”ABC”);else printf(”XYZ”);屏幕上显示的是_ABC_。三、程序填空题1、程序打印如下形式的图形* * * * * * *void main() for(int i=1;i<=4;i+) for(int j=1; j<6-i ;j+) printf( ”* ” );printf( “n” );2、以下程序的功能是:从键盘上输入若干个学生的成绩,统计并输出最高

13、成绩和最低成绩,当输入负数时结束输入。请填空。 void main() float x,amax,amin; scanf(“%f”,&x); amax=x;amin=x; while( x>=0 ) if(x>amax) amax=x; if( x<amin ) amin=x; scanf(“%f”,&x); printf(“namax=%fnamin=%fn”,amax,amin); 3、以下程序把大写字母A-Z转换成对应的小写字母a-z,其它字符不转换。 #include<stdio.h>void main() char ch;scanf(“%

14、c”, &ch );ch=(_ch<='Z'&&ch>='A' _)?ch+32:ch;printf(“char=%cn”,ch);4、下列程序求100之内的自然数中偶数之和。#include<stdio.h>void main() int i=1,s; s=0 ; while (i<100) if (i%2=0) s+=i ; i+ ; printf(“s=%dn”,s );5、6、下面程序的功能是:输出 100以内(不包含100)能被 3整除且个位数为 6的所有整数,请填空。includestdiohvo

15、id main()   int i, j;for(i=1; _i<100_; i+)if (_i%3=0&&i%10=6) printf("%d",i); 第五章函数一、单选题1、以下说法正确的是_C_。    A、C语言程序总是从第一个函数开始执行    B、在C语言程序中,要调用函数必须在main()函数中定义    C、C语言程序总是从main()函数开始执行    D、C语言程序中的main()函

16、数必须放在程序的开始部分2、以下对C语言函数的描述中,正确的是 A 。A、C程序由一个或一个以上的函数组成 B、函数既可以嵌套定义又可以递归调用C、函数必须有返回值,否则不能使用函数 D、C程序中调用关系的所有函数必须放在同一个程序文件中3、下列函数形式正确的是(D) A、double fun(int x,int y) B、fun(int x,y) C、fun(x,y) D、double fun(int x,int y) z=x+y; int z; int x,y double z; return z; return z; double z=x+y; z=x+y; return z; retu

17、rn z; 4、有宏定义#define f(x) x*x,则宏调用f(3+4)的结果为(B)。 A、49 B、19 C、22 D、3+45、一个函数无返回值时,函数的类型应定义为_ A _。A、void B、任意 C、int D、无6、以下函数定义形式正确的是_C _。A、double fun(x,y); B、double fun(int x;int y);C、double fun(int x,int y); D、double fun(int x,y);7、某程序中对myfun函数有此说明:void myfun( ); 此说明的含义是 A 。A、myfun函数无返回值 B、myfun函数的返回

18、值可以是任意的数据类型C、myfun 函数的返回值是无值型的指针类型 D、指针myfun指向一个函数,该函数无返回值二、填空题1、 在函数外定义的变量称为_全局_变量。2、函数的返回值是通过函数中的_return _语句获得的。3、把flag定义为静态双精度实型变量的语句是_static double flag;_。4、函数fun的功能是求x的y次方(y>=1),请填空。double fun(double x,int y) _int i_; double z;for(i=1,z=1;_i<=y_ _;i+) z=z*x;_return z_ _;四、改错题: 下面的程序完成数值1到

19、N之间的奇数之和。在main()函数中输入N值,并输出求和结果。在sum()函数中完成奇数累加,并把累加结果作为函数值返回。请更改程序中的五个错误。注意:不得增行或删行,也不得更改程序结构。#include <stdio.h>int sum(int m) int i,s=0;for (i=m;i>=1;i+-) if (i%2=1) s=s+i; return s; void main( ) int n; printf(”请输入N的值:”);scanf(”%d”,&n);printf(”奇数之和为%d”,sum(n);第六章数组一、单选题1、下列说法正确的是 B 。A

20、、在2000,2001,20022007这几个连续的地址单元中可存放8个数据。B、在2000,2001,20022007这几个连续的地址单元中可存放8个字符。C、在2000,2001,20022007这几个连续的地址单元中可存放字符串”ABCDEFGH”。D、在2000,2001,20022007这几个连续的地址单元中可存放8个整数。2、在下面的一维数组定义中,哪一个有语法错误_C_。A、int a =1,2,3; B、int a10=0; C、 int a; D、int a5;3、调用函数strlen(“abcdtefng”)的返回值是。A A、9 B、7 C、6 D、44、设有数组定义:

21、char array="China" 则数组 array所占的空间为_C _。A、4个字节B、5个字节C、6个字节D、7个字节5、要使字符串变量str具有初值"ABCDEFGH",正确的定义语句是_ D _。A、char str8='A','B','C','D','E','F','G','H'B、char str8="ABCDEFGH"C、char str='A','B',&#

22、39;C','D','E','F','G','H'D、char str="ABCDEFGH"6、 以下能正确进行字符串赋值的是 C 。A、char s5=a,e,I,o,u; B、char s5;s=”good”;C、char s5=”abcd”; D、 char s5;s=”good”;7、 设有如下定义,则正确的叙述为 C 。 char x=“abcdefg”; char y=a,b,c,d,e,f,g;A、数组x和数组Y等价 B、数组x和数组y的元素个数相同C、数组x的元素个数大于

23、数组y的元素个数 D、数组x的元素个数小于数组y的元素个数8、 有定义:char ch,s30; int a,b;下列输入语句正确的是_C_。A、scanf(“%d%f”,&a,&b);B、scanf(“%s%c”,&s,&ch);C、scanf(“%c%s”,&ch,s);D、scanf(“%d%c”,a,ch);9、有以下程序: void main() char p=a,b,c,q=”abc”; printf(“%d %d”,sizeof(p),sizeof(q); 程序运行后的输出结果是( C )。 A、4 4 B、3 3 C、 3 4 D、4 3

24、10、(多选)在VC中,要定义一个int型一维数组art,并使其各元素具有初值89,-23,0,0,0,正确的定义语句有( A C D ).A.int art5=89,-23;B.int art=89,-23;C.int art5=89,-23,0,0,0;D.int art=89,-23,0,0,0;11、(多选)要定义一个int型二维数组bat,并使其各元素具有初值 1 2 3 4 2 3 0 0 3 0 0 0 0 0 0 0正确的定义语句有( B C D ) A.int bat4=1,2,3,4,2,3,3; B.int bat44=1,2,3,4,2,3,0,0,3,0,0,0,0,

25、0,0,0; C.int bat4=1,2,3,4,2,3,3,0; D.int bat44=1,2,3,4,2,3,3;12、(多选)要使字符串数组STR含有"ABCD","EFG"和"XY"三个字符串,正确的定义语句有( B C D ). A.char STR4="ABCD","EFG","XY" B.char STR5="ABCD","EFG","XY" C.char STR6="ABCD"

26、,"EFG","XY" D.char STR7='A','B','C','D','0',"EFG","XY"13、若用数组名作为函数调用的实参,传递给形参的是 A 。A、数组的首地址     B、数组第一个元素的值    C、数组中全部元素的值    D、数组元素的个数二、填空题1、已知数组T为一有10个单元的整型数组,下面的语句试图按相

27、反的顺序显示输出T中的10个元素的相反数;请补充完整下面的语句: for(int j=9;j>=0;j-) cout<<_-Tj_;2、已知数组T为一有10个单元的整型数组,下面的语句试图求出这10个单元的合计值,并用s保存这个值;请补充完整下面的语句: int s=_0_; for(int j=0;j<10;j+) _s+=Tj_;3、已知数组d 定义为double d53;则d是一个( 5)行( 3)列的二维数组,总共有(15 )个 元素,最大行下标是(4 ),最大列下标是(2 ).4、已知数组e定义为int e4=1,2,3,4,5,6,7,8;,则e是一个( 2

28、)行( 4)列的二维数组,总共有(8 )个元素,最大行下标是(1 ),最大列下标是( 3),其首行的每个元素的值分别是( 1 2 3 4).5、已知数组f定义为double f3=1,2,5,6,7,8;,则e是一个(3 )行( 3)列的二维数组,总共有(9 )个元素,按行列出的各元素的值是( 1,2,0 5,0,0 6,7,8 ).6、要使g成为具有如下初始值的二维int型数组: 1 0 0 0 0 1 2 0 0 0 1 2 3 0 0 1 2 3 4 0 1 2 3 4 5最简单的定义g的语句是( int g5=1,1,2,1,2,3,1,2,3,4,1,2,3,4 );7、下面的语句按

29、行显示输出5行3列数组m的所有元素,请补充完整: for(int i= 0 ;i< 5 ; i+ ) cout<<endl; for(_int j=0_;_j<3_;j+) cout<<_mij_<<' ' 8、执行语句序列 char str1="ABCD",str210="XYZ" for(int i=0;str2i+1=str1i;i+); 后,数组str2中的字符串是( XABCD ).三、程序填空题1、下列程序是一个求数组元素之和的程序。主程序中定义并初始化了一个数组,然后计算该数组

30、各元素之和,并输出结果。函数sum计算数组元素之和。请完成下列程序。#include<iostream.h>sum(int,int);void main( ) int a5=2,3,6,8,10; int total; total=_sum(a,5)_; cout<<"数组元素之和为:"<<_total_<<endl;int sum(int array,int len) int s=0; for(int i=0;i<len;i+) s +=arrayi ; return s;2、下面的语句显示输出6行6列数组h的主对角线

31、上的所有元素,请补充完整:for(int i= 0 ;i< 6 ;i+) cout<< hii ;3、下面的程序通过函数average计算数组中各元素的平均值。 float average(int pa,int n) int i; float avg=0.0; for(i=0;i<n;i+) avg=avg+ pai ; avg= avg/i ; return avg; void main() int i,a5=2,4,6,8,10; float mean; mean=average( a ,5); printf(“%fn”,mean); 4、以下函数返回数组s中最大元

32、素的下标,数组中元素的个数由t传入。int Findmax(int s,int t) int m,n; for(n=0,m=n;n<t;n+) if(sn>sm) n=m ; return n ;5、下面程序是用递归函数fib(n)计算斐波那契(Fibonacci)数列第n项。斐波那契数列为:0,1,1,2,3,5 int fib(int n) if(n=0)return(0); if(n=1) return(1); if(n>1) return( fib(n-1) + fib(n-2) ); 第七章指针一、单选题1、若有语句int *point,a=4;和 point=&a

33、mp;a;下面均代表地址的一组选项是_D_。    A、a,point,*&a    B、&*a,&a,*point     C、*&point,*point,&a     D、&a,&*point,point2、程序中对fun函数有如下说明:void *fun();此说明的含义是_C_ _。 A、fun函数无返回值 B、fun函数的返回值可以是任意的数据类型 C、fun函数的返回值是无值型的指针类型 D、指针fun指向一个函数,

34、该函数无返回值3、已知:int *p, a,b;p=&a; 则语句“b=*p; ”中的运算符“*”的含义是 C 。A、指针定义 B、乘法运算符 C、取指针所指变量内容 D、取变量地址4、C语言的语句char *line5;是指 A 。A、line 是一个数组,其数组的每一个元素是指向字符的指针。B、line是一个指针,指向一个数组,数组的元素是为字符型。C、A和B 均不对,但它是C语言正确的语句。D、C语言不允许这样的语句。5、若有定义:int x,*pb;则以下正确的赋值表达式是_A_。A、pb=&x B、pb=x C、*pb=&x D、*pb=*x6、说明语句“fl

35、oat (*p)(int);”的含义是_C _。A、p是一个指向一维数组的指针变量B、p是指针变量,指向一个整型数据C、p是一个指向函数的指针,该函数的返回值是一个浮点型,且有一个整型数据作参数D、以上都不对7、设变量定义为 int a3=1,4,7,8,*p=&a2;, 则*p的值是 A 。 A、&a2 B、4 C、 7 D、 18、 要使指针变量p指向2维数组A的第一个元素(0行0列元素),正确的赋值表达式是 D 。A、p=A或p=A00 B、p=A0或p=A00C、p=A0或p=&A00 D、p=A或p=&A009、下列说法正确的是 C 。A、空指针也称为

36、void 指针,是一种不指向任何数据的指针。B、空指针也称为无类型指针,是一种可指向任何类型数据的指针。C、除了void指针外,任何非空指针都指向某种既定类型的数据。D、void指针也称为无类型指针,是一种不指向任何数据的指针。10、 若已定义:int a9, *p=a;并在以后的语句中未改变p的值,不能表示a1地址的表达式为 C 。A、p+1          B、a+1          C、a+ &#

37、160;      D、+p11、已知:int x; int y10; 下列_A_是合法的。 A、&x B、&(x+3) C、&5 D、&y12、 已知一运行正常的程序中有这样两个语句:int *p1,*p2=&a;p1=b;由此可知,变量a和b的类型分别是 C 。A、int和int B、int *和int C、int和int* D、int*和int*13、(多选)已知变量ld定义为:long ld;在下面关于指针p的定义中,不能通过p修改ld的有(B D )。A long *p=&ld;B lo

38、ng const *p=&ld;C long *const p=&ld;D const long *p=&ld;14、要使指针变量p指向2维数组A的第一个元素(0行0列元素),正确的赋值表达式是( D)。A p=A或p=A00B p=A0或p=A00C p=A0或p=&A00D p=A或p=&A0015、已知函数f1的原形是:void f1(int *a,char *b);,变量v1,v2的定义是:int v1;char v2=”ABCDW”;,把v1和v2分别作为第一参数和第二参数来调用函数f1,正确的调用语句是(B)。 A.f1(v1,v2); B.

39、f1(&v1,v2); C.f1(v1,&v2); D.f1(&v1,&v2);16、已知函数f1的原形是:void f1(int *a,long b);变量v1,v2的定义是:int v1;long v2;把v1和v2分别作为第一参数和第二参数来调用函数f1,正确的调用语句是( B)。A f1(v1,v2); B.f1(&v1,v2); C.f1(v1,&v2); D.f1(&v1,&v2);17、设有下列定义:static int x,*p=&x,*q; scanf(“%d,%d”,p,q); 若输入3,4,则x的值为

40、_ A _。 A、3 B、4 C、0 D、无法确定二、填空题1、若正常执行了如下语句:int m=1,2,3,4,5,6,7,8,*p1=m+3,*p2=&m6,*p3;p3=p1+3;cout<<endl<<*p1<< <<*p2<< <<*p3;则程序的输出是_4 7 75_。2、P为一指针变量,将P所指向单元的数据值加1并作为表达式的值的表达式是_+(*p)_。3、要使用引用jr代表变量int j;jr应定义为 int & jr=j; 。4、 已知变量ld定义为:int ld;,现需要一个只能指向ld

41、的指针p,且禁止通过p修改ld,则p应定义为 const int *p=ld; 。5、 P为一指针变量,取p所指向单元的数据作为表达式的值,然后使p指向下一个单元的表达式是 *p+ 。6、已知指针p为int型指针,且其指针值为5000,则p+3的指针值为 5012 。(注:sizeof(int)=4)7、若正常执行了如下语句:int m5=9,8,4,5,6,*p1=m,*p2=&m3,n;n=p2-p1;则n的值为_3_。 8、p1,p2都是字符指针,p1指向字符串“ABCDEFGIJKLMN”,p2-p1的差为5,则执行cout<<p2;时显示在屏幕上的是 FGIJKL

42、MN 。9、P为一指针变量,使p指向下一个单元,然后取该单元的数据作为表达式的值的表达式是 *+ p 。10、已知变量n定义为:int n;,现需要一个只能指向n的指针p,且允许通过p修改n,则p应定义为 int const *p=&n 。11、若要进行堆内存的申请及释放,则必须在开始的#include命令中使用_<stdlib.h> <alloc.h>_头文件。12、已知变量ld定义为:long ld;,现需要一个指向ld的指针p,但又禁止通过p修改ld,则p应定义为 long *const p=ld 。13、P为一指针变量,取p所指向单元的数据作为表达式的值

43、,然后使p指向下一个单元的表达式是(*p+ )。14、P1,p2都是字符指针,p1指向字符串“ABCDEFGIJKLMN”,p2-p1的差为9,则执行语句cout<<p2;时显示在屏幕上的是(FGIJKLMN)。15、已知指针p为int型指针,且其指针值为5000,则p+3的指针值为( 5012)。16、已知函数fa的原形是: int fa(int,char *);,pfa是指向fa的指针,则pfa的定义是(int (*pfa)(int,char*)=fa )17、已知函数fb的原形是:char *fb(const char *);,pfb是指向fb的指针,则pfb的定义是(int

44、(*pfb)(const char *)=*fb )。18、要使用引用jr代表变量int j;jr应定义为(int & jr=j )。19、要使引用pr代表变量char *p;pr应定义为(int & pr=*p )。20、已知变量a,b定义为:int a=99,&b=a;则cout<<a-1<<,<<b+1;的输出是(98,100 )。21、已知变量x,y定义为:int x=99,98,97,&y=x1;则cout<<y-1<<,<<y*2;的输出是(97, 196 )22、已知s1,s2

45、,s3是三个有足够元素个数的字符串变量,利用标准函数并借助于s3,可以交换s1和s2中的字符串;实现这一交换过程的语句序列是(strcpy(s3.s1);strcpy(s1,s2);strcpy(s2,s3) ).23、已知s1,s2,s3是三个有足够元素个数的字符串变量,要求把s1和s2中的字符串拼接到s3中;利用标准函数实现这一拼接过程的语句是( strcat(s3,s1); strcat(s3,s2); ).24、已知s1和s2是两个字符串变量,要求显示输出s1,s2中较大的哪个字符串,若相等,两个都输出;利用标准函数实现这一输出过程的语句序列是( if(strcmp(s1,s2)>0 cout<<s1<<endl; else if (strcmp(s1,s2)=0) cout<<s1<<s2<<endl; else cout<<s2<<endl; ).三、程序改错题下列程序功能是:将字符串中的小写字母都改成对应的大写字母,其他字母不变。请更改程序中的错误。#include<stdio.h>#include<string.h>char *fun(char str ) int

温馨提示

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

评论

0/150

提交评论