C语言程序设计试题及答案(十)(共20页).doc

上传人:飞****2 文档编号:5232305 上传时间:2021-12-13 格式:DOC 页数:19 大小:74.50KB
返回 下载 相关 举报
C语言程序设计试题及答案(十)(共20页).doc_第1页
第1页 / 共19页
C语言程序设计试题及答案(十)(共20页).doc_第2页
第2页 / 共19页
点击查看更多>>
资源描述

《C语言程序设计试题及答案(十)(共20页).doc》由会员分享,可在线阅读,更多相关《C语言程序设计试题及答案(十)(共20页).doc(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上C语言程序设计试题及答案(十)一、选择题:1.以下不是C语言的特点的是(    )A.C语言简洁、紧凑                  B能够编制出功能复杂的程序C. C语言可以直接对硬件进行操作     DC语言移植性好2. 以下不正确的C语言标识符是(    )。AABC  

2、       Babc         Ca_bc         Dab.c3一个c程序的执行是从(   ).Amain(    )函数开始,直到main(    )函数结束B第一个函数开始,直到最后一个函数结束C.第一个语句开始,直到最后一个语句结束Dmain( &

3、#160;  )函数开始,直到最后一个函数结束4以下不正确的语句(设有int p,q)是(    )。AP*3; B.pq;   C.p十3; Dpq5下列四组选项中,均不是C语言关键字的选项是(    ).Adefine    B.getc      C.include    D.while     if  

4、0;        char         sanf         gotype           printf       case      

5、;   pow6下面四个选项中,均是合法整形常量的选项是(   ). A.160              B.-0xcdf        C.-01        D.-0x48a   -0xffff     

6、0;       01a           986,012      2e5       011               0xe      &#

7、160;       0668         0x7. 下面四个选项中,均是不合法浮点数的选项是(   ). A.160.            B.123            C.-.18  &

8、#160;     D.-e30.12               2e4.2               123e4       0.234       e3  

9、60;               .e5                0.0            1e38. 若有代数式3ae/bc,则不正确的C语言表达式是( )   A.a/b/c*e*3&

10、#160;                               B.3*a*e/b/c        C.3*a*e/b*c        &

11、#160;                      D.a*e/c/b*39. 若以下变量均是整形,且num=sum=7;则计算表达式sUM=num+,sUM+,+num后sum的值为( ).A.7          B.8     &#

12、160;   C.9                D.1010.若有定义:int a=7; float x=205 ,y=4.7; 则表达式x+a%3*(int)(x+y)%2/4的值是( )。      A.2.          B.2.   

13、       C.3.          D.0.11. sizeof(float)是( )。A.一个双精度型表达式               B. 一个整型表达式       C.一种函数调用   

14、0;                    D. 一个不合法的表达式12. 设int n3;则n十十的结果是(    )。     A.2         B.3      C.4 

15、0;     D.513. 设有说明: char w; int x; float y; double z; 则表达式w*x+z-y值的数据类型为(   )。      A.float               B.char          

16、60;    C.int                 D.double.14. 若x,y均定义为int型,z定义为double型,以下不合法的scanf函数调用语句是( ).A. scanf(“%d%d1x,%1e”,&x,&y,&z);B. scanf(“%2d*%d%1f”,&x,&y,&z);C. scanf(“%x%*d%o”,&x,&am

17、p;Y);D. scanf(“%x%o%6.2f”, &x,&y,&z);15. 以下说法正确的是( ).A. 输入项可以为一个实型常量,如scanf(“%f”,3.5);B. 只有格式控制,没有输入项,也能进行正确输入,如scanf(“a=%d,b=%d”);C. 当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(“%4.2f”,&f);D. 当输入数据时,必须指明变量的地址,如scanf(“%f”,&f);16. 以下程序的执行结果是(   )。#include<stdio.h>main(

18、)int sum,pad;sum=pad=5;pad=sum+;pad+;+pad;printf("%dn",pad);A.7         B.6               C.5               &#

19、160;    D.417. 巳知字母A的ASCII码是65,以下程序的执行结果是( )。#include<stdio.h>main() char c1='A',C2='Y' printf("%d,%dn",c1,c2);A.A,Y         B.65,65          C.65,9

20、0              D.65,8918. 为了避免嵌套的if-else语句的二义性,c语言规定else总是与(   )组成配对关系。A.缩排位置相同的ifB.在其之前末配对的ifC.在其之前未配对的最近的ifD.同一行上的if19. 逻辑运算符两侧运算对象的数据类型( ). A.能是0或1 B.只能是0或非0正数 C.只能是整型或字符型数据     

21、; D.可以是任何类型的数据20. 设x、y和z是int型变量,且x3,y4,z5,则下面表达式中值为0的是(   ).A.x&&yB.xyC. xy+z&&y-zD.!(xy)!z 1)21. 若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”。则以下不能满足要求的表达式是( ).A.A21    B.!(A20)    C.!(A2)    D.A222. 以下不正确的if语句形式是( ).A.if(x

22、y&&x!=y);B.if(xy)x十y;C.if(x ! y)scanf(“d”,&x) e1se scanf(”d,&y);D.if(xy)x十十;y十十;23. 以下if语句语法正确的是( ).A.if(x0)    printf(“f“,x)    else printf(“f”,-x);B.if(x0)xx+y;printf(“%f“,x);else printf(“%f”,-x)C.if(x0)xx+y;printf(“%f“,x);else printf(“%f”,-x)D.if

