C语言复习题

 

一、 判断题:

1.O C程序的基本组成单位是函数

2.O C程序可以由一个或多个函数组成

3.X C语言可以不用编译就能被计算机识别执行

4.X main()函数必须放在其它函数之前

5.O 每个C程序中都必须要有一个main()函数

6.X 在C程序中main()函数的位置是固定的

7.X C程序中的main()函数必须放在程序的开始位置。

8.X C语言编译时不检查语法

9.O C程序中注释部分可以出现在程序中任意合适的地方

10.O C程序中一行可以写多条语句

11.X 分号是C语句之间的分隔符,不是语句的一部分

12.X 花括号“{”和“}”只能作为函数体的定界符

13.X C程序中的每行只能写一条语句

14.X C程序的执行总是从main函数开始,在main函数结束

15.X C程序的执行总是从main函数开始,在程序的最后一个函数中结束

16.O ++(i+1);是非法的赋值语句

17.O 用户标识符中不可以出现中划线,但可以出现下划线

18.X 用户标识符中可以出现下划线,但不可以放在用户标识符的开头

19.O C语言中,Area与area是不同的标识符

20.X C语言中有逻辑类型

21.X int a=b=0;是正确的定义语句。

22.X 1.2E0.5是符合C语言语法的实型常量

23.X 假定x和y为double型,则表达式x=2,y=x+3/2的值是3.500000

24.X 可以用关系运算符对字符串的大小进行比较

25.X 两个字符串中的字符个数相同时才能进行字符串大小的比较

26.X 设有定义语句:char b= '\123';则变量b包括4个字符

27.X 若有定义语句:char s[10]="1234567\0\0";,则strlen(s)的值是9

28.X a=b+c=1 是正确的赋值表达式

29.O 若变量a、i已正确定义,且i已正确赋值,则 a=a++=5; 是正确的赋值语句()

30.O 除逗号运算符外,赋值运算符的优先级最低

31.O C语言中,运算对象必须是整型数据的运算符是 %。

32.X 对于单目运算符++、--,它们的运算对象可以是任何变量和常量

33.X 表达式:10!=9的值是 true

34.O 表达式1||2||3||4的值是1。

35.O 若变量c为char类型,则表达式(c>= 'a')&&(c<= 'z') 能正确判断出c为小写字母

36.X 若变量c为char类型,则表达式 'a'<=c<= 'z' 能正确判断出c为小写字母

37.O sizeof(float)的值是4

38.X sizeof(double)是一种函数调用

39.O if(x<y) {x++;y++;} 是正确的if语句。

40.O if(x>y); 是正确的if语句。

41.O 用do-while语句构成的循环,在while后的表达式为零时结束循环

42.X do-while语句构成的循环只能用break语句退出

43.X 对for(表达式1; ; 表达式3)可理解为 for(表达式1;0;表达式3) 。

44.X break语句只能用于switch语句体中

45.X continue语句的作用是:使程序的执行流程跳出包含它的所有循环

46.X 在循环体内使用break语句和continue语句的作用相同

47.X 当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息

48.X 假定int类型变量占用两个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是6

49.X 若有定义:int a[2][3];对a数组元素正确引用的是a[2][3]

50.X 若有说明int s[3][4]={0};则只有元素s[0][0] 可得到初值0。

51.O 不能在赋值语句中通过赋值运算符"="对字符型数组进行整体赋值

52.O 字符型数组中可以存放字符串

53.X 可以对整型数组进行整体输入、输出

54.X 函数中的形式参数是局部变量

55.O 在不同的函数中可以使用相同名字的变量

56.O 在一个函数内定义的变量只在本函数范围内有效

57.X 函数的定义和函数的调用均可以嵌套

58.X 函数的定义可以嵌套,但函数的调用不可以嵌套

59.O 函数的形参和实参分别占用不同的存储单元

60.X C语言中,每个函数都可以被其它函数调用(包括main函数)

61.X C语言中,在一个函数内部可以定义另一个函数

62.X 实参和与其对应的形参共同占用一个存储单元

63.X 只有当实参和与其对应的形参同名时才共占用存储单元

