




已阅读5页,还剩25页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
练习题1及参考答案1. 单项选择题(1)以下并非C语言的特点的是 。A. C语言简洁和紧凑B. 能够编制出功能复杂的程序C. C语言可以直接对硬件进行操作D. C语言移植性好【答】B(2)一个C程序的执行是从 。A. main()函数开始,直到main()函数结束B. 第一个函数开始,直到最后一个函数结束C. 第一个语句开始,直到最后一个语句结束D. main()函数开始,直到最后一个函数结束【答】A(3)在C程序中,main()的位置 。A. 必须作为第一个函数B. 必须作为最后一个函数C. 可以任意D. 必须放在它所调用的函数之后【答】C(4)一个C程序是由 。A. 一个主程序和若干子程序组成B. 一个或多个函数组成C. 若干过程组成D. 若干子程序组成【答】B(5)下列说法正确的是 。A. 在执行C程序时不是从main()函数开始的B. C程序书写格式限制严格,一行内必须写一个语句C. C程序书写格式比较自由,一个语句可以分行写在多行上D. C程序书写格式严格要求一行内必须写一个语句,并要求行号【答】C2. 填空题(1)一个C源程序至少有 个main()函数和 个其他函数。【答】一 若干(2)任何C语句必须以 结束。【答】分号(3)C语言源程序的基本单位是 。【答】函数(4)C编译程序的功能是 。【答】将C源程序编译成目标代码 30练习题2及参考答案1. 单项选择题(1)以下字符串为标识符的是 。A. _MY B. 2_2222 C. short D. LINE 5【答】A(2)下列符号可以作为变量名的是 。A. +a B. *p C. _DAY D. next day【答】C(3)设c是字符变量,则以下表达式正确的是 。A. c=666 B. c=c C. c=c D. c=abcd【答】B(4)23+m+3.6-123.45/b的结果是 型数据。A. char B. double C. int D. long int【答】3.6和123.45均为double型,运算结果也是double型。本题答案为B。(5)若变量已正确赋值,以下符合C语言语法的表达式是 。A. a=a+7; B. a=7+b+c,a+C. int(12.3%4) D. a=a+7=c+b【答】选项A错误,以分号结尾是一个语句而不是表达式;选项B正确,是一个逗号表达式;选项C错误,因为%求模运算的两个运算数必须均为整数;选项D错误,给一个表达式(a+7)而非变量赋值是不正确的。本题答案为B。(6)整型变量x=1,y=3,经下列计算后,x的值不等于6的表达式是 。A. x=(x=1+2,x*2) B. x=y2?6:5C. x=9-(-y)-(-y) D. x=y*(int)(4.8/2)【答】选项A的计算过程x=1+2=3,再计算x=x*2=6;选项B的计算过程y2为真,x=6;选项C的计算过程式中有两个-运算,最后y=1,x=9-1-1=7;选项D的计算过程x=y*(int)(4.8/2)=y*2=6。本题答案为C。(7)若定义int m=7,n=12;则能得到值为3的表达式是 。A. n%=(m%=5) B. n%=(m-m%5)C. n%=m-m%5 D. (n%=m)-(m%=5)【答】A、B、C、D选项各表达式的值分别是0、2、2、3。本题答案为D。(8)以下程序的运行结果是 。#include main() int i=5,j=6,m=i+j; printf(%d,%d,%dn,i,j,m);A. 6,6,11 B. 5,6,11 C. 5,6,12 D. 6,6,12【答】m=i+j等价于m=(i+)+j。本题答案为A。(9)以下程序的运行结果是 。#include void main() double f=3.14159; int n; n=(int)(f+10)%3; printf(%dn,n);A. 1 B. 0 C. 2 D. 3【答】f+10=13.14159,(int)(f+10)=13,13%3=1。本题答案为A。(10)以下程序的运行结果是 。#include void main() int n,i=2,j=4; n=(+i=j-); printf(%dn,n);A. 0 B. 1 C. 2 D. 3【答】+i返回3,j-返回4,两者不等,故n=0。本题答案为A。2. 填空题(1)表达式语句与表达式的不同是 。【答】语句必须以分号结尾,而表达式结尾没有分号;语句可以出现在函数体中数据定义或声明语句后面的任何位置,而表达式只能出现在语句中规定的位置或表达式中(嵌套出现)。(2)在C语言中可以利用 将一个表达式的值转换成指定的类型。【答】强制类型转换(3)写出完成下列功能的表达式: 如果变量c是大写字母,则将c转换成对应的小写,否则c的值不改变。 如果d是数字,则将d转换成相应的整数,否则d的值不改变。 返回两个整数x、y中较大者。 返回三个整数x、y和z中最大者。 【答】 c=(c=A & c=0 & dy) ? x : y (xy) ? (xz ? x : z) : (yz ? y : z) 或 (xy & xz) ? x : (yz ? y : z)(4)以下程序的运行结果是 。#include #include main() char s=abnrb; printf(%d,%dn,sizeof(s),strlen(s);【答】字符串s由字符a、b、n、r、b等7个字符组成,故长度为7,但字符串本身有一个结束标志0。所以,s的长度为7,在内存中占用8个字节。输出为:8,7。(5)以下程序的运行结果是 。#include main() int a=2,b=4,c=6,x,y; y=(x=a+b),(b+c); printf(y=%d,x=%dn,y,x);【答】结果为y=6,x=6。(6)以下程序的运行结果是 。#include main() char a,b; a=a;b=b; a=a-32;b=b-32; printf(%c,%c,%d,%dn,a,b,a,b);【答】A,B,65,66(7)以下程序的运行结果是 。#include main() int i,j,x,y; i=5;j=7; x=+i;y=j+; printf(%d,%d,%d,%dn,i,j,x,y);【答】执行x=+i后,i=6,x=6;执行y=j+后,j=8,y=7;所以输出为:6,8,6,7。(8)以下程序的运行结果是 。#include main() int a=1; char c=a; float f=2.0; printf(:%dn,a+2!=c-100); printf(:%dn,(ac)=(f4); printf(:%dn,!a=!f); printf(:%dn,(!a&1)!=(!c|1); printf(:%dn,(!a2)?3:0)c的结果是0(假),f4的结果是0,表达式结果=1):1(!a的结果是0,!f的结果是0,表达式结果=1):1(!a&1的结果是0,!c|1的结果是1,表达式结果=1):0(!a2的结果是0,(!a2)?3:0的结果是0,f!=1的结果是1,(f!=1)?0:1的结果是0,表达式结果=0):1((1,2,3)表达式的结果是3,(3,3,3)的结果是3 练习题3及参考答案1. 单项选择题(1)以下说法正确的是 。A. 输入项可以为一个实型常量,如scanf(%f,3.5)B. 只有格式控制没有输入项也能进行正确输入,如scanf(%d)C. 当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(%4.2f,&f)D. 当输入数据时,必须指明变量的地址,如scanf(%f,&f)【答】D(2)若a为整型变量,则以下语句 。a=-2L;printf(%dn,a);A. 赋值不合法 B. 输出值为-2C. 输出为不确定值 D. 输出值为2【答】B(3)若x和y均定义为int型,z定义为double型,以下scanf()函数调用语句不合法的是 。A. scanf(%d%lx,%le,&x,&y,&z); B. scanf(%2d*%d%lf,&x,&y,&z);C. scanf(%x%*d%o,&x,&y); D. scanf(%x%o%6.2f,&x,&y,&z);【答】scanf()函数中没有精度控制。本题答案为D。(4)若a,b,c均定义为int型,要给它们输入数据,正确的输入语句是 。A. read(a,b,c); B. scanf(%d%d%d,a,b,c);C. scanf(%D%D%D,a,b,c); D. scanf(%d%d%d,&a,&b,&c);【答】D (5)若有定义和语句:int n=10;printf(%n,n);其输出结果是 。A. 输出10 B. 输出一空行 C. 没有输出 D. 编译不通过【答】D(6)若a是float型变量,b是unsigned型变量,以下输入语句中合法的是 。A. scanf(%6.2f%d,&a,&b); B. scanf(%f%n,&a,&b);C. scanf(%f%3o,&a,&b); D. scanf(%f%f,&a,&b);【答】C(7)字母a的ASCII码为97,则下列语句的运行结果为 。char a=a;a-;printf(%d,%cn,a+2-0,a+3-0);A. b,c B. a-运算不合法,故有语法错C. 98,c D. 格式描述和输出项不匹配,输出无定值【答】C(8)若k1,k2,k3,k4均为int型变量,为了将整数10赋给k1和k3,将整数20赋给k2和k4,则对应以下scanf()函数调用语句的正确输入方式是 。scanf(%d%d,&k1,&k2);scanf(%d,%d,&k3,&k4);A. 1020B. 10 20C. 10,20D. 10 20102010 2010,2010,20【答】D(9)有如下程序,输入数据12345 678后,x的值是 ,y的值是 。#include main() int x; float y; scanf(%3d%f,&x,&y); A. 12345 B. 123 C. 45 D.345 A. 45.000000 B. 45678.000000 C. 678.000000 D.123.000【答】 B A(10)有如下程序,输入数据25,13,10后,正确的运行结果是 。#include main() int x,y,z; scanf(%d%d%d,&x,&y,&z); printf(x+y+z=%dn,x+y+z);A. x+y+z=48 B. x+y+z=35C. x+y+z=38 D. 不确定值【答】输入的数据与scanf()函数的格式不匹配。本题答案为D。(11)有如下程序,输入数据12 345后,x的值是 ,y的值是 。#include main() int x; float y; scanf(%3d%f,&x,&y); A. 12 B. 123 C. 12345 D. 0 A. 12.000000 B. 345.000000 C. 12345.000000 D. 0.000000【答】 A B(12)有如下程序,输入数据9876543210后,程序的运行结果是 。#include main() int a; float b,c; scanf(%2d%3f%4f,&a,&b,&c); printf(a=%d,b=%f,c=%fn,a,b,c);A. a=98,b=765,c=4321 B. a=10,b=432,c=8765C. a=98,b=765.000000,c=4321.000000 D. a=98,b=765.0,c=4321.0【答】C(13)以下程序的运行结果是 。#include main() float a=3.1415; printf(|%6.0f|n,a);A. |3.1415| B. | 3.0| C. | 3| D. | 3.|【答】C(14)以下程序的运行结果是 。#include main() float a=3.1415; printf(|%06.0f|n,a);A. |000003| B. |3.1415| C. |00003.0| D. | 3|【答】A(15)以下程序的运行结果是 。#include main() float a=3.1415; printf(|%-6.0f|n,a);A. |3 | B. |000003| C. |3.1415| D. |3.0 |【答】A (16)以下程序的运行结果是 。#include main() int i=010,j=10; printf(%d,%dn,+i,j-);A. 11.10 B. 9,10 C. 010,9 D. 10,9【答】B(17)以下程序的运行结果是 。#include main() int x=10,y=10; printf(%d,%dn,x-,-y);A. 10,10 B. 9,9 C. 9,10 D. 10,9【答】D2. 填空题(1)以下程序的运行结果是 。#include main() float f=3.1415927; printf(%f,%5.4f,%3.3f,f,f,f);【答】3.141593,3.1416,3.142(2)以下程序的运行结果是 。#include main() float f=3.5; printf(%f,%g,f,f);【答】3.500000,3.5(3)以下程序的运行结果是 。#include main() float f=31.41592; printf(%f,%e,f,f);【答】31.415920,3.141592e+001(4)以下程序的运行结果是 。#include main() int x=0177; printf(%3d,%6d,%6o,%6x,%6un,x,x,x,x,x);【答】127, 127, 177, 7f, 127(5)以下程序的运行结果是 。#include main() int x=0177; printf(%-3d,%-6d,%-6o,%-6x,%-6un,x,x,x,x,x);【答】127,127 ,177 ,7f ,127 (6)以下程序的运行结果是 。#include main() char c=A+10; printf(c=%cn,c);【答】c=K(7)以下程序输入123456后,其运行结果是 。#include main() int a,b; scanf(%2d%3d,&a,&b); printf(a=%d,b=%dn,a,b);【答】a=12,b=345(8)以下程序输入ABC后,其运行结果是 。#include main() char c; scanf(%3c,&c); printf(c=%cn,c);【答】c=A(9)以下程序输入100后,其运行结果是 。#include main() int n; scanf(%o,&n); printf(n=%dn,n);【答】n=64(10)以下程序输入x=1.23,y=50后,其运行结果是 。#include main() float x,y; scanf(x=%f,y=%f,&x,&y); printf(x=%7.2f,y=%7.2fn,x,y);【答】x= 1.23,y= 50.00(11)执行以下程序时,若从第一列开始输入数据,为使变量a=3,b=7,x=8.5,y=71.82,c1=A,c2=a正确的数据输入形式是 。#include main() int a,b; float x,y; char c1,c2; scanf(a=%d b=%d,&a,&b); scanf(x=%f y=%f,&x,&y); scanf(c1=%c c2=%c,&c1,&c2); printf(a=%d,b=%d,x=%g,y=%g,c1=%c,c2=%cn,a,b,x,y,c1,c2);【答】a=3 b=7x=8.5 y=71.82c1=A c2=a3. 编程题(1)编写一个程序,求出任一输入字符的ASCII码。【解】程序如下:/*文件名:exci3_1.cpp*/ VC+6.0#include main() char c; printf(输入字符:); scanf(%c,&c); printf(字符%c的ASCII码为%dn,c,c);(2)编写一个程序,输入一个字符,依次输出其前导字符、该字符和后续字符。【解】程序如下:/*文件名:exci3_2.cpp*/ VC+6.0#include #define pi 3.14159main() char c; printf(输入一个字符:); scanf(%c,&c); printf(输出结果:%c,%c,%cn,c-1,c,c+1);(3)编写一个程序,输出任意一个十进制整数对应的八进制数和十六进制数。【解】直接使用printf()的格式符输出八进制数和十六进制数。程序如下:/*文件名:exci3_3.cpp*/ VC+6.0#include main() int i; printf(输入一个整数:); scanf(%d,&i); printf(%d(10)%o(8)n,i,i); printf(%d(10)%x(16)nn,i,i);(4)编写一个程序,从键盘输入圆锥体的半径r和高度h,计算其体积。【解】圆锥体体积的计算公式为:v=rrh/3程序如下:/*文件名:exci3_4.cpp*/ VC+6.0#include main() float r,h,pi=3.1415,v; printf(圆锥半径,高度:); scanf(%f,%f,&r,&h); v=pi*r*r*h/3.0; printf(圆锥体积=%gnn,v); 练习题4及参考答案1. 单项选择题(1)if后面的逻辑表达式之值 。A. 只能是0或1B. 只能是正整数或负整数C. 只能是整型或字符型数据D. 可以是任何类型的数据【答】A (2)为了避免嵌套的if-else语句的二义性,C语言规定else总是与 组成配对关系。A. 缩排位置相同的ifB. 在其之前未配对的ifC. 在其之前最近的未配对的ifD. 同一行上的if【答】C (3)选择出合法的if语句(设int x,a,b,c;) 。A. if (a=b) x+;B. if (a=b) x+;C. if (ab) x+;D. if (a=b) x+;【答】选项B、C、D中的比较运算符不正确,在选项A中,a=b返回b,若b为0或空字符,则为假,否则为真。本题答案为A。(4)以下不正确的if语句是 。A. if (xy);B. if (x=y) & (x!=0) x+=y;C. if (x!=y) scanf(%d,&x);else scanf(%d,&y);D. if (xy) x+;y-;【答】B。应改为if (x=y & x!=0) x+=y;(5)若定义float x;int a, b;,则正确的switch语句是 。A. switch(x) case 1.0:printf(*n); case 2.0:printf(*n); B. switch(x) case 1.2:printf(*n); case 3:printf(*n); C. switch(a+b) case 1:printf*n; case 1+2:printf(*n) D. switch(a+b) case 1:printf(*n); case 2:printf(*n); 【答】D (6)执行下列程序,输入为1的运行结果是 ,输入为3的运行结果是 。#include main() int k; scanf(%d,&k); switch(k) case 1:printf(%d ,k+); break; case 2: printf(%d ,k+); case 3: printf(%d ,k+); break; case 4: printf(%d ,k+); default:printf(Full!n); A. 1 B. 2 C. 2 3 4 5 D. 1 2 3 4 A. 3 B. 4 C. 3 4 D. 4 5【答】 A A (7)执行下列程序,输入为1的运行结果是 ,输入为3的运行结果是 。#include main() int k; scanf(%d,&k); switch(k) case 1: printf(%d ,k+); case 2: printf(%d ,k+); case 3: printf(%d ,k+); case 4: printf(%d ,k+); break; default:printf(Full!n); A. 1 B. 2 C. 2 3 4 5 D. 1 2 3 4 A. 3 B. 4 C. 3 4 D. 4 5【答】 D C (8)以下程序的运行结果是 。#include main() int x=1,y=0,a=0,b=0; switch(x) case 1:switch(y) case 0:a+;break; case 1:b+;break; case 2:a+;b+;break; printf(a=%d,b=%dn,a,b);A. a=2,b=1B. a=1,b=1C. a=1,b=0D. a=2,b=2【答】A2. 填空题(1)有定义int x;则“x是偶数”的表达式是 。【答】x % 2 = 0(2)有定义int a,b;则“a是b的整数倍”的表达式是 。【答】a % b = 0(3)有定义int a,b,c;它们表示三个边长,则能够构成一个直角三角形的条件是 。【答】a*a+b*b=c*c | a*a+c*c=b*b | b*b+c*c=a*a(4)有定义int a,b,c;它们表示三个边长,则能够构成一个三角形的条件是 。【答】(a+bc & a+cb & b+ca)(5)以下程序的运行结果是 。#include main()int k=2;switch (k)case 1:printf(%dn,k+);break;case 2:printf(%d ,k+);case 3:printf(%dn,k+);break;case 4:printf(%dn,k+);default:printf(Full!n);【答】k=2,执行case 2分支,k+返回2,此时k=3,输出2,后跟一空格。由于没有break语句,继续执行case 3分支,k+返回3,此时k=4,输出3,由于有break语句,退出switch语句。所以输出为:2 3。(6)以下程序的运行结果是 。#include main()int s=1,t=1,a=5,b=2;if (a0)s+;if (ab)t+=s;else if (a=b)t=5;elset=2*s;printf(s=%d,t=%dn,s,t);【答】a0,s变为2。ab为真,t=t+s=3。所以输出为:s=2,t=3。(7)以下程序的运行结果是 。#include VC+6.0main()int k=2;switch(k)case 1:printf(%d ,k+);case 2:printf(%d ,k+);case 3:printf(%d ,k+);case 4:printf(%d ,k+); break;default:printf(Full!n);printf(n);【答】k=2,执行case 2分支,k+返回2,此时k=3,屏幕输出2,后跟一空格。由于没有break语句,继续执行case 3分支,k+返回3,此时k=4,屏幕输出3,由于没有break语句,继续执行case 4分支,k+返回4,此时k=5,屏幕输出4,由于有break语句,退出switch语句。所以输出为:2 3 4。(8)以下程序的运行结果是 。#include main()int x=0,y=2,z=3;switch(x)case 0:switch(y=2)case 1:printf(*);break;case 2:printf(%);break;case 1:switch(z)case 1:printf($);case 2:printf(*);break;default:printf(#);【答】x=0,执行外层switch语句的case 0部分,y=2为真,则执行里层switch语句的case 1部分,输出“*”,遇到break语句,退出里层的switch语句,由于里层的switch语句之后没有break语句,所以转而执行外层switch语句的case 1部分,这时z=3,故执行里层switch语句的default部分,输出“#”,整个程序执行完毕。所以输出为:*#。3. 编程题(1)编写一个程序判断用户输入的字符是数字字符、字母字符还是其他字符。【解】在0到9之间的为数字字符,在a到z或A到Z之间的为字母字符;否则为其他字符。程序如下:/*文件名:exci4_1.cpp*/ VC+6.0#include main()char c;printf(输入一个字符:);scanf(%c,&c);if (c=0 & c=a & c=A & c=Z)printf(n%c是字母字符nn,c);elseprintf(n%c是其他字符nn,c);(2)假设今天是星期日,编写一个程序,求123456天后是星期几。【解】星期是7天一个轮回,由于今天是星期日,所以123456除以7的余数即为星期几。程序如下:/*文件名:exci4_2.cpp*/ VC+6.0#include main()int n=123456;n=n%7;printf(n星期);switch(n)case 0:printf(天); break;case 1:printf(一); break;case 2:printf(二); break;case 3:printf(三); break;case 4:printf(四); break;case 5:printf(五); break;case 6:printf(六); break;printf(nn);(3)编写一个程序,输入年号和月份,判断该年是否为闰年,并根据给出的月份判断是什么季节和该月有多少天?闰年的条件是年号能被4整除但不能被100整除,或者能被400整除。【解】直接根据闰年的定义求解,如果是闰年,2月份为29天;否则为28天,其他月份相同。规定35月为春季,68月为夏季,911月为秋季,1、2和12月为冬季。本题程序如下:/*文件名:exci4_3.cpp*/ VC+6.0#include main()int y,m,leap,season,days;printf(年份,月份:);scanf(%d,%d,&y,&m);if (y%4=0 & y%100!=0) | (y%400=0)leap=1;elseleap=0;if (m=3 & m=6 & m=9 & m=11)season=3;elseseason=4;switch (m)case 1:case 3:case 5:case 7:case 8:case 10:case 12:days=31;break;case 4:case 6:case 9:case 11:days=30;break;case 2:if (leap=1)days=29; elsedays=28;printf(%d年%s闰年n,y,(leap=1 ? 是 : 不是); printf(该季度是);switch(season)case 1:printf(春季n);break;case 2:printf(夏季n);break;case 3:printf(秋季n);break;case 4:printf(冬季n);break;printf(当月天数:%dn,days);(4)报数游戏。A、B、C、D、E、F、G、H共8人站成一排,按图4.1所示的方法从1开始报数。问谁先报到123456?ABCDEFGH1 2 3 4 5 6 7 81413121110 915161718192021222827262524232930图4.1 游戏报数过程 【解】从图4.1中看到1到14是一个来回,再重复这一过程,所以只需对123456除以14的余数加以判断即可。程序如下:/*文件名:exci4_4.cpp*/ VC+6.0#include main()int n=123456,i;i=n%14;printf(n报数到%d的人是,n);switch(i)case 1:printf(A);break;case 2:case 14:printf(B);break;case 3:case 13:printf(C);break;case 4:case 12:printf(D);break;case 5:case 11:printf(E);break;case 6:case 10:printf(F);break;case 7:case 9:printf(G);break;case 8:printf(H);break;printf(n);程序的运行结果:报数到123456的人是D(5)编写一个程序,求ax2+bx+c=0方程的根。【解】先计算d=b2-4ac,再根据d是大于0、等于0还是小于
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 三会一课课件
- 三会一课培训课件
- 小儿溺水安全知识培训内容课件
- 上海门面转让合同协议书
- 石板销售合作协议合同范本
- 内部电脑维保合同协议书
- 分家的协议怎样签订合同
- 房屋无偿转让协议合同范本
- 小儿排痰的课件
- 小儿手足口病教学课件
- engel恩格尔注塑机机操纵使用说明
- 花卉学 二年生花卉
- 附件1:中国联通动环监控系统B接口技术规范(V3.0)
- 箱变设备台账
- GB/T 1185-2006光学零件表面疵病
- 微课(比喻句)讲课教案课件
- 银行间本币市场业务简介
- 2023年厦门东海职业技术学院辅导员招聘考试笔试题库及答案解析
- 辽阳市出租汽车驾驶员从业资格区域科目考试题库(含答案)
- (完整版)剑桥通用五级PET考试练习题
- DB32- 4385-2022《锅炉大气污染物排放标准》
评论
0/150
提交评论