




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
大學計算機C語言期末復習題(一)(附帶答案)大學計算機C語言期末復習題(一)(附帶答案)大學計算機C語言期末復習題(一)(附帶答案)V:1.0精細整理,僅供參考大學計算機C語言期末復習題(一)(附帶答案)日期:20xx年X月大學計算機C語言期末復習題(一)《附帶答案》一、單項選擇題
1.以下不正確的C語言標識符是(
)。A.ABC
B.abcC.a_bc
D.ab.c
2.以下正確的C語言標識符是(
)。A.%k
B.a+bC.a123
D.test!
3.一個C程序的執(zhí)行是從(
)。
A.main()函數(shù)開始,直到main()函數(shù)結(jié)束B.第一個函數(shù)開始,直到最后一個函數(shù)結(jié)束
C.第一個語句開始,直到最后一個語句結(jié)束D.main()函數(shù)開始,直到最后一個函數(shù)結(jié)束
4.在C程序中,main()的位置(
)。
A.必須作為第一個函數(shù)B.必須作為最后一個函數(shù)C.可以任意D.必須放在它所調(diào)用的函數(shù)之后
5.C語言源程序的基本單位是(
)。A.過程
B.函數(shù)
C.子程序
D.標識符
6.以下結(jié)果為整數(shù)的表達式(設(shè)有inti;charc;floatf;)(
).A.i+f
B.i*c
C.c+f
D.i+c+f
7.以下不正確的語句(設(shè)有intp,q)是(
)。A.p*=3;
B.p/=q;
C.p+=3;
D.p&&=q;
8.以下使i的運算結(jié)果為4的表達式是(
)。A.inti=0,j=0;
(i=3,(j++)+i);
B.inti=1,j=0;
j=i=((i=3)*2);C.inti=0,j=1;
(j==1)
(i=1):(i=3);D.inti=1,j=1;
i+=j+=2;
9.設(shè)charch;以下正確的賦值語句是(
)。A.ch='123';B.ch='\xff';C.ch='\08';D.ch="\";
10.設(shè)n=10,i=4,則賦值運算n%=i+1執(zhí)行后,n的值是(
)。A.0
B.3
C.2
D.1
11.逗號表達式(a=3*5,a*4),a+15的值為(
),a的值是(
)。①A.15
B.60
C.30
D.不確定②A.60
B.30
C.15
D.90
12.如果a=1,b=2,c=3,d=4,則條件表達式a<ba:c<dc:d的值為(
).A.1
B.2
C.3
D.4
13.設(shè)intn=3;則++n的結(jié)果是(
),n的結(jié)果是(
)。A.2
B.3
C.4
D.5
14.設(shè)intn=2;則++n+1==4的結(jié)果是(
),n的結(jié)果是(
)。①A.true
B.false
C.1
D.0②A.1
B.2
C.3
D.4
15.設(shè)inta=2,b=2;則a+++b的結(jié)果是(
),a的結(jié)果是(
),b的結(jié)果是(
)A.2
B.3
C.4
D.5
16.語句(1,2,3,4)的結(jié)果是(
)。A.1
B.2
C.3
D.4
17.設(shè)inta=04,b;則執(zhí)行b=a<<1;語句后,b的結(jié)果是(
)。A.4
B.04
C.8
D.10
18.sizeof(double)是一個(
)表達式。A.整型
B.雙精度
C.不合法
D.函數(shù)調(diào)用
19.在C語言中,不同類型數(shù)據(jù)混合運算時,要先轉(zhuǎn)換成同一類型后進行運算。設(shè)一表達式中包含有int,long,unsigned和char類型的變量和數(shù)據(jù),則表達式最后的運算結(jié)果是(
)類型的數(shù)據(jù)。這四種類型數(shù)據(jù)的轉(zhuǎn)換規(guī)律是(
)。①A.int
B.char
C.unsigned
D.long
②A.int->unsigned->long->char
B.char->int->long->unsigned
C.char->int->unsigned->long
D.char->unsigned->long->int
20.有如下程序段:
inta1,a2;
charc1,c2;
scanf("%d%c%d%c",&a1,&c1,&a2,&c2);
若要求a1,a2,c1,c2的值分別為10,20,A,B正確的數(shù)據(jù)輸入是(
)。
A.10A20B<CR>
B.10A20B<CR>
C.10A20B<CR>
D.10A20B<CR>
21.有如下程序,若要求a1,a2,c1,c2的值分別為10、20、A、B,正確的數(shù)據(jù)輸入是(
)。
main()
{
inta1,a2;
charc1,c2;
scanf("%d%d",&a1,&a2);
scanf("%c%c",&c1,&c2);
}
A.1020AB<CR>
B.1020<CR>
AB<CR>
C.1020ABC<CR>
D.1020AB<CR>
22.有如下程序,輸入數(shù)據(jù):12345678<CR>后,x的值是(
),y的值是(
)。
#include<stdio.h>
main()
{
intx;
floaty;
scanf("%3d%f",&x,&y);
}
(1)A.12345
B.123
C.45
D.345
(2)A.45.000000
B.45678.000000
c.678.000000
D.123.000
23.有如下程序,輸入數(shù)據(jù):12345<CR>后,x的值是(
),y的值是(
)。
#include<stdio.h>
main()
{
intx;
floaty;
scanf("%3d%f",&x,&y);
}
(1)A.12
B.123
C.12345
D.0
(2)A.12.000000
B.345.000000
C.12345.000000
D.0.0000000
24.有如下程序,對應(yīng)正確的數(shù)據(jù)輸入是(
)。
#include<stdio.h>
main()
{
floata,b;
scanf("%f%f",&a,&b);
printf("a=%f,b=%f\n",a,b);
}
A.2.04<CR>
5.67<CR>
B.2.04,5.67<CR>
C.A=2.04,b=5.67<CR>
D.2.045.67<CR>
25.有如下輸入語句:scanf("a=%d,b=%d,c=%d",&a,&b,&c);為使變量a的值為1,b的值為3?
琧的值為2,從鍵盤輸入數(shù)據(jù)的正確形式應(yīng)是(
)。
A.132<CR>
B.1,3,2<CR>
C.a=1,b=2,c=3<CR>
D.a=1b=2c=3<CR>
26.以下程序的執(zhí)行結(jié)果是(
)。
#include<stdio.h>
main()
{
intsum,pad;
sum=pad=5;
pad=sum++;
pad++;
++pad;
printf("%d\n",pad);
}
A.7
B.6
C.5
D.4
27.以下程序的執(zhí)行結(jié)果是(
)。
#include<stdio.h>
main()
{
inti=010,j=10;
printf("%d,%d,%d\n",++i,j,j--);
}
A.11,9,10
B.9,9,10
C.010,9,9
D.10,9,9
28.已知字母A的ASCII碼是65,以下程序的執(zhí)行結(jié)果是(
)。
#include<stdio.h>
main()
{
charc1='A',c2='Y';
printf("%d,%d\n",c1,c2);
}
A.A,Y
B.65,65
C.65,90
D.65,89
29.以下程序的執(zhí)行結(jié)果是(
)。
#include<stdio.h>
#include<math.h>
main()
{
inta=1,b=4,c=2;
floatx=10.5,y=4.0,z;
z=(a+b)/c+sqrt((double)y)*1.2/c+x;
printf("%f\n",z);
}
A.14.000000
B.15.000000
C.13.700000
D.14.900000
30.為了避免嵌套的if-else語義的二義性,C語言規(guī)定else總是與(
)
A.縮排位置相同的ifB.在其之前未配對的的ifC.在其之前未配對的最近的ifD.同一行上的if
31.選擇出合法的if語句(設(shè)intx,y;)(
)A.if(a==b)x++;B.if(a=<b)x++;C.if(a<>b)x++;D.if(a=>b)x++;
32.選擇出合法的if語句(設(shè)int
x,a,b,c;)(
)
A.if(x!=y)if(x>y)
printf("x>y\n");
elseprintf("x<y\n");
elseprintf("x==y\n");
B.if(x!=y)
if(x>y)printf("x>y\n")
else
printf("x<y\n");
elseprintf("x==y\n");
C.if(x!=y)if(x>y)printf("x>y\n");
elseprintf("x<y\n")
elseprintf("x==y\n");
D.if(x!=y)
if(x>y)printf("x>y\n");
elseprintf("x<y\n")
elseprintf("x==y\n");
33.C語言用()表示邏輯"真"值。A.true
B.t或y
C.非零整數(shù)值
D.整數(shù)0
34.以下for循環(huán)是()。for(x=0,y=0;(y!=123)&&(x<4);x++);A.無限循環(huán)
B.循環(huán)次數(shù)不定
C.執(zhí)行4次
D.執(zhí)行3次
35.下面有關(guān)for循環(huán)的正確描述是()。
A.for循環(huán)只能是用于循環(huán)次數(shù)已經(jīng)確定的情況。B.for循環(huán)是先執(zhí)行循環(huán)語句,后判斷表達試。
C.在for循環(huán)中,不能用break語句跳出循環(huán)體D.for循環(huán)體語句中,可以包含多條語句,但要用花括號括起來
36.對于for(表達式1;;表達式3)可理解為()。
A.for(表達式1;0;表達式3)B.for(表達式1;1;表達式3)
C.for(表達式1;表達式1;表達式3)D.for(表達式1;表達式3;表達式3)
37.C語言中()。
A.不能使用do-while語句構(gòu)成的循環(huán)B.do-while語句構(gòu)成的循環(huán)必須用break語句才能退出
C.do-while語句構(gòu)成的循環(huán),當while語句中的表達式值為非零時結(jié)束循環(huán)
D.do-while語句構(gòu)成的循環(huán),當while語句中的表達式值為零時結(jié)束循環(huán)
38.C語言中while和do-while循環(huán)的主要區(qū)別是()
A.do-while的循環(huán)體至少無條件執(zhí)行一次B.while的循環(huán)控制條件比do-while的循環(huán)控制條件嚴格
C.do-while允許從外部轉(zhuǎn)到循環(huán)體內(nèi)D.do-while的循環(huán)體不能是復合語句
39.有以下程序:
#include<stdio.h>
#defineN6
main()
{charc[N];
inti=0;
for(;i<N;c[i]=getchar(),i++);
for(i=0;i<N;putchar(c[i]),i++);
}
輸入以下三行,每行輸入都是在第一列上開始:
a<CR>
b<CR>
cdef<CR>
程序的輸出結(jié)果是()。
A.abcdef
B.a
C.a
D.a
bbb
ccd
cdef
d
e
f
40.以下程序的輸出結(jié)果是()。
#include<stdio.h>
main()
{inti;
for(i=1;i<=5;i++)
{if(i%2)
printf("*");
else
continue;
printf("#");
}
printf("$\n");
}
A.*#*#*#$
B.#*#*#*$
C.*#*#$
D.#*#*$41.以下for語句構(gòu)成的循環(huán)執(zhí)行了()次。#include<stdio.h>#defineN2#defineMN+1#defineNUM(M+1)*M/2main(){inti,n=0;for(i=1;i<=NUM;i++){n++;printf("%d",n);}printf("\n");}A.5B.6C.8D.942.以下程序的輸出結(jié)果是().#include<stdio.h>main(){intnum=0;while(num<=2){num++;printf("%d\n",num);}}A.1B.1C.1D.122233443.以下程序段()。x=-1;do{x=x*x;}while(!x);A.是死循環(huán)B.循環(huán)執(zhí)行二次C.循環(huán)執(zhí)行一次D.有語法錯誤44.以下關(guān)于數(shù)組的描述正確的是()A.數(shù)組的大小是固定的,但可以有不同的類型的數(shù)組元素。B.數(shù)組的大小是可變的,但所有數(shù)組元素的類型必須相同。C.數(shù)組的大小是固定的,所有數(shù)組元素的類型必須相同。D.數(shù)組的大小是可變的,可以有不同的類型的數(shù)組元素。45.以下一維數(shù)組a的正確定義是()A.inta(10);B.intn=10,a[n];C.intn;D.#defineSIZE10scanf("%d",&n);inta[SIZE];inta[n];46.在定義inta[10];之后,對a的引用正確的是()A.a[10]B.a[6.3]C.a(6)D.a[10-10]47.以下對二維數(shù)組a進行正確初始化的是()A.inta[2][3]={{1,2},{3,4},{5,6}};B.inta[][3]={1,2,3,4,5,6};C.inta[2][]={1,2,3,4,5,6};D.inta[2][]={{1,2},{3,4}};48.以下對二維數(shù)組a進行不正確初始化的是()A.inta[][3]={3,2,1,1,2,3};B.inta[][3]={{3,2,1},{1,2,3}};a[2][3]={{3,2,1},{1,2,3}};D.inta[][]={{3,2,1},{1,2,3}};49.以下對字符數(shù)組word進行不正確初始化的是()A.staticcharword[]='Turbo\0';B.staticcharword[]={'T','u','r','b','o','\0'};C.staticcharword[]={"Turbo\0"};D.staticcharword[]="Turbo\0";50.在定義inta[5][4];之后,對a的引用正確的是()A.a[2][4]B.a[5][0]C.a[0][0]D.a[0,0]51.在定義inta[2][3];之后,對a的引用正確的是()A.a(1,2)B.a{1,3]C.a[1>2][!1]D.a[2][0]52.以下正確的定義語句是()A.intA['a'];B.intA[3,4];C.intA[][3];D.intA[10];53.以下給字符數(shù)組str定義和賦值正確的是()A.charstr[10];str="China";B.charstr[]={"China"};C.charstr[10];strcpy(str,"abcdefghijklmn");D.charstr[10]={"abcdefghijklmn");54.在執(zhí)行inta[][3]={1,2,3,4,5,6};語句后,a[1][0]的值是()A.4B.1C.2D.555.在執(zhí)行inta[][3]={{1,2},{3,4}};語句后,a[1][3]的值是()A.3B.4C.0D.256.在執(zhí)行charstr[10]="China\0";strlen(str)的結(jié)果是()A.5B.6C.7D.957.設(shè)int*p,i;以下正確的語句是()A.*p=10;B.i=p;C.i=*P;D.p=2*p+1;58.設(shè)chars[10];*p=s;以下不正確的表達式是()A.p=s+5;B.s=p+s;C.s[2]=p[4];D.*p=s[0];59.設(shè)char**s;以下正確的表達式是()A.s="computer";B.*s="computer";C.**s="computer";D.*s='c';60.設(shè)有說明int(*ptr)[M];其中ptr是()A.M個指向整型變量的指針B.指向M個整型變量的函數(shù)指針C.一個指向具有M個整型元素的一維數(shù)組的指針D.具有M個指針元素的一維指針數(shù)組,每個元素都只能指向整型量61.選擇出i的正確結(jié)果()inti;char*s="a\045+045\b";for(i=0;*s++;i++)A.5B.8C.11D.1262.如下程序的執(zhí)行結(jié)果是()#include<stdio.h>main(){inti;char*s="a\n35\b";for(i=0;*s++;i++)printf("i=%d\n",i);}A.i=5B.i=6C.i=7D.i=863.如下程序的執(zhí)行結(jié)果是()#include<stdio.h>main(){inti;char*s="a\\\\\n";for(i=0;s[i]!='\0';i++)printf("%c",*(s+i));}A.aB.a\C.a\\D.a\\\\64.如下程序的執(zhí)行結(jié)果是()#include<stdio.h>main(){inti;char*s="\\\"";for(i=0;s[i]!='\0';i++)printf("%c",*(s+i));}A.\"B.a"C."\""D.不正確65.如下程序的執(zhí)行結(jié)果()#include<stdio.h>main(){staticinta[]={1,2,3,4,5,6};int*p;p=a;*(p+3)+=2;printf("%d,%d\n",*p,*(p+3));}A.1,3B.1,6C.3,6D.1,466.如下程序的執(zhí)行結(jié)果是()#include<stdio.h>main(){staticinta[][4]={1,3,5,7,9,11,13,15,17,19,21,23};int(*p)[4],i=1,j=2;p=a;printf("%d\n",*(*(p+i)+j));}A.9B.11C.13D.1767.以下delspace函數(shù)的功能是刪除字符串s中的所有空格(包括Tab,回車符和換行符)。請選擇正確的編號填空delspace(char*s){inti,t;charc[80];for(i=0,t=0;(1);i++)if(!isspace((2)))c[t++]=s[i];c[t]='\0';strcpy(s,c);}(1)A.s[i]B.!s[i]C.s[i]='\0'D.s[i]=='\0'(2)A.s+iB.*c[i]C.*(s+i)D.*(c+i)68.以下delnum函數(shù)的功能是刪除字符串s中的數(shù)字字符。請選擇正確的編號填空delnum(char*s){inti,j;for(i=0,j=0;s[i]!='\0';i++)if((1)){s[j]=s[i];j++;}(2);}(1)A.s[j]<'0'||s[j]>'9'B.s[i]<'0'||s[i]>'9'C.s[j]<'0'&&s[j]>'9'D.s[i]<'0'&&s[i]>'9'(2)A.s[j]='\0'B.s[i]='\0'C.s[j++]='\0'D.s[i++]='\0'69.以下comp函數(shù)的功能是按詞典順序比較兩個字符串s和t的大小。如果s大于t則返回正值,等于就返回零,小于則返回負值。請選擇正確的編號填空。comp(char*s,char*t){for(;*s==*t;___________)if(*s=='\0')return(0);return(*s-*t);}A.s++B.t++C.s++;t++D.s++,t++70.C語言中規(guī)定函數(shù)的返回值的類型是由()。A.return語句中的表達式類型所決定B.調(diào)用該函數(shù)時的主調(diào)用函數(shù)類型所決定C.調(diào)用該函數(shù)時系統(tǒng)臨時決定D.在定義該函數(shù)時所指指定的函數(shù)類型所決定71.對于C語言的函數(shù),下列敘述中正確的是()。A.函數(shù)的定義不能嵌套,但函數(shù)調(diào)用可以嵌套B.函數(shù)的定義可以嵌套,但函數(shù)調(diào)用不能嵌套C.函數(shù)的定義和調(diào)用都不能嵌套D.函數(shù)的定義和調(diào)用都可以嵌套72.有一個函數(shù)的定義如下:voidnewprint(double(*f)(),doublex){printf("%f\n",(*f)(x));}則調(diào)用正確的語句是()。A.newprint(sin,0.5);B.newprint(sin(0.5));C.newprint(&sin,0.5);D.newprint((&sin)(0.5));73.以下函數(shù)調(diào)用語句中含有()個實參。func((exp1,exn2),(exp3,exp4,exp5));A.1B.2C.4D.574.以下程序的輸出結(jié)果是()。#include<stdio.h>main(){intk=4,m=1,p;p=func(k,m);printf("%d",p);p=func(k,m);printf("%d\n",p);}func(a,b)inta,b;{staticintm=0,i=2;i+=m+1;m=i+a+b;return(m);}A.8,17B.8,16C.8,20D.8,875.以下程序的輸出結(jié)果是()。#include<stdio.h>main(){staticchar*a[]={"MORNING","AFTERNOON","EVENING"};char**n;n=a;func(n);}func(char**m){++m;printf("%s\n",*m);}A.為空B.MORNINGC.AFTERNOOND.EVENING76.以下程序的輸出結(jié)果是()。main(){inta=2,i;for(i=0;i<3;i++)printf("%d",func(a));}func(inta){intb=0;staticc=3;b++;c++;return(a+b+c);}A.777B.777C.789D.78977.以下程序的輸出結(jié)果是()。inti=10;main(){intj=1;j=func();printf("%d,",j);j=func();printf("%d",j);}func(){intk=0;k=k+i;i=i+10;return(k);}A.0,0B.10,20C.10,10D.20,2078.以下程序的輸出結(jié)果是()。main(){inta=3,b=2,c=1;c-=++b;b*=a+c;{intb=5,c=12;c/=b*2;a-=c;printf("%d,%d,%d,",a,b,c);a+=--c;}printf("%d,%d,%d\n",a,b,c);}A.3,2,1,2,3,-2B.2,5,1,3,5,12C.2,5,1,2,3,-2D.3,2,1,3,5,1279.以下程序的輸出結(jié)果是()。func1(inta,intb){return(a+b);}func2(inta,intb){return(a-b);}func3(int(*t)(),intx,inty){return(*t)(x,y);}main(){intx,(*p)(int,int);p=func1;x=func3(p,9,3);x+=func3(func2,8,3);printf("%d\n",x);}A.9B.17C.3D.2780.在說明一個結(jié)構(gòu)體變量時系統(tǒng)分配給它的存儲空間是()A.該結(jié)構(gòu)體中第一個成員所需存儲空間B.該結(jié)構(gòu)體中最后一個成員所需存儲空間C.該結(jié)構(gòu)體中占用最大存儲空間的成員所需存儲空間D.該結(jié)構(gòu)體中所有成員所需存儲空間的總和81.在說明一個共用體變量時系統(tǒng)分配給它的存儲空間是()A.該共用體中第一個成員所需存儲空間B.該共用體中最后一個成員所需存儲空間C.該共用體中占用最大存儲空間的成員所需存儲空間D.該共用體中所有成員所需存儲空間的總和82.使用共用體union的目的是()A.將一組數(shù)據(jù)作為一個整體,以便于其中的成員共享同一存儲空間B.將一組具有相同數(shù)據(jù)類型的數(shù)據(jù)作為一個整體,以便于其中的成員共享同一存儲空間C.將一組相關(guān)數(shù)據(jù)作為一個整體,以便程序中使用D.將一組具有相同數(shù)據(jù)類型的數(shù)據(jù)作為一個整體,以便程序中使用83.以下關(guān)于typedef的敘述不正確的是()A.用typedef可以定義各種類型名,但不能用來定義變量B.用typedef可以增加新類型C.用typedef只是將已存在的類型用一個新的名稱來代表D.使用typedef便于程序的通用84.在下列程序段中,枚舉變量c1和c2的值分別是()和()main(){enumcolor{red,yellow,blue=4,green,white}c1,c2;c1=yellow;c2=white;printf("%d,%d\n",c1,c2);}A.1B.3C.5D.685.若有以下說明和語句:structworker{intno;char*name;}work,*p=&work;則以下引用方式不正確的是()A.work.noB.(*p).noC.p->noD.work->no86.以下程序執(zhí)行后的正確結(jié)果是()structtree{intx;char*s;}t;func(structtreet){t.x=10;t.s="computer";return(0);}main(){t.x=1;t.s="minicomputer";func(t);printf("%d,%s\n",t.x,t.s);}A.10,computerB.1,minicomputerC.1,computerD.10,minicomputer87.有如下定義:structdate{intyear,month,day;};structworklist{charname[20];charsex;structdatebirthday;}person;對結(jié)構(gòu)體變量person的出生年份進行賦值時,下面正確的賦值語句是()A.year=1958B.birthday.year=1958c.person.birthday.year=1958D.person.year=195888.在如下結(jié)構(gòu)體定義中,不正確的是()A.structstudent{intno;charname[10];floatscore;}B.structstud[20]{intno;charname[10];floatscore;}C.structstudent{intno;charname[10];floatscore;}stud[20];D.struct{intno;charname[10];floatscore;}stud[100];89.以下程序的功能是讀入一行字符,且每個字符存入一個結(jié)點,按輸入順序建立一個鏈表的結(jié)點序列,然后再按相反順序輸出并釋放全部結(jié)點。請選擇正確的編號填空。#include<stdio.h>#include<alloc.h>#definegetnode(type)((type*)malloc(sizeof(type)))#defineNULL0main(){structnode{charinfo;structnode<1>;}*top,*p;charc;top=NULL;while((c=getchar())!='\n'){p=getnode(<2>);p->info=c;p->link=<3>;top=<4>;}while(top!=NULL){p=<5>;top=p->link;printf("%c",p->info);free(p);}}<1>A.*pB.*linkC.*topD.link<2>A.topB.pC.nodeD.structnode<3>A.topB.top->linkC.pD.p->link<4>A.linkB.pC.p->linkD.top->link<5>A.p->linkB.top->linkC.topD.link90.閱讀以下程序,請選擇正確的編號填空。#include<stdio.h>typedefstructstr1{charc[5];char*s;}st;main(){staticsts1[2]={{"ABCD","EFGH"},{"IJK","LMN"}};staticstructstr2{stsr;intd;}s2={"OPQ","RST",32767};st*p[]={&s1[0],&s1[1]};printf("%c\n",p[0]->c[1]);輸出為(<1>)printf("%s\n",(++p[0])->s);輸出為(<2>)printf("%c\n",s2.sr.c[2]);輸出為(<3>)printf("%d\n",s2.d+1);輸出為(<4>)}<1>A.MB.JC.DD.B<2>A.ABCDB.EFGHC.LMND.IJK<3>A.QB.VC.YD.Y<4>A.-32768B.32768C.65535D.091.當已存在一個abc.txt文件時,執(zhí)行函數(shù)fopen("abc.txt","r+")的功能是()。A.打開abc.txt文件,清除原有的內(nèi)容。C.打開abc.txt文件,只能讀取原有內(nèi)容。B.打開abc.txt文件,只能寫入新的內(nèi)容。D.可以讀取和寫入新的內(nèi)容。92.fopen()函數(shù)的mode取值"r"和"w"時,它們之間的差別是()。A."r"可向文件讀入,"w"不可向文件讀入。B."r"不可向文件寫入,"w"可向文件寫入。C."r"不可由文件讀出,"w"可由文件讀出。D.文件不存在時,"r"建立文件,"w"出錯。93.fopen()函數(shù)的mode取值"w+"和"a+"時都可以寫入數(shù)據(jù),它們之間的差別是()。A."w+"時可在中間插入數(shù)據(jù),而"a+"時只能在末尾追加數(shù)據(jù)。B."w+"時和"a+"時只能在末尾追加數(shù)據(jù)。C.在文件存在時,"w+"時清除原文件數(shù)據(jù),而"a+"時保留原文件數(shù)據(jù)。D."w+"時不能在中間插入數(shù)據(jù),而"a+"時只能在末尾追加數(shù)據(jù)。94.若用fopen()函數(shù)打開一個新的二進制文件,該文件可以讀也可以寫,則文件打開模式是()。A."r+"B."wb+"C."a+"D."ab"95.若用fopen()函數(shù)打開一個已存在的文本文件,保存該文件原有數(shù)據(jù)且可以讀也可以寫,則文件打開模式是()。A."r+"B."w+"C."a+"D."a"96.使用fseek函數(shù)可以實現(xiàn)的操作是()。A.改變文件的位置指針的當前位置B.文件的順序讀寫C.文件的隨機讀寫D.以上都不對97.以下不能將文件位置指針重新移動到文件開頭位置的函數(shù)是()。A.rewind(fp);B.fseek(fp,0,0);C.fseek(fp,-(long)ftell(fp),1);D.fseek(fp,0,2);98.fread(buf,64,2,fp)的功能是()。A.從fp文件流中讀出整數(shù)64,并存放在buf中;B.從fp文件流中讀出整數(shù)64和2,并存放在buf中;C.從fp文件流中讀出64個字節(jié)的字符,并存放在buf中;D.從fp文件流中讀出2個64個字節(jié)的字符,并存放在buf中;99.檢測文件流的文件位置指針在文件頭的條件是()。A.fp==0B.ftell(fp)==0C.fseek(fp,0,SEEK_SET)D.feof(fp)100.C語言中,宏定義有效范圍從定義處開始,到源文件結(jié)束處結(jié)束,但可以用()來提前解除宏定義的作用。A.#ifdefB.#endifC.#undefineD.#undef101.以下不正確的敘述是()A.預(yù)處理命令行都必須以"#"開始B.在程序中凡是以"#"開始的語句行都是預(yù)處理命令行C.C程序在執(zhí)行過程中對預(yù)處理命令進行處理D.#defineABCD是正確的宏定義102.以下正確的敘述是()A.在程序的一行中可以出現(xiàn)多個有效的預(yù)處理命令行B.使用帶參宏時,參數(shù)的類型應(yīng)與宏定義時的一致C.宏替換不占用運行時間,只占編譯時間D.宏定義不能出現(xiàn)在函數(shù)內(nèi)部103.以下不正確的敘述是()A.宏替換不占用運行時間B.宏名無類型C.宏替換只是字符替換D.宏名必須用大寫字母表示104.以下正確的敘述是()A.C語言的預(yù)處理功能是指完成宏替換和包含文件的調(diào)用B.預(yù)處理命令只能位于C源程序文件的首部C.凡是C源程序中行首以"#"標識的控制行都是預(yù)處理命令D.C語言的編譯預(yù)處理就是對源程序進行初步的語法檢查105.在文件包含預(yù)處理語句(#include)的使用形式中,當之后的文件名用""(雙括號)括起時,尋找被包含文件的方式是()A.直接按系統(tǒng)設(shè)定的標準方式搜索目錄B.先在源程序所在目錄搜索,再按系統(tǒng)設(shè)定的標準方式搜索C.僅僅搜索源程序所在目錄D.僅僅搜索當前目錄106.在文件包含預(yù)處理語句(#include)的使用形式中,當之后的文件名用<>(尖括號)括起時,尋找被包含文件的方式是()A.直接按系統(tǒng)設(shè)定的標準方式搜索目錄B.先在源程序所在目錄搜索,再按系統(tǒng)設(shè)定的標準方式搜索C.僅僅搜索源程序所在目錄D.僅僅搜索當前目錄107.C語言的編譯系統(tǒng)對宏命令的處理()A.在程序運行時進行的B.在程序連接時進行的C.和C程序中的其他語句同時進行編譯的D.在對源程序中其他語句正式編譯之前進行的108.以下程序的輸出結(jié)果是()#defineMIN(x,y)(x)<(y)
(x):(y)main(){inti,j,k;i=10;j=15;k=10*MIN(i,j)printf("%d",k);}A.15B.100C.10D.150109.以下程序的輸出結(jié)果是()#include<stdio.h>#defineADD(y)3.54+y#definePR(a)printf("%d",(int)(a))#definePR1(a)PR(a);putchar('\n')main(){inti=4;PR1(ADD(5)*i);}A.20B.23C.10D.0
二、填空題(將正確的答案填在相應(yīng)的空中)1.一個C程序有且僅有一個________函數(shù)。2.一個C源程序有________個main()函數(shù)和________個其他函數(shù)。3.結(jié)構(gòu)化設(shè)計中的三種基本結(jié)構(gòu)是________。4.C程序的執(zhí)行是從________開始執(zhí)行的。5.C語言源程序的語句分隔符是________。6.C語言開發(fā)的四個步驟是________。7.表達式10/3的結(jié)果是________。8.表達式10%3的結(jié)果是________。9.定義intx,y;執(zhí)行y=(x=1,++x,x+2);語句后,Y的值是------。10.設(shè)intx=9,y=8;表達式x==y+1的結(jié)果是_________。11.設(shè)intx=10,y,z;執(zhí)行y=z=x;x=y==z后,變量x的結(jié)果是__________。12.設(shè)inta=1,b=2,c=3,d;執(zhí)行d=!(a+b+c)后,d的結(jié)果是________。13.設(shè)intx;當x的值分別為1,2,3,4時,表達式(x&1==1)1:0的值分別是________,________,________,________。14.以下程序的執(zhí)行結(jié)果是__________。#include<stdio.h>main(){floatf=3.1415927;printf("%f,%5.4f,%3.3f",f,f,f);}15.以下程序的執(zhí)行結(jié)果是__________。#include<stdio.h>main(){floatf=3.5;printf("%f,%g",f,f);}16.以下程序的執(zhí)行結(jié)果是___________。#include<stdio.h>main(){floatf=31.41592;printf("%f,%e",f,f);}17.以下程序的執(zhí)行結(jié)果是___________。#include<stdio.h>main(){charc='A'+10;printf("c=%c\n",c);}18.以下程序的執(zhí)行結(jié)果是__________#include<stdio.h>main(){inta,b,c;a=2;b=3;c=1;if(a>b)if(a>c)printf("%d\n",a);elseprintf("%d\n",b);printf("end\n");}19.以下程序的執(zhí)行結(jié)果是___________#include<stdio.h>main(){inta,b,c,d,x;a=c=0;b=1;d=20;if(a)d=d-10;elseif(!b)if(!c)x=15;elsex=25;printf("d=%d\n",d);}20.以下程序在輸入5,2之后的執(zhí)行結(jié)果是#include<stdio.h>main(){ints,t,a,b;scanf("%d,%d",&a,&b);s=1;t=1;if(a>0)s=s+1;if(a>b)t=s+t;elseif(a==b)t=5;elset=2*s;printf("s=%d,t=%d\n",s,t);}21.以下程序的執(zhí)行結(jié)果是_________#include<stdio.h>main(){intx=1,y=0;switch(x){case1:switch(y){case0:printf("first\n");break;case1:printf("second\n");break;}case2:printf("third\n");}}22.執(zhí)行以下程序,輸入-10的結(jié)果是________,輸入5的結(jié)果是__________,輸入10的結(jié)果是__________,輸入30的結(jié)果是________#include<stdio.h>main(){intx,c,m;floaty;scanf("%d",&x);if(x<0)c=-1;elsec=x/10;switch(c){case-1:y=0;break;case0:y=x;break;case1:y=10;break;case2:case3:y=-0.5*x+20;break;default:y=-2;}if(y!=-2)printf("y=%g\n",y);elseprintf("error\n");}23.以下程序的執(zhí)行結(jié)果是_________#include<stdio.h>main(){inta=2,b=7,c=5;switch(a>0){case1:switch(b<0){case1:printf("@");break;case2:printf("!");break;}case0:switch(c==5){case0:printf("*");break;case1:printf("#");break;default:printf("$");break;}default:printf("&");}printf("\n");}24.下列程序運行后的輸出結(jié)果是___#include<stdio.h>main(){ints=0,k;for(k=7;k>=0;k--){switch(k){case1:case4:case7:s++;break;case2:case3:case6:break;case0:case5:s+=2;break;}}printf("s=%d\n",s);}25.下列程序運行后的輸出結(jié)果是__#include<stdio.h>main(){inti,j;for(i=4;i>=1;i--){printf("*");for(j=1;j<=4-i;j++)printf("*");printf("\n");}}26.下列程序運行后的輸出結(jié)果是________。#include<stdio.h>main(){inti,j,k;for(i=1;i<=6;i++){for(j=1;j<=20-2*i;j++)printf("");for(k=1;k<=i;k++)printf("%4d",i);printf("\n");}}27.下列程序運行后的輸出結(jié)果是______。#include<stdio.h>main(){inti,j,k;for(i=1;i<=6;i++){for(j=1;j<=20-3*i;j++)printf("");for(k=1;k<=i;k++)printf("%3d",k);for(k=i-1;k>0;k--)printf("%3d",k);printf("\n");}}28.下列程序運行后的輸出結(jié)果是__________。#include<stdio.h>main(){inti,j,k;for(i=1;i<=4;i++){for(j=1;j<=20-3*i;j++)printf("");for(k=1;k<=2*i-1;k++)printf("%3s","*");printf("\n");}for(i=3;i>0;i--){for(j=1;j<=20-3*i;j++)printf("");for(k=1;k<=2*i-1;k++)printf("%3s","*");printf("\n");}}29.下列程序運行后的輸出結(jié)果是________。#include<stdio.h>main(){inti,j,sum,m,n=4;sum=0;for(i=1;i<=n;i++){m=1;for(j=1;j<=i;j++)m=m*j;sum=sum+m;}printf("sum=%d\n",sum);}30.定義inta[]={1,2,3,4,5,6},*p=a;表達式(*++p)++的值是_____。31.以下程序的執(zhí)行結(jié)果是__________typedefstruct{longx[2];inty[4];charz[8];}MYTYPE;MYTYPEa;main(){printf("%d\n",sizeof(a));}32.有如下定義:struct{intx;char*y;}tab[2]={{1,"ab"},{2,"cd"}},*p=tab;則:表達式*p->y的結(jié)果是____表達式*(++p)->y的結(jié)果是____33.有如下定義:struct{intx;inty;}s[2]={{1,2},{3,4}},*p=s;則:表達式++p->x的結(jié)果是____表達式(++p)->x的結(jié)果是____34.以下程序的執(zhí)行結(jié)果是________structstru{intx;charc;};main(){structstrua={10,'x'};func(a);printf("%d,%c\n",a.x,a.c);}func(structstrub){b.x=20;b.c='y';}35.以下程序執(zhí)行的結(jié)果是______structstru{intx;charc;};main(){structstrua={10,'x'},*p=&a;func(p);printf("%d,%c\n",a.x,a.c);}func(structstru*b){b->x=20;b->c='y';}36.以下程序的執(zhí)行結(jié)果是______main(){union{inti[2];longk;charc[4];}r,*p=&r;p->i[0]=0x39;p->i[1]=0x38;printf("%x,%x,%x,%x\n",p->c[0],p->c[1],p->c[2],p->c[3]);}37.以下程序的執(zhí)行結(jié)果是_______typedefunion{longx[2];inty[4];charz[8];}MYTYPE;MYTYPEa;main(){printf("%d\n",sizeof(a));}38.以下程序的執(zhí)行結(jié)果是_______structst{intx;int*y;}*p;ints[]={10,20,30,40};structsta[]={1,&s[0],2,&s[1],3,&s[3],4,&s[3]};main(){p=a;printf("%d,",p->x);printf("%d,",(++p)->x);printf("%d,",*(++p)->y);printf("%d\n",++(*(++p)->y));}39.以下程序的執(zhí)行結(jié)果是_______#include<stdio.h>main(){unionEXAMPLE{struct{intx;inty;}in;inta;intb;}e;e.a=1;e.b=2;e.in.x=e.a*e.b;e.in.y=e.a+e.b;printf("%d,%d\n",e.in.x,e.in.y);}40.C語言中根據(jù)數(shù)據(jù)的組織形式,把文件分為________和__________兩種。41.使用fopen("abc","r+")打開文件時,若abc文件不存在,則_________。42.使用fopen("abc","w+")打開文件時,若abc文件已存在,則________。43.使用fopen("abc","a+")打開文件時,若abc文件不存在,則_________。44.使用fopen("abc","a+")打開文件后,所有的寫操作均在文件末尾進行,這句話是_________。45.C語言中文件的格式化輸入輸出函數(shù)對是_________;文件的數(shù)據(jù)塊輸入輸出函數(shù)對是__________;文件的字符串輸入輸出函數(shù)對是_______。46.C語言中文件指針設(shè)置函數(shù)是__________;文件指針位置檢測函數(shù)是_______。47.將fp的文件位置指針移到離文件開頭64個字節(jié)處,采用的函數(shù)是_________;將文件位置指針移到離當前文件位置前面32個字節(jié)處,采用的函數(shù)是______。將文件位置指針移到離文件末尾后面16個字節(jié)處,采用的函數(shù)是______。48.以下程序的執(zhí)行結(jié)果___________#include<stdio.h>main(){inti,n;FILE*fp;if((fp=fopen("temp","w+"))==NULL){printf("不能建立temp文件\n");exit(0);}for(i=1;i<10;i++)fprintf(fp,"%3d",i);for(i=0;i<5;i++){fseek(fp,i*6L,SEEK_SET);fscanf(fp,"%d",&n);printf("%3d",n);}fclose(fp);}49.以下程序的執(zhí)行結(jié)果__________#include<stdio.h>main(){inti,n;FILE*fp;If((fp=fopen("temp","w+"))==NULL){printf("不能建立temp文件\n");exit(0);}for(i=1;i<=10;i++)fprintf(fp,"%3d",i);for(i=0;i<10;i++){fseek(fp,i*3L,SEEK_SET);fscanf(fp,"%d",&n);fseek(fp,i*3L,0);fprintf(fp,"%3d",n+10);}for(i=1;i<=5;i++){fseek(fp,i*6L,0);fscanf(fp,"%d",&n);printf("%3d",n);}fclose(fp);}50.有一個delcomn程序和包含如下兩行內(nèi)容的abc文件fp=fopen("temp","r");/Opentempfileforread*/fscanf(fp,"%c%c",i,j);/*readcharacteriandj*/則命令:delcomnabcxyz執(zhí)行后xyz文件的內(nèi)容是__________。/*filename:delcomn.c*/#include<stdio.h>main(intargc,char*argv[]){FILE*fp1,*fp2;intc,i=0;if(argc<3){printf("Usage:delcomnfilename1filename2\n");exit(0);}fp1=fopen(argv[1],"r");fp2=fopen(argv[2],"w");while((c=fgetc(fp1))!=EOF)if(c=='\n')fprintf(fp2,"\n");elseswitch(i){case0:if(c=='/')i=1;elsefprintf(fp2,"%c",c);break;case1:if(c=='*')i=2;else{fprintf(fp2,"/%c",c);i=0;}break;case2:if(c=='*')i=3;break;case3:i=(c=='/')0:2;break;}fclose(fp1);fclose(fp2);}
三、讀程序1、以下程序的執(zhí)行結(jié)果是什么為什么#include<stdio.h>main(){inta=2;charc='a';floatf=3.0;printf("(1):%f\n",a+a*6/f+c%a);printf("(2):%d\n",(a<=f)+5);printf("(3):%f\n",(a&&1)*f);printf("(4):%d\n",((a>2)3:2));printf("(5):%f\n",(a=2)*f);printf("(6):%d\n",(1,2,3)-a);}2.以下程序的執(zhí)行結(jié)果是什么為什么#include<stdio.h>main(){inta=1;charc='a';floatf=2.0;printf("(1):%d\n",a+2!=c-100);printf("(2):%d\n",(a>c)>=(f>4));printf("(3):%d\n",!a==!f);printf("(4):%d\n",(!a&&1)!=(!c||1));printf("(5):%d\n",(!a>2)3:0)<((f!=1)0:1);printf("(6):%d\n",(1,2,3)==(3,3,3));}3.以下程序的執(zhí)行結(jié)果是什么為什么#include<stdio.h>main(){inta=1;charc='a';floatf=2.0;printf("(1):%d\n",a>0a:-a);printf("(2):%d\n",f==3.0a<=c:a>=c);printf("(3):%d\n",!(a==0)!!a:a);printf("(4):%d\n",(f>0)((a>0)2:1):((a>01:0)));printf("(5):%d\n",(a>=0)(a=1):(a=0));printf("(6):%d\n",(c=='A')(0,1):(1,0));}4.以下程序的執(zhí)行結(jié)果是什么為什么#include<stdio.h>main(){inta=1;charc='a';floatf=2.0;printf("(1):%d\n",(a+2,c+2));printf("(2):%d\n",(a<=c,f>=c));printf("(3):%d\n",(!(a==0),f!=0&&c=='A'));printf("(4):%d\n",((a>00:1),(a<01:2)));printf("(5):%d\n",(f+2.5,a-10));printf("(6):%d\n",(a,c,f,5));}5.以下程序的執(zhí)行結(jié)果是什么為什么#include<stdio.h>main(){inta=0234;charc='A';printf("(1):%o\n",a<<2);printf("(2):%o\n",a>>2);printf("(3):%o\n",c<<3);printf("(4):%o\n",c>>3);printf("(5):%o\n",(a<<1)+8);printf("(6):%o\n",(a>>1)-8);}6.以下程序的執(zhí)行結(jié)果是什么為什么#include<stdio.h>main(){inta=0234;charc='A';printf("(1):%o\n",~a);printf("(2):%o\n",a&c);printf("(3):%o\n",a|c);}7.以下程序的執(zhí)行結(jié)果是什么為什么#include<stdio.h>main(){inta=-32768,b;b=a-1;printf("a=%d,b=%d\n",a,b);}8.以下程序的執(zhí)行結(jié)果是什么為什么#include<stdio.h>main(){inta=32767,b;b=a+1;printf("a=%d,b=%d\n",a,b);}9.以下程序的執(zhí)行結(jié)果是什么為什么#include<stdio.h>main(){longa=32767;longb;b=a+1;printf("a=%ld,b=%ld\n",a,b);}10.以下程序的執(zhí)行結(jié)果是什么為什么#include<stdio.h>main(){inta=-32768;unsignedb;b=a;printf("a=%d,b=%u\n",a,b);}11.以下程序的執(zhí)行結(jié)果是_______。#include<stdio.h>main(){inta[]={1,2,3,4,5,6};int*p;inti;p=a;*(p+3)+=2;printf("n1=%d,n2=%d\n",*p,*(p+3));}12.以下程序的執(zhí)行結(jié)果是______.#include<stdio.h>main(){int**p,*q,i=10;q=&i;p=&q;printf("%d\n",**p);}13.以下程序的執(zhí)行結(jié)果是______.#include<stdio.h>main(){inti,j;int*p,*q;i=2;j=10;p=&i;q=&j;*p=10;*q=2;printf("i=%d,j=%d\n",i,j);}14.以下程序的執(zhí)行結(jié)果是_______。#include<stdio.h>main(){inti;int*p;p=&i*p=2;p++;*p=5;printf("%d,",*p);p--;printf("%d\n");}15.以下程序的執(zhí)行結(jié)果是_______。#include<stdio.h>main(){int*p,i;i=5;p=&i;i=*p+10;pintf("i=%d\n",i);}16.以下程序的執(zhí)行結(jié)果是_______。#include<stdio.h>main(){chars[]="abcdefg";char*p;p=s;printf("ch=%c\n",*(p+5));}17.以下程序的執(zhí)行結(jié)果是_______。#include<stdio.h>main(){inta[]={2,3,4};ints,i,*p;s=1;p=a;for(i=0;i<3;i++)s*=*(p+i);printf("s=%d\n",s);}18.以下程序的執(zhí)行結(jié)果是_______。#include<stdio.h>main(){inta[]={1,2,3,4,5,6},*p;for(p=&a[5];p>=a;p--)printf("%d",*p);printf("\n");}19.以下程序的執(zhí)行結(jié)果是_______。#include<stdio.h>main(){inta[12]={1,2,3,4,5,6,7,8,9,10,11,12},*p[4],i;for(i=0;i<4;i++)p[i]=&a[i*3];printf("%d\n",p[3][2]);}20.以下程序的執(zhí)行結(jié)果是_______。#include<stdio.h>main(){charch[2][5]={"6934","8254"},*p[2];inti,j,s=0;for(i=0;i<2;i++)p[i]=ch[i];for(i=0;i<2;i++)for(j=0;p[i][j]>'\0'&&p[i][j]<='9';j+=2)s=10*s+p[i][j]-'0';printf("%d\n",s);}21.以下程序的執(zhí)行結(jié)果是_______。#include<stdio.h>main(){char*p1,*p2,str[20]="xyz";p1="abcd";p2="ABCD";strcpy(str+1,strcat(p1+1,p2+1));printf("%s",str);}22.以下程序的執(zhí)行結(jié)果是______.#include<stdio.h>intx=1;main(){func(x);printf("x=%d\n",x);}func(intx){x=3;}23.以下程序的執(zhí)行結(jié)果是______.#include<stdio.h>main(){intx=10;func(x);printf("x=%d\n",x);}func(intx){x=20;}24.以下程序的執(zhí)行結(jié)果是______.#include<stdio.h>main(){intk=4,m=1,p;p=func(k,m);printf("%d,",p
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 24628-2025醫(yī)療保健產(chǎn)品滅菌生物與化學指示物測試設(shè)備
- 農(nóng)村個人房屋售賣合同范本
- 買賣注冊公司合同范本
- 出租鋼琴合同范例
- 倒板合同范本
- 出口經(jīng)營合同范本
- 個人租車協(xié)議合同范本
- 醫(yī)療器械借用合同范本
- 制做安裝合同范本
- 別墅門訂購合同范本
- GB/T 7631.5-1989潤滑劑和有關(guān)產(chǎn)品(L類)的分類第5部分:M組(金屬加工)
- GB/T 41326-2022六氟丁二烯
- GB/T 19470-2004土工合成材料塑料土工網(wǎng)
- GB/T 18913-2002船舶和航海技術(shù)航海氣象圖傳真接收機
- 高中教師先進事跡材料范文六篇
- 烹飪專業(yè)英語課件
- 3d3s基本操作命令教程課件分析
- 人教版三年級語文下冊晨讀課件
- 傳染病防治法培訓講義課件
- 河南大學版(2020)信息技術(shù)六年級下冊全冊教案
- 法律方法階梯實用版課件
評論
0/150
提交評論