64.X 若有以下函数调用语句: fun(a+b,(x,y),fun(n+k,d,(a,B)));在此函数调用语句中实参的个数是6

65.O 用户定义的函数中可以没有return语句

66.X 用户定义的函数中可以有多个return语句,以便可以调用一次返回多个函数值

67.O 当调用函数时,实参是一个数组名,则向函数传送的是数组的首地址

68.X 若用数组名作为实参,则传递给形参的是数组中全部元素的值。

69.O C语言中形参的默认存储类别是自动(auto)。

70.O C语言中,宏替换没有数据类型限制

71.X C语言中,宏名必须用大写字母表示

72.X C程序对预处理命令行的处理是在程序执行的过程中进行的

73.X 两个字符串中的字符个数相同时才能进行字符串大小的比较

74.O 当调用函数时,实参是一个数组名,则向函数传送的是数组的首地址

75.X break语句只能用于switch语句体中

76.X C程序中的main()函数必须放在程序的开始位置。

77.O if(x>y); 是正确的if语句。

78.O ++(i+1);是非法的赋值语句

79.X 若有以下函数调用语句: fun(a+b,(x,y),fun(n+k,d,(a,B)));在此函数调用语句中实参的个数是6

80.O 函数的形参和实参分别占用不同的存储单元

81.O 在不同的函数中可以使用相同名字的变量

82.X 表达式:10!=9的值是 true

83.O C语言中,宏替换没有数据类型限制

84.O C程序中注释部分可以出现在程序中任意合适的地方

85.X 设有定义语句:char b= '\123';则变量b包括4个字符

86.O 用do-while语句构成的循环,在while后的表达式为零时结束循环

87.O if(x<y) {x++;y++;} 是正确的if语句。

88.X continue语句的作用是:使程序的执行流程跳出包含它的所有循环

89.X 1.2E0.5是符合C语言语法的实型常量

90.X 若有定义语句:char s[10]="1234567\0\0";,则strlen(s)的值是9

91.X 若变量c为char类型,则表达式 'a'<=c<= 'z' 能正确判断出c为小写字母

92.X 可以用关系运算符对字符串的大小进行比较

93.O 每个C程序中都必须要有一个main()函数

94.X 函数的定义和函数的调用均可以嵌套

95.O sizeof(float)的值是4

96.X C语言中有逻辑类型

97.O 字符型数组中可以存放字符串

98.X 分号是C语句之间的分隔符,不是语句的一部分

99.O C程序可以由一个或多个函数组成

100X. 若有说明int s[3][4]={0};则只有元素s[0][0] 可得到初值0。

101.X 用户定义的函数中可以有多个return语句,以便可以调用一次返回多个函数值 102.X C语言中,每个函数都可以被其它函数调用(包括main函数)

二、 单选题

1. 以下说法中正确的是( C )

A) C语言程序总是从第一个的函数开始执行

B) 在C语言程序中,要调用的函数必须在main()函数中定义

C) C语言程序总是从main()函数开始执行

D) C语言程序中的main()函数必须放在程序的开始部分

2. 下选项中不是C语句的是( A )。

A) {int i; i++; printf(“%d\n”,i);}

B) ;

C) a=5,c=10

D) { ; }

3. 以下选项中不能作为C语言合法常量的是

( )

A) 'cd'

B) 0.1e+6

C) "\a"

D) '\011'

4. 若x,a,b和c均是int型变量,则执行表达式x=(a=1,b=2)后x的结果为( B )。

A) 1

B) 2

C) 3

D) 不确定

5. 以下能正确定义整型变量a,b和c并为其赋初值1的语句是( D )。

A) int a=b=c=1;

B) int a,b,c=1;

C) a=b=c=1;

D) int a=1,b=1,c=1;

6. 字符串"\t\065\xff\n"中的字符数(不算’\0’)为( D )

A) 5

B) 14

C) 8

D) 4

7. 对两个静态函数A和B进行如下初始化:

char A[]="ABCDEF";

char B[]={'A','B','C','D','E','F'};

则下列叙述正确的是( D )。

A) A和B完全相同

B) A和B只是长度相等

C) A和B不相同,A是指针数组

D) A数组长度比B数组长

8. 若有以下定义:

char a;int b;