23、(x0)xx+y;printf(“%f“,x);else printf(“%f”,-x)else printf(“%f”,-x);24. 阅读以下程序main()int a=5,b=0,c=0;if(a=b+c) printf(“*n”);else     printf(“$n”);以上程序 (   ).A.语法有错不能通过编译                 

24、60;     B.可以通过编译但不能通过连接 C.输出*                                   D.输出$25. 以下程序运行结果是( ).main()int a=10

25、0,x=10,y=20,ok1=5,ok2=0; if (x<y)    if (y!=10)     If(!ok1)          a=1;       else           if(ok2)   a=10; a=-1;print

26、f(“%dn”,a);A.1           B.0              c.-1                   D.不确定26. 执行以下程序段后,变量a,b,c得值分别是

27、( ).int x=10,y=9;int a,b,c;a=(-x=y+)? x: +y;b=x+;c=y;A.a=9,b=9,c=9                  B.a=8,b=8,c=10C.a=9,b=10,c=9                 D

28、.a=1,b=11,c=1027. 若w,x,y,z,m均为int型变量,则执行下面语句后的m值是( ).w=1;   x=2;   y=3;   z=4;m=(w<x)? w:x;m=(m<y)? m:y;m=(m<z)? m:z;A.1            B.2           

29、    C.3                 D.428. 语句while(!e);中的条件!e等价于(    )。     A.e0       B.e!1          

30、C.e!0             D.e29. 下面有关for循环的正确描述是(   )A.for循环只能用于循环次数已经确定的情况B.for循环是先执行循环体语句,后判定表达式C.在for循环中,不能用break语句跳出循环体D.for循环体语句中,可以包含多条语句,但要用花括号括起来30. C语言中while和do-while循环的主要区别是( ).A.do-while的循环体至少无条件执行一次B.while的循环控制条件比的循环控制条件严

