穿趟睹癌孟鞘驮歌课共侍阂岔
第一章 C语言程序设计初步
第一章 测验
1、单选题:
下列变量名中合法的是 :
A: 3a6b
B: B.C.Tom
C: _6a7b
D: $ABC
答案: _6a7b
2、单选题:
正确的定义变量的语句是:
A: int ab_;
B: int –ab ;
C: char mm
D: float a3.b;
答案: int ab_;
3、单选题:
以下合法的 C 语言字符常量是:
A: ”a”
B: ’t’
C: ’65’
D: a
答案: ’t’
4、单选题:
下列都是合法转义字符的选项是:
A: ’’’ ‘\’‘n’
B: ‘’ ‘17’‘”’
C: ‘18’ ‘f’ ‘xab’
D: ’\0’ ‘101’‘x1f’
答案: ’’’ ‘\’‘n’
5、单选题:
以下语句:temp=x; x=y; y=temp; 的功能是:
A: 把x,y,temp从小到大排列;
B: 把x,y,temp从大到小排列;
C: 交换x,y的值;
D: 无确定的结果。
答案: 交换x,y的值;
6、单选题:
若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是:
A: 1
B: 2
C: 2.0
D: 2.5
答案: 2.0
7、单选题:
以下程序的输出结果是:#include<stdio.h>
int main()
{ int a=12,b=12;
printf(“%d %dn”,–a,b++);
return 0;
}
A: 10 11
B: 11 13
C: 11 10
D: 11 12
答案: 11 12
8、单选题:
以下不是合法的C语言常量的是:
A: 0x5C
B: 5e2.8
C: 031
D: “123”
答案: 5e2.8
9、单选题:
在Dev-c++环境中, float类型的数据需要占用( )字节内存空间
A: 1
B: 2
C: 4
D: 8
答案: 4
10、单选题:
若有以下定义和语句:char c1=’b’,c2=’e’;
printf(“%d,%cn”,c2-c1,c2-‘a’+’A’);则输出结果是:
A: 2,M
B: 3,E
C: 2,E
D: 输出项与对应的格式控制不一致,输出结果不确定
答案: 3,E
11、单选题:
有以下程序#include
#include<stdio.h>
int main()
{ int a,c=246;
a=c/10 % 10;
printf(“%d”,a);
return 0;
}输出结果是:
A: 2
B: 4
C: 6
D: 9
答案: 4
12、单选题:
设x、y、z和k都是int型变量,则执行表达式x=(y=4,z=16,k=32)后,x的值为:
A: 4
B: 16
C: 32
D: 52
答案: 32
13、单选题:
可在C语言中用作用户标识符的一组标识符是:
A: void define word
B: as _b3_123 ff
C: for _abc case
D: 2cdo sig
答案: as _b3_123 ff
14、单选题:
下列变量定义语句中错误的是:
A: int MBK_do
B: char dog1
C: float _sky
D: int 2ab
答案: int 2ab
15、单选题:
能正确表示“当x的取值在[1,10]或[100,110]范围内为真,否则为假”的表达式是:
A: (x>=1) && (x<=10) && (x>=100)&&(x<=110)
B: (1<=x<=10)||(100<=x<=110)
C: (x>=1)&&(x<=10)||(x>=100) && (x<=110)
D: (x>=1)||(x<=10) && (x>=100)||(x<=110)
答案: (x>=1)&&(x<=10)||(x>=100) && (x<=110)
16、单选题:
C语言中,运算对象必须是整型的运算符是:
A: %
B: /
C: %和/
D: *
答案: %
17、单选题:
以下不合法的用户标识符是:
A: j2_KEY
B: dobule
C: 4d
D: _8_
答案: 4d
18、单选题:
以下程序的输出结果是:#include<stdio.h>
int main( )
{ int k=17;
printf(“%d,%o,%xn”,k,k,k);
return 0;
}
A: 17,021,0x11
B: 17,17,17
C: 17,0x11,021
D: 17,21,11
答案: 17,21,11
19、单选题:
已知:int x,y; float z; 则以下输入语句错误的是:
A: scanf(“%d,%d,%f”,&x,&y,&z);
B: scanf (“%d%d%f”,&x,&y,&z);
C: scanf (“%d %d %f”, &x,&y,&z);
D: scanf (“%d%d%6.2f”,&x,&y,&z);
答案: scanf (“%d%d%6.2f”,&x,&y,&z);
20、单选题:
可在C语言中用作用户标识符的一组标识符是:
A: void define word
B: as_b3_123 ff
C: for_abc case
D: 2c do sig
答案: as_b3_123 ff
21、单选题:
以下程序运行的结果是:#include <stdio.h>
int main()
{ int m=5,n=10;
printf(“%d,%dn”,m++,–n);
return 0;
}
A: 5,9
B: 6,9
C: 5,10
D: 6,10
答案: 5,9
22、单选题:
根据以下定义语句和数据的输入方式,scanf语句的正确形式应为: 已有定义:float f1,f2; 数据的输入方式:4.52<回车> 3.5<回车>
A: scanf(“%f,%f”,&f1,&f2);
B: scanf(“%f%f”,&f1,&f2);
C: scanf(“%3.2f %2.1f”,&f1,&f2);
D: scanf(“%3.2f%2.1f”,&f1,&f2);
答案: scanf(“%f%f”,&f1,&f2);
23、单选题:
阅读下列程序,当输入数据的形式为25,13,10<回车>,程序的输出结果为:#include <stdio.h>
int main()
{ int x,y,z;
scanf(“%d%d%d”,&x,&y,&z);
printf(“x+y+z=%dn”,x+y+z);
return 0;
}
A: x+y+z=48
B: x+y+z=35
C: x+z=35
D: 不确定值
答案: 不确定值
24、单选题:
下列语句执行后,b的值是:char a=’5′,b=(char)(a+3);
A: ‘8’
B: 8
C: 56
D: 53
答案: ‘8’
25、单选题:
C语言中的标识符只能由字母、数字和下画线组成,且第一个字符
A: 可以是字母、数字和下画线中的任一种字符
B: 必须为字母
C: 必须为数字
D: 必须为下画线或字母
答案: 必须为下画线或字母
26、单选题:
表达式35/3%3的值是:
A: 11
B: 2
C: 3
D: 0
答案: 2
27、单选题:
C语言的语句都是以( )结束。
A: .
B: 空格
C: ;
D: #
答案: ;
28、单选题:
阅读下面的程序:#include<stdio.h>
int main()
{
char ch;
scanf(“%c%c”,&ch,&ch);
printf(“%c”,ch);
return 0;
}如果从键盘输入:1+2<回车>则程序的运行结果是:
A: 1
B: +
C: 2
D: 3
答案: +
29、单选题:
已知字母a的ASCII码为十进制的97,下面程序的输出结果是:#include <stdio.h>
int main()
{
char ch1,ch2;
ch1=’a’+’3′-‘1’;
ch2=’a’+’2′-‘2’;
printf(“%d,%cn”,ch1,ch2);
return 0;
}
A: 99,a
B: 99,97
C: c,97
D: 不确定的值
答案: 99,a
30、单选题:
下列选项中表示整型数据的是:
A: 1e-5
B: “1”
C: ‘haha’
D: 0xaf
答案: 0xaf
第二章 选择结构
第二章 测验
1、单选题:
逻辑运算符两侧运算对象的数据类型( )
A: 只能是0或1
B: 只能是0或非0正数
C: 只能是整型或字符型数据
D: 可以是任何类型的数据
答案: 可以是任何类型的数据
2、单选题:
能正确表示“当x的取值在[1,10]和[200,210]范围内为真,否则为假”的表达式是( )
A: (x>=1)&&(x<=10)&&(x>=200)&&(x<=210)
B: (x>=1)||(x<=10)||(x>=200)||(x<=210)
C: (x>=1)&&(x<=10)||(x>=200)&&(x<=210)
D: (x>=1)||(x<=10)&&(x>=200)||(x<=210)
答案: (x>=1)&&(x<=10)||(x>=200)&&(x<=210)
3、单选题:
若有:int a=1,b=2,c=3,d=4,m=2,n=2;则执行(m=a>b)&&(n=c>d)后n的值是( )
A: 1
B: 2
C: 3
D: 4
答案: 2
4、单选题:
以下程序的输出结果是( )#include<stdio.h> int main(){ int a,b,d=241; a=d/100%9; b=(-1)&&(-1);printf(“%d,%d”,a,b);return 0; }
A: 6,1
B: 2,1
C: 6,0
D: 2,0
答案: 2,1
5、单选题:
若有int x=10,y=20,z=30;以下语句执行后x,y,z的值是( )if (x>y)z=x;x=y;y=z;
A: x=10,y=20,z=30
B: x=20,y=30,z=30
C: x=20,y=30,z=10
D: x=20,y=30,z=20
答案: x=20,y=30,z=30
6、单选题:
以下程序的输出结果是( )#include<stdio.h>int main(){ int a=0,b=0,c=0; if(a=b+c) printf(“***n”); else printf(“$$$n”);return 0;}
A: 有语法错误不能通过编译
B: 可以通过编译但不能通过连接
C: ***
D: $$$
答案: $$$
7、单选题:
以下程序的输出结果是( )#include<stdio.h>int main() { int m=5;if(m++>5) printf(“%dn”,m);else printf(“%dn”,m–);return 0;}
A: 4
B: 5
C: 6
D: 7
答案: 6
8、单选题:
以下程序的输出结果是( )#include<stdio.h>int main() { int x=2,y=-1,z=2;if(x<y) if(y<0) z=0; else z+=1; printf(“%dn”,z);return 0;}
A: 3
B: 2
C: 1
D: 0
答案: 2
9、单选题:
以下程序的输出结果是( )#include<stdio.h>int main() { int a=1,b=3,c=5,d=4,x;if(a<b)if(c<d) x=1; else if(a<c) if(b<d) x=2; else x=3; else x=6;else x=7;printf(“x=%d”,x);return 0;}
A: 1
B: 2
C: 3
D: 6
答案: 2
10、单选题:
为了避免嵌套的if—else语句的二义性,C语言规定else总是与( )组成配对关系
A: 缩排位置相同的if
B: 在其之前未配对的if
C: 在其之前未配对的最近的if
D: 同一行上的if
答案: 在其之前未配对的最近的if
11、单选题:
若运行时给变量x输入12,则以下程序的运行结果是( )#include<stdio.h>int main(){ int x,y; scanf(“%d”,&x); y=x>12?x+10:x-12; printf(“%dn”,y);return 0;}
A: 0
B: 22
C: 12
D: 10
答案: 0
12、单选题:
以下程序的输出结果是( )#include<stdio.h>int main() { int k=4,a=3,b=2,c=1;printf(“n%dn”,k<a?k:c<b?c:a);return 0;}
A: 4
B: 3
C: 2
D: 1
答案: 1
13、单选题:
若w=1,x=2,y=3,z=4,则表达式w<x?w:y<z?y:z的值是( )
A: 4
B: 3
C: 2
D: 1
答案: 1
14、单选题:
执行下列程序段后,变量a,b,c的值分别为( )int a,b,c,x=10,y=9;a=(–x==y++)?–x:++y;b=x++;c=y;
A: a=9,b=9,c=9
B: a=8,b=8,c=10
C: a=9,b=10,c=9
D: a=1,b=11,c=10
答案: a=8,b=8,c=10
15、单选题:
以下程序的输出结果是( )#include<stdio.h> int main() { int x=0,y=2,z=3;switch(x){ case 0: switch(y) { case 0: printf(“*”); break; case 1: printf(“%”); break; case 2: printf(“&”); break; } case 1: switch(z) { case 1: printf(“$”); case 2: printf(“#”); break; default: printf(“@”); } default : printf(“!”);}return 0;}
A: &@!
B: *
C: %@
D: &!
答案: &@!
16、单选题:
下列条件语句中,功能与其他语句不同的是()
A: if(a) printf(“%dn”,x); else printf(“%dn”,y);
B: if(a==0) printf(“%dn”,y); else printf(“%dn”,x);
C: if (a!=0) printf(“%dn”,x); else printf(“%dn”,y);
D: if(a==0) printf(“%dn”,x); else printf(“%dn”,y);
答案: if(a==0) printf(“%dn”,x); else printf(“%dn”,y);
17、单选题:
有如下程序 #include<stdio.h>int main( ) { int x=1,a=0,b=0; switch(x){ case 0: b++; case 1: a++; case 2: a++;b++; } printf(“a=%d,b=%dn”,a,b); return 0; } 该程序的输出结果是 ( )
A: a=2,b=1
B: a=1,b=1
C: a=1,b=0
D: a=2,b=2
答案: a=2,b=1
18、单选题:
若执行下面的程序时从键盘上输入3和4,则输出是() #include<stdio.h>int main() { int a,b,s; scanf(“%d %d”,&a,&b); s=a; if(a<b)s=b; s=s*s; printf(“%dn”,s);return 0;}
A: 14
B: 16
C: 18
D: 20
答案: 16
19、单选题:
设ch是char型变量,其值为A,且有表达式:ch=(ch>=’A’&&ch<=’Z’)?(ch+32):ch;则表达式的值是()
A: A
B: a
C: Z
D: z
答案: a
20、单选题:
设a,b和c都是int型变量,且a=3,b=4,c=5,则表达式中值为0的表达式是()
A: ‘a’&&’b’
B: a<b
C: a||b+c&&b-c
D: !((a<b)&&!c||1)
答案: !((a<b)&&!c||1)
21、单选题:
能正确表示a≥10或a≤0的关系表达式是()
A: a>=10 or a<=0
B: a>=10 | a<=0
C: a> =10 , a< =0
D: a>=10 || a<=0
答案: a>=10 || a<=0
22、单选题:
若运行下面程序时,给变量a输入15,则输出结果是( )。#include<stdio.h>int main( ){ int a,b;scanf(“%d”,&a);b=a>15?a+10:a-10;printf(“%dn”,b) ;return 0;}
A: 5
B: 25
C: 15
D: 10
答案: 5
23、单选题:
以下选项中,两个条件语句语义等价的是( )
A: if(a=2)printf(“%dn”,a);if(a==2)printf(“%n”,a);
B: if(a-2)printf(“%dn”,a);if(a!=2)printf(“%n”,a);
C: if(a)printf(“%dn”,a);if(a==0)printf(“%n”,a);
D: if(a-2)printf(“%dn”,a);if(a==2)printf(“%n”,a);
答案: if(a-2)printf(“%dn”,a);if(a!=2)printf(“%n”,a);
24、单选题:
关于switch语句和break语句的描述中,正确的是()
A: 在switch语句中必须使用break语句
B: break语句只能用于switch语句中
C: 在使用switch语句时,可以根据需要选择是否使用break语句
D: break语句是switch语句的一部分
答案: 在使用switch语句时,可以根据需要选择是否使用break语句
25、单选题:
以下程序的输出结果是( )#include<stdio.h>int main(){ int x=1,y=0; switch(x) { case 1: switch(y) {case 0: printf(“first, “); break; case 1: printf(“second, “);break; } case 2: printf(“third”); } return 0; }
A: first, third
B: first, second, third
C: first,
D: first, second,
答案: first, third
26、单选题:
判断char型变量ch是否为小写字母的正确表达式是( )
A: ’a’<=ch<=’z’
B: (ch>=’a’)&(ch<=’z’)
C: (ch>=’a’)&&(ch<=’z’)
D: (‘a’<=ch)and(‘z’>=ch)
答案: (ch>=’a’)&&(ch<=’z’)
27、单选题:
若有int x=3,y=4,z=5;则下列表达式中值为0的是( )
A: ‘x’&&’y’
B: x<=y
C: x||y+z&&y-z
D: !((x<y)&&!z||9)
答案: !((x<y)&&!z||9)
28、单选题:
已知x=43,ch=’a’,y=0;则表达式(x>=y&&ch<’b’&&!y)的值是( )
A: 0
B: 1
C: 语法错误
D: 假
答案: 1
29、单选题:
执行下列语句后a的值为( )int a,b,c;a=b=c=1;++a||++b&&++c;
A: 0
B: 1
C: 2
D: 错误
答案: 2
30、单选题:
执行下列语句后b的值为( )int a,b,c;a=b=c=1;++a||++b&&++c;
A: 0
B: 1
C: 2
D: 错误
答案: 1
31、单选题:
执行下列语句后a的值为( )int a=5,b=6,w=1,x=2,y=3,z=4;(a=w>x)&&(b=y>z);
A: 5
B: 0
C: 2
D: 1
答案: 0
32、单选题:
执行下列语句后b的值为( )int a=5,b=6,w=1,x=2,y=3,z=4;(a=w>x)&&(b=y>z);
A: 6
B: 0
C: 1
D: 4
答案: 6
第三章 循环结构
第三章 测验
1、单选题:
以下关于for语句的说法不正确的是( )
A: for循环只能用于循环次数已经确定的情况
B: for循环是先判断表达式,后执行循环体语句
C: for循环中,可以用break语句跳出循环体
D: for循环体语句中,可以包含多条语句,但是要用花括号括起来
答案: for循环只能用于循环次数已经确定的情况
2、单选题:
若i和k都是整型变量,for语句如下,则下面描述正确的是( )for(i=0,k=-1;k=1;k++) printf(“********n”);
A: 循环体执行两次
B: 循环体执行一次
C: 循环体一次也不执行
D: 构成无限循环
答案: 构成无限循环
3、单选题:
以下程序中,while循环的次数是( )#include<stdio.h>int main(){ int i=0; while(i<10) { if(i<1) continue; if(i==5) break; i++; } return 0;}
A: 1
B: 死循环,不能确定次数
C: 6
D: 10
答案: 死循环,不能确定次数
4、单选题:
对于for(表达式1; ;表达式3)可理解为( )
A: for(表达式1; 1 ;表达式3)
B: for(表达式1:1 ;表达式3)
C: for(表达式1;表达式1 ;表达式3)
D: for(表达式1; 表达式3 ;表达式3)
答案: for(表达式1; 1 ;表达式3)
5、单选题:
以下正确的描述是( )
A: continue语句的作用是结束循环
B: break语句可以在循环体或者switch语句中使用
C: break语句的作用是结束本次循环
D: continue语句和break语句的作用相同
答案: break语句可以在循环体或者switch语句中使用
6、单选题:
循环语句中,如果第一次循环条件不成立时,循环体还会执行一次的是( )
A: for语句
B: while语句
C: do-while语句
D: 其他三个答案都可以
答案: do-while语句
7、单选题:
语句while(a);中的条件a等价于( )
A: a==0
B: a!=0
C: a==1
D: a=1
答案: a!=0
8、单选题:
若变量k为整型,则下面的while循环执行( )次。k=2; while(k==0) printf(“%d”,k); k–; printf(“n”);
A: 10
B: 9
C: 0
D: 1
答案: 0
9、单选题:
下面程序的运行结果是( )#include<stdio.h>int main(){ int num=0; while(num<=2) {num++; printf(“%d “,num);} return 0;}
A: 1
B: 1 2
C: 1 2 3
D: 1 2 3 4
答案: 1 2 3
10、单选题:
已知在main()函数中定义了整型变量i,则下面程序段的执行结果是( )for(i=0;i<10;i++) if(i<=5) break;printf(“%d”,i);
A: 0
B: 1
C: 5
D: 10
答案: 0
11、单选题:
已知n为整型变量,则下述循环程序段执行后,n的值是( )for(n=0;n<100;n=2*n+1); printf(“%d”,n);
A: 125
B: 126
C: 127
D: 128
答案: 127
12、单选题:
在C语言中,执行语句:for (j=1; j++<4; );后,变量j的值是( )
A: 3
B: 4
C: 5
D: 不确定值
答案: 5
13、单选题:
下述程序段执行后,输出的结果是( )#include<stdio.h>int 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”,a); return 0;}
A: 4
B: 5
C: 6
D: 101
答案: 4
14、单选题:
已知i,j,w为整型变量,且w=0,则下述程序段执行后,w的值是( )for(i=4;i!=0;i–) for(j=1;j<=2;j++) w=w+i*j;w=i*j;
A: 4
B: 0
C: 1
D: 30
答案: 0
15、单选题:
设n为整型变量,则循环语句for(n=10;n>0;n–)的循环次数为( )
A: 10
B: 9
C: 11
D: 12
答案: 10
16、单选题:
设已定义k为int型变量,则下面while循环执行( )k=10;while(k=1) k-=1;
A: 执行10次
B: 无限循环
C: 一次也不执行
D: 执行一次
答案: 无限循环
17、单选题:
下面关于for循环语句描述正确的是( )
A: for循环不能用于循环次数未知的情况
B: for循环语句执行时是先执行循环体语句,后判断表达式
C: 不能使用break语句结束for循环语句
D: 使用for语句构成的循环结构,当循环体语句是多条语句时,循环体语句需要用{}括起来
答案: 使用for语句构成的循环结构,当循环体语句是多条语句时,循环体语句需要用{}括起来
18、单选题:
设已定义k为int型变量,则下面while循环执行( )k=10;while(k==1) k-=1;
A: 执行10次
B: 无限循环
C: 执行一次
D: 一次也不执行
答案: 一次也不执行
19、单选题:
已知整型变量a=1,b=2,c=2,t为整型变量,则下述循环执行后a,b,c的值是( )while(a<b<c){ t=a;a=b;b=t;c–;}
A: 1 2 0
B: 2 1 0
C: 1 2 1
D: 2 1 1
答案: 1 2 0
20、单选题:
如果在main函数中,i是已经定义好的整型变量,则下面循环执行后的输出结果是( ) for(i=1;i<=5;i++) { if(i%2) printf(“*”); else continue; printf(“#”); }
A: *#*#*#
B: #*#*#*
C: *#*#
D: #*#*
答案: *#*#*#
21、单选题:
已知整型变量x的初值为23,则以下循环程序执行后将输出( )do{ printf(“%d”,x–); }while(!x);
A: 321
B: 23
C: 不输出任何内容
D: 陷入死循环
答案: 23
22、单选题:
设有整型变量x,下述语句( )不会出现死循环
A: for(;;x+=1);
B: for(;(x=getchar())!=’n’;);
C: while(1) {x++;}
D: for(x=10;;x–);
答案: for(;(x=getchar())!=’n’;);
23、多选题:
以下程序用于求1+1/2+1/3+……+1/9,指出程序的错误行( )#include<stdio.h>int main(){ int i; float t,s=0; A: for(i=1;i<10;i++); { B: t=1/i; C: s+=t; } D: printf(“%.2f”,s); return 0;}
A: A标号对应的代码行
B: B标号对应的代码行
C: C标号对应的代码行
D: D标号对应的代码行
答案: A标号对应的代码行;
B标号对应的代码行
24、多选题:
以下程序代码要求实现求输入的10个数中正数的个数。指出程序的错误行( )#include<stdio.h>int main(){ int i,a,n=0; for(i=0;i<10;i++) { A: scanf(“%f”,&a); B: if(a<=0) C: break; n++; } D:printf(“%d”,n); return 0;}
A: A标号对应的代码行
B: B标号对应的代码行
C: C标号对应的代码行
D: D标号对应的代码行
答案: A标号对应的代码行;
C标号对应的代码行
25、判断题:
在main函数中,c是经过定义的整型变量,则while(c=getchar());是正确的循环语句( )
A: 正确
B: 错误
答案: 正确
26、判断题:
for(;;);语句相当于while(1);( )
A: 正确
B: 错误
答案: 正确
27、填空题:
以下程序运行后的输出结果是( )。#include<stdio.h> int main(){ int i=10, j=0; do { j=j+i; i–; }while(i>2); printf(“%dn”,j); return 0;}
答案: 52
28、填空题:
设有以下程序:#include<stdio.h> int main(){ int n1,n2; scanf(“%d”,&n2); while(n2!=0) { n1=n2 % 10; n2=n2/10; printf(“%d”,n1); } return 0;}程序运行后,如果从键盘上输入1298;则输出结果为( )。
答案: 8921
29、填空题:
以下程序的输出结果是( )。#include<stdio.h> int main() { int s,i; for(s=0,i=1;i<3;i++,s+=i); printf(“%dn”,s); return 0; }
答案: 5
30、填空题:
阅读下面程序,程序的结果是( )。#include<stdio.h> int main(){int i=7; for(i=2;i>0;i–) printf(“%d,”,i); printf(“%d”,i); return 0;}
答案: 2,1,0
上方为免费预览版答案,如需购买完整答案,请点击下方红字
为了方便下次阅读,建议在浏览器添加书签收藏本网页
添加书签方法:
1.电脑按键盘的Ctrl键+D键即可收藏本网页
2.手机浏览器可以添加书签收藏本网页
我们的公众号
打开手机微信,扫一扫下方二维码,关注微信公众号:萌面人APP
本公众号可查看各种网课答案,还可免费查看大学教材答案
瘫乃购磕鼓手坦拿好量臀咳楞