float c;double d;

则表达式a*b+d-c值的类型为( D )

A) float

B) int

C) char

D) double

9. 在C语言中,运算对象必须是整型数的运算符是( A )

A) %

B) /

C) %和\

D) **

10. 有以下程序

main()

{ int x, y, z;

x=y=1;

z=x++,y++,++y;

printf("%d,%d,%d\n",x,y,z);

}

程序运行后的输出结果是

( C )

A) 2,3,3

B) 2,3,2

C) 2,3,1

D) 2,2,1

11. 以下选项中,当x为大于1的奇数时,值为0的表达式是( D )

A) x%2==1

B) x/2

C) x%2!=0

D) x%2==0

12. 以下程序的输出结果是( C )。

main()

{

int x=10,y=3;

printf("%d\n",y=x/y);

}

A) 0

B) 1

C) 3

D) 不确定的值

13. 若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是( C )

A) -3

B) 9

C) -12

D) 6

14. 有以下程序

main()

{

char a='a',b;

printf("%c,",++a);

printf("%c\n",b=a++);

}

程序运行后的输出结果是

( A )

A) b,b

B) b,c

C) a,b

D) a,c

15. 设a、b、c、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为( C )

A) 0

B) 1

C) 2

D) 3

16. 设x、y、t均为int型变量,则执行语句:x=y=3;t=++x||++y;后,y的值为( C )

A) 不定值

B) 4

C) 3

D) 1

17. 有以下程序段

int k=0

;

while(k=1)k++;

while循环执行的次数是( A )

A) 无限次

B) 有语法错,不能执行

C) 一次也不执行

D) 执行1次

18. 能正确表示逻辑关系“a>=10或a<=0”的C语言表达式是( D )

A) a>=10 or a=10

B) a>=0|a<=10

C) a>=10&&a<=0

D) a>=10||a<=0

19. 表示关系x≤y≤z的c语言表达式为( A )

A) (x<=y)&&(y<=z)

B) (x<=y)AND(y<=z)

C) (x<=y<=z)

D) (x<=y)&(y<=z)

20. 设有:int a=1, b=2, c=3, d=4, m=3, n=3; 执行 (m=a>b)||(n=c>d)后n的值为( A )。

A) 0

B) 1

C) 2

D) 3

21. 以下关于逻辑运算符两侧运算对象的叙述中正确的是

( D )

A) 只能是整数0或1

B) 只能是整数0或非0整数

C) 可以是结构体类型的数据

D) 可以是任意合法的表达式

22. 若x和y都是int型变量,x=100,y=200,且有下面的程序片段:

printf("%d",(x,y));

上面程序片段的输出结果是( A )

A) 200

B) 100

C) 100 200

D) 输出格式符不够,输出不确定的值

23. 在函数调用过程中,如果函数funA调用了函数funB,函数funB又调用了函数funA,则( B )

A) 称为函数的直接递归调用

B) 称为函数的间接递归调用

C) 称为函数的循环调用

D) C语言中不允许这样的递归调用

24. 以下程序的输出结果是( D )

main()

{ int k=17;

printf("%d,%o,%x \n",k,k,k);

}

A) 17,021,0x11

B) 17,17,17

C) 17,0x11,021

D) 17,21,11

25. x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是( B )。

A) INPUT x、y、z;

B) scanf("%d%d%d",&x,&y,&z);

C) scanf("%d%d%d",x,y,z);

D) read("%d%d%d",&x,&y;&z);

26. 有以下程序

main()

{

int i;

for(i=0;i<3;i++)

switch(i)

{

case 0: prinft("%d",i);

case 2: prinft("%d",i);

default: prinft("%d",i);

}

}

程序运行后的输出结果是( C )

A) 022111

B) 021021

C) 000122

D) 012

27. C语言中用于结构化程序设计的三种基本结构是( A )

A) 顺序结构、选择结构、循环结构

B) if、switch、break

C) for、while、do-while

D) if、for、continue

28. 在嵌套使用if语句时,C语言规定else总是

( C )

A) 和之前与其具有相同缩进位置的if配对

B) 和之前与其最近的if配对

C) 和之前与其最近的且不带else的if配对