31、格C.do-while允许从外部转到循环体内D.do-while的循环体不能是复合语句31.以下程序段( ).x=-1; dox=x*x; while(! x);A.是死循环                 B.循环执行二次C. 循环执行二次           D.有语法错误32. 下面程序的运行结果是(&

32、#160;).#include <stdio.h>main()int y=10;doy-;while(-y);printf(“%dn”,y-);A.-1        B.1            C.8                D.033. 以下正确

33、的描述是( ).A.continue语句的作用是结束整个循环的执行B.只能在循环体内和switch语句体内使用break语句C.在循环体内使用break语句或continue语句的作用相同D.从多层循环嵌套中退出时,只能使用goto语句34. c语言中(    )。A.不能使用do-while语句构成的循环B.do-while语句构成的循环必须用break语句才能退出C.dowhiLe语句构成的循环,当while语句中的表达式值为非零时结束循环D.dowhile语句构成的循环,当while语句中的表达式值为零时结束循环35. 在C语言中,引用数组元素时,

34、其数组下标的数据类型允许是( )     A. 整型常量   B.整型表达式C.整型常量或整型表达式D.任何类型的表达式36. 在C语言中,一位数组的定义方式为:类型说明符 数组名( )。A. 常量表达 B. 整型表达式C. 整型常量或整型表达式 D. 整型常量37. 以下不能对二维整形数组a进行正确初始化的语句是( )。A.int a23=0;B. int a3=1,2,0;C. int a23=1,2,3,4,5,6;D. int a3=1,2,3,4,5,6;38. 若有说明:int a4

35、=0,0;则下面正确的叙述是()。A. 数组a中每个元素均可得到初值0 B. 二维数组a的第一维大小为1C. 因为二维数组a中第二维大小的值除以初值个数的商为1,故数组a的行数为1D.只有元素a00和a01可得到初值0,其余元素均得不到初值039. 若有说明:int a3=1,2,3,4,5,6,7;则a数组第一维的大小是( )。A.2           B.3          C.4

36、0;         D.无确定值40. 下面程序的运行结果是( )。char c5=a,b,0,cc,0;printf(“%s”,c);A.abB.abC.ab cD.ab41. 有两个字符数组a、b,则以下正确的输入语句是( )。gets(a,b);scanf(“%s%s”,a,b);scanf(“%s%s”,&a,&b);gets(“a”),gets(“b”); A. sj+=si        

37、0; B. s+j=siC. sj=si; j+       D.sj=si42. 若使用一维数组名作函数实参,则以下正确的说法是( ).A.必须在主调函数中说明此数组的大小B.实参数组类型与形参数组类型可以不匹配C.在被调函数中,不需要考虑形参数组的大小D.实参数组名与形参数组名必须一致43. 以下正确的说法是( ).A.如果在一个函数中的复合语句中定义了一个变量,则该变量只在该复合语句中有效B.在该函数中有效C.在本程序范围内均有效D.非法变量44. 凡是函数中未指定存储类别的局部变量,其隐含的存储类

38、别为( ).A.自动(auto) B.静态(static)C.外部(extern) D. 寄存器(register)45. 以下程序的运行结果是( )。#define MIN(x,y)   (x)<(y)?(x):(y)main()int i=10,j+15,k;k+10*MIN(i,j);printf(“%dn”,k);A.10           B.15       

39、;     C.100              D.15046. C语言的编译系统对宏命令的处理是( )。A.在程序运行时进行的B.在程序连接时进行的C.和C程序中的其它语句同时进行编译的D.在对源程序中的其它语句同时进行编译的47. 请读程序#include<stdio.h>#defineMUL(x,y)(x)*ymain()int a=3,b=4,c;c=MUL(a+,b+);p

40、rintf("%dn",c);       上面程序的输出结果是( )。A.12       B.15      C.20       D.1648. 以下程序的输出结果为( )。#definePT    5.5#defineS(x)   PT*x*xmain

41、()inta=1,b=2;printf("%4.1n",S(a+b);A.12.0        B.9.5       C.12.5     D.33.549. 在“文件包含”预处理语句的使用形式中,当#include后面的文件名用<>括起时,寻找被包含文件的方式是( )。A.仅仅搜索当前目录B.仅仅搜索源程序所在目录C.直接按系统设定的标准方式搜索目录D.先在源程序所在目录搜索,再按系统设定

42、的标准方式搜索50. 以下正确的描述是( )。A.C语言的预处理功能是指定完成宏替换和包含文件的调用B.预处理指令只能位于C源程序文件的首部C.凡是C源程序中行首以“#”标识的控制行都是预处理指令D.C语言的编译预处理就是对源程序进行初步的语法检查51. 设p1和p2是指向同一个字符串的指针变量,c为字符变量,则以下不能正确执行的赋值语句是( )。 A.c=*p1+p2;     B.p2=c      C.p1=p2      

43、60;D.c=*p1*(*p2);52. 设有下面的程序段:          chat s=”china”; char *p; p=s;          则下列叙述正确的是( )。A.s和p完全相同B.数组s中的内容和指针变量p中的内容相等 C.s数组长度和p所指向的字符串长度相等D.*p与s0相等53. 下面程序的运行结果是( )。     

44、    #include<stdio.h>         #include<string.h>         main()         char *p1,*p2,str50=”abc”;p1=”abc”; p2=”abc”;strcpy(str+1,strcat(p1,p2);print

45、f(“%sn”,str);A. abcabcabc   B.bcabcabc C. aabcabc   D.cabcabc54. 若有定义:int a23;则对数组a的第i行第j列(假设i,j已正确说明并赋值)元数值的正确引用为( )。        A.*(*(i+j)+j) B.(a+i)j   C.*(a+i+j)     D.*(a+i)+j55. 若有定义:int (*p)4;则标识符p

46、( )。A.是一个指向整型变量的指针B.是 一个指针数组名C.是一个指针,它指向一个含有四个整型元素的一维数组D.定义不合法56. 若有以下定义和赋值语句,则对b数组的第i行第j列(假设i,j已正确说明并赋值)元素地址的非法引用为( )。int b23=0,(*p)3;p=b;A.*(*(p+i)+j)          B.*(pi+j)C.(p+i)+j           

47、;    D.(*(p+i)j57. 当说明一个结构体变量时系统分配给它的内存是( ).A.各成员所需内存量的总和B.结构中第一个成员所需内存量C.成员中占内存量最大者所需的容量D.结构中最后一个成员所需内存量58. C语言结构体类型变量在程序执行期间( ).A.所有成员一直驻留在内存中B.只有一个成员驻留在内存中C.部分成员驻留在内存中D.没有成员驻留在内存中59. 以下对C语言中共用体类型数据的叙述正确的是(   )。       A.可以对共用体变量名直接赋值

48、       B.一个共用体变量中可以同时存放其所有成员       C.一个共用体变量中不可能同时存放其所有成员       D.共用体类型定义中不能出现结构体类型的成员60. C语言共用体型变量在程序运行期间 ( )   。          A.所有成员一直驻留在内存中 &

49、#160;        B.只有一个成员驻留在内存中          C.部分成员驻留在内存中          D.没有成员驻留在内存中61. 请读程序片段:int x=20;printf(“%dn”, x);上面程序片段的输出结果是(   ).A.02B.20C.-21D.-1162. 在位运算中,操作数每左移一位,其结

50、果相当于(   ).A.操作数乘以2B.操作数除以2C.操作数除以4D.操作数乘以463. 系统的标准输入文件是指( )。A. 键盘        B .显示器        C .软盘        D. 硬盘64. 当顺利执行了文件关闭操作时,fclose函数的返回值是( )。 A .-1    

51、;   B. TURE        C. 0       D.165. 已知函数的调用形式:fread(buffer,size,count,fp);其中buffer代表的是          ( )。      A .一个整形变量,代表要读入的数据项总数   

52、0;  B .一个文件指针,指向要读的文件      C .一个指针,指向要读入数据的存放地址      D.一个存储区,存放要读的数据项 二、填空题:1. C程序的基本单位是          。2. 表达式10%3的结果是           。3. 假设所有变量均为整型,则表达式(a

53、=2,b=5,a+,b+,a+b)的值为         。4. 在C语言中(以16位PC机为例),一个float型数据在内存中所占用的字节数为      ;5C语言所提供的基本数据类型包括:                       &

54、#160;                    。6表达式pow(2.8,sqrt(double(x) 值的数据类型为                  。7以下程序的执行结果是     

55、                           。#include<stdio.h>main()float f=3.5;printf("%f,%g",f,f)8. 以下程序的执行结果是          

56、;        。#include<stdio.h>main()float f=31.41592;printf("%f,%e",f,f)9. 以下程序的执行结果是                          。#include<std

57、io.h>main()int a,b,c;a=2;b=3;c=1;if(a>c)printf("%dn",a);else printf("%dn",b);printf("endn");10. 在C语言中,表示逻辑“真”值用                 .11. 有int x,y,z; 且x=3,y=-4,z=5,则表达式(x&&y)=

58、=(xz)的值为              。12. 下面程序从键盘输入的字符中统计数字字符的个数,用换行符结束循环。请填空。int n=0,c;c=getchar();while(              ) if(c>=0&&c<=9) n+; c=getchar(); 13

59、. 执行下面程序段后,k值是                       .k=1;n=263;dok*=n%10; n/=10  while(n);14. 下面程序段中循环体的执行次数是               &

60、#160;   .a=10;b=0;dob+=2;a-+2+b; while (a>=0);15. 若for循环用以下形式表示:              for(表达式1;表达式2;表达式3)   循环体语句         则执行语句for(i=0;i<3;i+) printf(“*”);时,表达式3执行 

61、60;        次。16. 以下程序的输出结果是_。main( )int s10=1,2,3,4,5,6,7,8,9,10,*p=s;printf("%dn",*(p+4);17. 若二维数组a有m列,则计算任一元素aij在数组中位置的公式为:            。(假设a00位于数组的第一个位置上。)18. 在C语言中,二维数组元素的内存中的存放顺序是   

62、;            。19. 在C 语言中,一个函数一般由两个部分组成,它们是                           。20. 以下程序的运行结果是     &

63、#160;             。          #include<stdio.h>          f(int a)          int i=0;   

64、;        while (ai<=10)printf(“%d”,ai); i+;main()int a=1,5,10,9,11,7; f(a+1);21. 设有以下宏定义:define WIDTH 80                    #define LENGTH (WIDTH+40)则执行赋值语句:

65、k=LENGTH*20;(k为int 型变量)后,k的值是                。22. 下面的运行结果是                 。#define MUL(z)   (z)*(z)      

66、;      main()                             printf(“%dn”,MUL(1+2)+3);            23. 下面

67、程序的运行结果是                。    #define EXCH(a,b) int t;t=a;a=b; b=t;    main()    int x=5,Y=9;EXCH(x,y);printf(“x=%d,y=%dn”,x,y);24. 下面程序段的运行结果是     

68、60;       。char s80, *sp=”HELLO!”;sp=strcpy(s,sp);s0=h;puts(sp);25. 下面程序段的运行结果是             。            char s1=”AbcdEf”,s2=”aB”;    &

69、#160;       s1+;t=(strcmp(s1,s2)>0);print(“%dn”,t)26. 下面程序段的运行结果是            。          char *p=”PDP1-0”;          int I,d

70、;          for(I=0;I<7;I+)d=isdigit(*(p+ii);if(d!=0) printf(“%c *(p+I);27. 当运行以下程序时,从键盘输入 book<CR>book <CR>(<CR>表示回车, 表示空格),则下面程序段运行的结果是               。ch

71、ar a180,a280,*s1=a1,*s2=a2;gets(s1);gets(s2);if(!strcmp(s1,s2) printf(“*”):else printf(“#”);printf(“%d”,strlen(strcat(s1,s2);28. 若已定义:struct numint a; int b; float f; n=1,3,5.0;struct num * pn = &n;则表达式 (*pn).a+pn->f的值是          

72、; 。29. 在C语言中,&运算符作为双目运算符时表示的是         运算.30. 在C语言中,文件的存取是以字符为单位的,这种文件被称作           文件。 三、编程题:1将一个字符串的内容颠倒过来。2. 求整形数组的最大值。3. 求字符串的长度(不用strlen)。4. 编写程序,将字符串str中的所有字符k删除。5找出二维数组的鞍点,即该位置上的元素是该行上的最大值,是该列上的最

73、小值。二维数组也可能没有鞍点。6a是一个2*4的整型数组,且各元素均已赋值.函数max_value可求出其中的最大元素值max,并将此值返回主调函数.今有函数调用语句max=max_value(a);请编写max_value函数.7. 设计函数,实现字符串连接操作(不使用strcat)。8. 以下程序的功能是应用下面的近似公式计算e的n次方.函数f1用来计算每项分子的值,函数f2用来计算每项分母的值.请编写f1和f2函数.ex=1=x=x22!+x33!(前20项的和)9. 从键盘上输入若干个学生的成绩,计算出平均成绩,并输出不及格的成绩和人数。10设计函数,在二维数组中产生如下形式的扬辉三角

74、形。     1     1    1     1    2    1     1    3    3    1     1    4    6 &#

75、160;  4    1     ······11. 回文是从前向后和从后向前读起来都一样的句子。写一个函数,判断一个字符串是否为回文,注意处理字符串中有中文也有西文的情况。12约瑟夫环问题:编号为1,2,3,···,n的n个人按顺时针方向围坐一圈,每人持有一个正整数密码。一开始任选一个正整数m作为报数上限值,从第一个人开始按顺时针报数,报到m时停止,报m的人出列,将他的密码作为新的m值,从他在顺时针方向的下一个人开始重新从1

76、报数,如此下去,直到所有人全部出列为止。设计程序求出出列顺序。参考答案 一、选择题1. B 2.D 3.A 4.D 5.A 6.A 7.B 8.C 9.A 10.A 11.B 12.B 13.D 14.D 15.D 16.A 17.D 18.C 19.D 20.D 21.C 22.C 23.B 24.D 25.C 26.B 27.A 28.A 29.D 30.A 31.C 32.B 33.B 34.D 35.C 36.D 37.C 38.D 39.B 40.B 41.B 42.A 43.A 44.A 45.B 46.D 47.A 48.B 49.C 50.C 51.B 52.D 53

77、.C 54.A 55.C 56.C 57.A 58.A 59.C 60.B 61.C 62.A 63.A 64.C 65.C二、填空题1.函数  2. 1 3. 9  4. 4  5.单精度型、双精度型、整型、字符型和枚举型 6.双精度型(或:doubLe型) 7.3.,3.5  8. 31.,3.14159e+01 9.end 10.非0的数字 11.1 12.c!='n' 13.36 14.3 15.3 16.5   17.i*m+j+i 18.按行主顺序存放 19.函数说明部分和函数

78、体 20.5 10 9 21.2400 22.12 23.x=8,y=5 24.hELLO!25.1 26.1*0* 27.#9 28.6.0 29.按位与 30.流式 三、编程题1. 解:注意交换位置的控制方法,参考程序如下:#include <stdio.h>#include <string.h>void change(char str) int len,i,j; char c; len=strlen(str); for (i=0,j=len-1;

79、i<len/2;i+,j-)   c=stri;     stri=strj;     strj=c;   main() char str80; printf("Enter string:"); gets(str); change(str); printf("n result is: %sn",str);2解:参考程序如下:#include <stdio.h>int max(in

80、t a,int n) int i,mx; mx=a0; for (i=1;i<n;i+)    if (ai>mx) mx=ai; return mx;main() int a8=23,4,6,12,33,55,2,45; printf("max is %dn",max(a,8);3解:参考程序如下:#include <stdio.h>int strlen(char str) int i; for (i=0;stri!='0'i+); retur

81、n i;main() char str80; printf("Enter string:"); gets(str); printf("n string length is: %d n",strlen(str);4. 解:将从字符串中删除所有字符k 的功能定义为函数。参考程序如下:#include <stdio.h>void delchar(char str,char c) int i,j; for (i=0,j=0;stri!='0'i+)    

82、 if (stri!=c)     strj+=stri; strj='0'main() char str80; int i,j; gets(str); delchar(str,'k'); puts(str);5解:依鞍点定义,对数组每行元素循环,找到当前行上最大元素,记下所在的列号,再判断此元素是否为对应列的最小元素。将寻找打印数组鞍点的操作定义为函数,如果没有鞍点,函数返回-1。参考程序如下:#include <stdio.h>#define N 10#de

83、fine M 10int andian(int aM,int n,int m) int i,j,k,max,maxcol; int flag1,flag2=0; /*flag1标记每一行的最大值是否鞍点,flag2标记矩阵是否有鞍点*/ for (i=0;i<n;i+)   max=ai0;     for (j=1;j<m;j+)       if (aij>max)      

84、0;     max=aij;maxcol=j;     for (k=0,flag1=1;k<n&&flag1;k+)       if (akmaxcol<max)              flag1=0;     if (flag1=1)      printf("n%3d %3d %5dn",i,maxcol,max);             

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 教育教学

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