D) 和之前的第一个if配对

29. 设有以下程序片段:

switch(X)

{

case 'A': printf("A");

case 'B': printf("B");

default: printf("error");

}

假设X='A',程序输出结果是( D )

A) A

B) B

C) error

D) ABerror

30. 读程序:

main()

{ int num=0;

while (num<=2)

{ num++; printf("%d ",num);}

}

上面程序的输出结果是( C )

A) 1

B) 2 2

C) 1 2 3

D) 1 2 3 4

31. 以下程序段的执行结果是( A )。

int x=5;

do{printf("%2d\n",x--);}

while(!x);

A) 5

B) 无任何输出

C) 4

D) 陷入死循环

32. 设变量已正确定义,则以下能正确计算f=n!的程序段是 ( D )

A) f=0;

for(i=1;i<=n;i++) f*=i;

B) f=1;

for(i=1;i<n;i++) f*=i;

C) f=1;

for(i=n;i>1;i++) f*=i;

D) f=1;

for(i=n;i>=2;i--) f*=i;D

33. 以下程序的输出结果是( )。

main()

{

int a, b;

for(a=1,b=1;a<=100;a++)

{

if(b>=10) break;

if(b%3==1)

{

b+=3;

continue;

}

}

printf("%d\n",a);

}

A) 101

B) 6

C) 5

D) 4

34. 下列合法的数组定义是( D )。

A) int a[]="string";

B) int a[5]={0,1,2,3,4,5};

C) char a="string";

D) char a[]={0,1,2,3,4,5};

35. 以下定义语句中,错误的是( D )

A) int a[]={1,2};

B) char *a[3];

C) char s[10]="test";

D) int n=5,a[n];

36. 以下正确的数组定义语句是( D )。

A) int y[1][4]={1,2,3,4,5};

B) float x[3][]={{1},{2},{3}};

C) long s[2][3]={{1},{1,2},{1,2,3}};

D) int m[1][4]={4};

37. 以下程序的输出结果是( C )。

main()

{

int i,a[10];

for(i=9;i>=0;i--)

a[i]=10-i;

printf("%d%d%d",a[2],a[5],a[8]);

}

A) 258

B) 741

C) 852

D) 369

38. 若有定义语句:int a[3][6]; ,按在内存中的存放顺序,a数组的第10个元素是(

A) a[0][4]

B) a[1][3]

C) a[0][3] B )

D) a[1][4]

39. 以下数组定义中不正确的是( D )

A) int a[2][3];

B) int b[][3]={0,1,2,3};

C) int c[100][100]={0};

D) int d[3][]={{1,2},{1,2,3},{1,2,3,4}};

40. 以下程序的输出结果是( A )。

main()

{

int a[4][4]={{1,3,5},{2,4,6},{3,5,7}};

printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1],a[3][0]);

}

A) 0650

B) 1470

C) 5430

D) 输出值不定

41. 以下程序的输出结果是

( B )

main()

{ char cf[3][5]={"AAAA","BBB","CC"};

printf("\"%s\"\n",cf[1]);;

}

A) "AAAA"

B) "BBB"

C) "BBBCC"

D) "CC"

42. 设有数组定义: char array [ ]="China"; 则数组 array所占的空间为( C

A) 4个字节

B) 5个字节

C) 6个字节

D) 7个字节

43. 以下选项中,不能正确赋值的是( A )。

A) char s1[10];s1="Ctest";

B) char s2[]={'C','t','e','s','t'};

C) char s3[20]="Ctest";

D) char *s4="Ctest\n";

44. 给出以下定义:

char x[]="abcdfeg";

char y[]={'a','b','c','d','e','f','g'};

则正确的叙述为( C )。

A) 数组x和数组y等价

B) 数组x和数组y长度相同

C) 数组x的长度大于数组y的长度

D) 数组x的长度小于数组y的长度

45. 若要求从键盘读入含有空格字符的字符串,应使用函数

( B )

A) getc()

B) gets()

C) getchar()

D) scanf()

46. 有语句: )

char str1[10],str2[10]={"books"};

则能将字符串books赋给数组str1的正确语句是( B )。

A) str1={"Books"};

B) strcpy(str1,str2);

C) str1=str2;

D) strcpy(str2,str1);

47. 以下语句的输出结果是( A )

printf("%d\n",strlen("\tc\065\xff\n"));

A) 5

B) 14

C) 8

D) 输出项不合法,无正常输出

48. 若有语句int *point, a=4; 和point=&a; 下面均代表地址的一组选项是( D )。

A) a, point, *&a

B) &*a, &a, *point

C) *&point, *point, &a

D) &a, &*point, point

49. 设已有定义:float x;,则以下对指针变量p进行定义且赋初值的语句中正确的是( D

A) float *p = 1024;

B) int *p = (float)x;

C) float p = &x;

D) float *p = &x;

50. 设有语句:int a=1,b=2,*p1=&a,*p2=&b; 以下可使指针p1指向变量b的赋值语句是( C

A) p1=*p2

B) *p1=p2

C) p1=p2

D) *p1=*p2

51. 有以下程序

main()

{

int a[]={1,2,3,4,5,6,7,8,9,0},*p;

for(p=a;p<a+10;p++)

printf("%d,",*p);

}

程序运行后的输出结果是( A )

A) 1,2,3,4,5,6,7,8,9,0,

B) 2,3,4,5,6,7,8,9,10,1,

C) 0,1,2,3,4,5,6,7,8,9,

D) 1,1,1,1,1,1,1,1,1,1,

52. 若已定义char s[10]; 则在下面表达式中不能表示s[1]的地址的是( B )。

A) s+1

B) s++

C) &s[0]+1

D) &s[1]

53. 在以下选项中,操作不合法的一组是( B )。

A) int x[6], *p; p=&x[0];

B) int x[6], *p; *p=x;

C) int x[6], *p; p=x;

D) int x[6],p; p=x[0];

54. 以下叙述中正确的是( B )

A) 全局变量的作用域一定比局部变量的作用域范围大

B) 静态(static)类别变量的生存期贯穿于整个程序的运行期间 ) )。

C) 函数的形参都属于全局变量

D) 未在定义语句中赋初值的auto变量和static变量的初值都是随机值

55. 有以下程序

main()

{ char s[]="159",*p;

p=s;

printf("%c",*p++);

pritnf("%c",*p++);

}

程序运行后的输出结果是

( A )

A) 15

B) 16

C) 12

D) 59

56. 以下语句或语句组中,能正确进行字符串赋值的是(

A) char *sp; *sp="right!";

B) char s[10]; s="right!";

C) char s[10]; *s="right!";

D) char *sp="right!";

57. 下面程序段的运行结果是( A )。

char *p= "abcdefgh";

p+=2;

printf("%d\n", strlen(strcpy(p, "ABCD")));

A) 6

B) 12

C) 4

D) 7

58. 下面程序段的运行结果是( B )。

char str[ ]= "ABC", *p=str;

printf("%d\n", *(p+3));

A) 67

B) 0

C) 字符'C'的地址

D) 字符'C'

59. 以下程序运行后,输出结果是( C )

main()

{ char *s="abcde";

s+=2;

printf("%d\n",s);}

A) cde

B) 字符c的ASCII码值

C) 字符c的地址

D) 出错

60. 有以下程序:

main()

{ char *p[10]={"abc","aabdfg","dcdbe","abbd","cd"};

printf("%d\n", strlen(p[4]));

}

执行后输出结果是( A )

A) 2 C )

B) 3

C) 4

D) 5

61. 若有语句:char *line[5];,以下叙述中正确的是( A )

A) 定义line是一个数组,每个数组元素是一个基类型为char的指针变量

B) 定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组

C) 定义line是一个指针数组,语句中的*号称为间址运算符

D) 定义line是一个指向字符型函数的指针

62. 设有如下定义: char *aa[2]={"abcd","ABCD"};则以下说法中正确的是( D )。

A) aa数组成元素的值分别是"abcd"和ABCD"

B) aa是指针变量,它指向含有两个数组元素的字符型一维数组

C) aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址

D) aa数组的两个元素中各自存放了字符串"abcd"和"ABCD"的首地址

63. 以下函数调用语句中含有( B )个实参。

fun((exp1,exp2),(exp3,exp4,exp5));

A) 1

B) 2

C) 4

D) 5

64. 以下所列的各函数首部中,正确的是( C )

A) void play(var a :integer,var b:integer)

B) void play(int a,b)

C) void play(int a,int b)

D) Sub play(a as integer,b as integer)

65. C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是( B )

A) void

B) int

C) float

D) double

66. 下面的函数调用语句中func函数的实参个数是

( A )

func(f2(v1, v2), (v3, v4, v5), (v6, max(v7, v8)));

A) 3

B) 4

C) 5

D) 8

67. 有以下程序

fun(int x, int y)

{ static int m=0, i=2;

i+=m+1; m=i+x+y; return m;

}

main()

{ int j=1, m=1, k;

k=fun(j,m); printf("%d,",k);

k=fun(j,m); printf("%d\n",k);

}

执行后的输出结果是

( B )

A) 5, 5

B) 5, 11

C) 11, 11

D) 11, 5

68. 以下函数值的类型是

( A )

fun ( float x )

{ float y;

y= 3*x-4;

return y;

}

A) int

B) 不确定

C) void

D) float

69. 以下程序的输出结果是

( C )

fun(int x, int y, int z)

{ z=x*x+y*y; }

main()

{ int a=31;

fun(5,2,a);

printf("%d",a);

}

A) 0

B) 2

C) 31

D) 无定值

70. 有以下程序

void f(int x,int y)

{ int t;

if(x<y){ t=x; x=y; y=t; }

}

main()

{ int a=4,b=3,c=5;

f(a,b); f(a,c); f(b,c);

printf("%d,%d,%d\n",a,b,c);

}

执行后输出的结果是( D )

A) 3,4,5

B) 5,3,4

C) 5,4,3

D) 4,3,5

71. 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是(

A) 地址传递

B) 单向值传递

C) 由实参传给形参,再由形参传回实参

D) 传递方式由用户指定

72. 有以下程序

void f(int b[])

{ int i;

for (i=2; i<6; i++)

b[i] *= 2;

}

main() B )

{ int a[10]={1,2,3,4,5,6,7,8,9,10}, i;

f(a);

for (i=0; i<10; i++)

printf("%d,", a[i]);

}

程序运行后的输出结果是( B )

A) 1,2,3,4,5,6,7,8,9,10,

B) 1,2,6,8,10,12,7,8,9,10,

C) 1,2,3,4,10,12,14,16,9,10,

D) 1,2,6,8,10,12,14,16,9,10,

73. 在C语言中,函数返回值的类型最终取决于

( C )

A) 函数定义时在函数首部所说明的函数类型

B) return语句中表达式值的类型

C) 调用函数时主调函数所传递的实参类型

D) 函数定义时形参的类型

74. 调用一个函数,此函数中没有return语句,下列说法正确的是:该函数( A

A) 没有返回值

B) 返回若干个系统默认值

C) 能返回一个用户所希望的函数值

D) 返回一个不确定的值

75. 若有以下调用语句,则不正确的fun函数的首部是( D )

main()

{ …

int a[50],n;

fun(n, &a[9]);

}

A) void fun(int m, int x[])

B) void fun(int s, int h[41])

C) void fun(int p, int *s)

D) void fun(int n, int A)

76. 有以下程序

void swap(char *x, char *y)

{ char t;

t=*x; *x=*y; *y=t;

}

main()

{ char *s1="abc", *s2="123";

swap(s1,s2); printf("%s,%s\n",s1,s2);

}

程序执行后的输出结果是

( C )

A) 123,abc

B) abc,123

C) 1bc,a23

D) 321,cba

77. 以下程序的输出结果( B )

#include<stdio.h>

sub(int x,int y,int * z) )。

www.99jianzhu.com/包含内容:建筑图纸、PDF/word/ppt 流程,表格,案例,最新,免费下载,施工方案、工程书籍、建筑论文、合同表格、标准规范、CAD图纸等内容。


TOP最近更新内容

    园林史名词解释
    长城小学关爱留守儿童工作制度
  • 上一篇:初中生学西点有前途么
  • 下一篇:天津市第一中学2017届高三上学期第三次月考(文)(word版,附答案)