版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
C語(yǔ)言期末考試試題及答案
2003C語(yǔ)言試題2
-選擇題(7分,每小題0.5分)
1.C語(yǔ)言源程序的基本單位是()。
A過(guò)程B函數(shù)C子程序D標(biāo)識(shí)符
2.下列程序的輸出結(jié)果是()。
main()
{inta=7,b=5;
printf("%d\n",b=b/a);
)
A5B1C0D不確定值
3.假設(shè)變量a,b均為整型,表達(dá)式(a=5,b=2,a>b?a++:b++,a+b)的值是().
A7B8C9D2
4.設(shè)a為int型變量,執(zhí)行下列賦值語(yǔ)句后,a的取值分別是()。
a=125.534;a=(int)125.521%4;a=5<<2;
A125,31,1B125,1,20C125,31,20D125.534,2,20
5.設(shè)有如下程序段,下面描述中正確的是()。
intk=10;while(k=0)k=k-l;
A循環(huán)執(zhí)行一次B循環(huán)是無(wú)限循環(huán)C循環(huán)體語(yǔ)句一次也不執(zhí)行D循環(huán)體語(yǔ)
句執(zhí)行一次
6.以下程序的輸出結(jié)果為()。
inti;
voidprt()
{for(i=5;i<8;i++)printf("%c",7*z);
printf("\t");
)
main()
{for(i=5;i<=8;i++)prt();
}
A***B************C******D***
7.在C語(yǔ)言程序中,以下說(shuō)法正確的是().
A函數(shù)的定義可以嵌套,但函數(shù)的調(diào)用不可以嵌套
B函數(shù)的定義不可以嵌套,但函數(shù)的調(diào)用可以嵌套
C函數(shù)的定義和函數(shù)的調(diào)用都不可以嵌套
D函數(shù)的定義和函數(shù)的調(diào)用都可以嵌套
8.以下函數(shù)調(diào)用語(yǔ)句中含有()個(gè)實(shí)參。
func((el,e2),(e3,e4,e5));
A2B3C5D語(yǔ)法錯(cuò)誤
9.以下程序的輸出結(jié)果為()。
#defineADD(x)x*x
main()
{inta=4,b=6,c=7,d=ADD(a+b)*c;
printf("d=%d",d);
)
Ad=70Bd=80Cd=140Dd=700
10.已知職工記錄描述如下,在TurboC中,系統(tǒng)為變量w分配()字節(jié)的空
間。
structworker
{intno;
charname[20];
charsex;
union
{intday;intmonth;intyear;}birth;
}w;
A29B20C25D6
11.設(shè)有以下定義,值為5的枚舉常量是()。
enumweek{sun,mon=4,tue,wed,thu,fri,sat)w;
AtueBsatCfriDthu
12.下面選項(xiàng)中正確的賦值語(yǔ)句是(設(shè)chara[5],*p=a;)()。
Ap="abcd";Ba="abcd";C*p="abcd";D*a="abcd";
13.設(shè)有以下程序段,則值為6的表達(dá)式是()。
structst{intn;structst*next;};
staticstructsta[3]={5,&a[1],7,&a[2],9,0},*p;
p=&a[0];
Ap+^■—>nB++p->nCp->n++D(*p).n++
14.C語(yǔ)言中的文件類型只有()。
A索引文件和文本文件兩種B文本文件一種
C二進(jìn)制文件一種DASCH碼文件和二進(jìn)制文件兩種
二判斷對(duì)錯(cuò),對(duì)的劃“M”,錯(cuò)的劃“x”(5分,每小題0.5分)
1.在TurboC中,整型數(shù)據(jù)在內(nèi)存中占2個(gè)字節(jié)。()
2.inti=20;switch(i/10){case2:printf("A");case2printf("B");}的榆出
結(jié)果為Ao()
3.break語(yǔ)句用在循環(huán)體中,可結(jié)束本層循環(huán),continue語(yǔ)句用在循環(huán)體中,
可結(jié)束本次循環(huán)。()
4.函數(shù)的遞歸調(diào)用不過(guò)是一個(gè)函數(shù)直接或間接地調(diào)用它自身。()
5.函數(shù)strlen("ASDFC\n")的值是7。()
6.通過(guò)return語(yǔ)句,函數(shù)可以帶回■—個(gè)或一個(gè)以上的返回值。()
7.結(jié)構(gòu)體類型只有一種。()
8.char*p="girl";的含義是定義字符型指針變量p,p的值是字符串"girl"。
()
9.若有定義:char*p(chara口0]);則p是函數(shù)名。()
10.用fopen("file","r+");打開的文件"file"可以進(jìn)行修改。()
答案
-選擇題(7分,每小題0.5分)
1.B2.C3.B4.B5.C
6.A7.B8.A9.A10.C
11.A12.A13.B14.D
二判斷對(duì)錯(cuò),對(duì)的劃“M”,錯(cuò)的劃“X”(5分,每小題0.5分)
1.x2.x3.M4.M5.x
6.x7.x8.x9.M10.M
1選擇題(24分,每小題2分)
1.已知函數(shù)fread的調(diào)用形式為fread(buffer,size,count,fp),娜buffer
代表的是().
A存放讀入數(shù)據(jù)項(xiàng)的存儲(chǔ)區(qū)B存放讀入數(shù)據(jù)的地址或指向此地址的指
針
C一個(gè)指向所讀文件的文件指針D一個(gè)整形變量,代表要讀入的數(shù)據(jù)項(xiàng)總數(shù)
2.以下程序的輸出結(jié)果為()。
main()
{inti=010,j=l0;
printf("%d,%d\n",i++,j-);}
A11,9B9,10C8,10D9,9
3.設(shè)a為int型變量,執(zhí)行下列賦值語(yǔ)句后,a的取值分別是()。
a=125.534;a=20.0/3;a=(int)125.521%4;a=5?2;
A125,6,31,1B125,6,1,20C125,6.666666,31,20D
125,534,6.666666,2,20
4.設(shè)i和k都是int類型,則for循環(huán)語(yǔ)句()。
for(i=0,k=-l;k=l;i++,k++)printf("****\n");
A循環(huán)結(jié)束的條件不合法B循環(huán)體一次也不執(zhí)行C循環(huán)體只執(zhí)行一次D
是無(wú)限循環(huán)
5.以下程序的輸出結(jié)果為()。
main()
{charc;
inti;
for(i=65;i<68;i++)
{c=i+32;
switch(c)
{case'az:casezbz:case'c':printf("%c,",c);break;
default:printf("end");}
)
Aa,b,c,endBa,a,a,endCa,a,a,Da,b,c,
6.函數(shù)調(diào)用語(yǔ)句:fseek(fp,-10L,2);的含義是()。
A將文件位置指針從文件末尾處向文件頭的方向移動(dòng)10個(gè)字節(jié)
B將文件位置指針從當(dāng)前位置向文件頭的方向移動(dòng)10個(gè)字節(jié)
C將文件位置指針從當(dāng)前位置向文件末尾方向移動(dòng)10個(gè)字節(jié)
D將文件位置指針移到距離文件頭10個(gè)字節(jié)處
7.以下程序的輸出結(jié)果為()。
main()
{chars1[40]="country",s2[20]="side";
inti=0,j=0;
while(si[i]!=,\0z)i++;
while(s2[j]I-\0z)si[i++]=s2[j++];
si[i]=0;
printf("%s\n",si);
)
AsideBcountryCsidetryDcountryside
8.下列說(shuō)法不正確的是()。
A主函數(shù)main中定義的變量在整個(gè)文件或程序中有效
B不同函數(shù)中,可以使用相同名字的變量
C形式參數(shù)是局部變量
D在一個(gè)函數(shù)內(nèi)部,可以在復(fù)合語(yǔ)句中定義變量,這些變量只在本復(fù)合語(yǔ)句中有
效
9.在下列程序段中,枚舉變量cl的值是()。
enumcolor{red,yellow,blue=4,green,white}cl;cl=yellow;cl=white;
A1B3C5D6
10.設(shè)有說(shuō)明int(*ptr)();其中標(biāo)識(shí)符「好是()。
A是一個(gè)指向整形變量的指針B是一個(gè)指針,它指向一個(gè)函數(shù)值是int
的函數(shù)
C是一個(gè)函數(shù)名D定義不合法
11.定義由n個(gè)指向整形數(shù)據(jù)的指針組成的數(shù)組p,其正確的方式為()。
Aintp;Bint(*p)[n];Cint*p[n];Dint(*p)();
12.具有相同類型的指針類型變量p與數(shù)組a,不能進(jìn)行的操作是()。
Ap=a;B*p=a[0];Cp=&a[0];Dp=&a;
二判斷對(duì)錯(cuò),對(duì)的劃“M”,錯(cuò)的劃“x”(20分,每小題2分)
1.參加位運(yùn)算的數(shù)據(jù)可以是任何類型的數(shù)據(jù)。()
2.若有定義和語(yǔ)句:inta;charc;floatf;scanf("%d,%c,%f",&a,&c,&f);
若通過(guò)鍵盤輸入:10,A,12.5,則a=10,c='A',f=12.5.()
3.C語(yǔ)言把文件看作是一個(gè)字符(字節(jié))的序列。()
4.若有宏定義:#defineS(a,b)t=a;a=b;b=t由于變量t沒定義,所以此宏定
義是錯(cuò)誤的。()
5.在TurboC中,下面的定義和語(yǔ)句是合法的:file
*fp;fp=fopen("a.txt","r");()
6.若有定義:chars[]="china";則TurboC系統(tǒng)為數(shù)組s開辟6個(gè)字節(jié)的
內(nèi)存單元。()
7.若有定義和語(yǔ)句:inta[3][3]={{3,5},{8,9},{12,35}},i,sum=0;
for(i=0;i<3;i++)sum+=a[i][2-i];則sum=21。()
8.若有定義和語(yǔ)句:structstudent{intnum;charname[10];float
score;}
s[5]={{1,"1i1i",98.5},{9,"xiaohua",66}},*p=s;printf("%d",*p++);輸出結(jié)
果是1?()
9.在程序中定義了一個(gè)結(jié)構(gòu)體類型后,可以多次用它來(lái)定義具有該類型的變量。
()
10.在TurboC中,此定義和語(yǔ)句是合法的:enumaa{a=5,b,c}bb;bb=(enum
aa)5;()
答案
-選擇題(24分,每小題2分)
1.(B)2.(C)3.(B)4.(D)5.(D)
6.(A)
7.(D)8.(A)9.(D)10.(B)11.(C)
12.(D)
二判斷對(duì)錯(cuò),對(duì)的劃“M”,錯(cuò)的劃“x”(20分,每小題2分)
1.(x)2.(M)3.(M)4.(x)5.(x
)
6.(M)7.(M)8.(x)9.(M)10.(M
)
大學(xué)期末c語(yǔ)言考試習(xí)題試題集
c語(yǔ)言考試題(一)
一、單項(xiàng)選擇題(每題2分,共20分)
1、以下選項(xiàng)中屬于C語(yǔ)言的數(shù)據(jù)類型是()
A.復(fù)數(shù)型B.邏輯型C.集合型D.雙精度型
2、一個(gè)C程序的執(zhí)行是從()
A.main。函數(shù)開始,直到main()函數(shù)結(jié)束B.第一個(gè)函數(shù)開始,直到最后一個(gè)
函數(shù)結(jié)束
C.第一個(gè)語(yǔ)句開始,直到最后一個(gè)語(yǔ)句結(jié)束D.main。函數(shù)開始,直到最后一
個(gè)函數(shù)結(jié)束
3、設(shè)有語(yǔ)句inta=3;則執(zhí)行語(yǔ)句a+=a-=a*a;后,變量a的值是()
A.3B.0C.-12D.9
4、若有chare[5]=[c,,,d,,,\0,,,e,J\0,};則執(zhí)行語(yǔ)句printf("%s",c);結(jié)果
是0。
A.cd\0eB.'c''d'C.cdD.cde
A.*(*p+3)B.*p+3C.*(*(p+0)+3)D.a[0][3]
6、以下有宏替換不正確的敘述0.
A.宏替換不占用運(yùn)行時(shí)間B.宏名無(wú)類型
C.宏替換只是字符串替換D.宏名必須用大寫字母表示
7、執(zhí)行charstr[10]="Ch'nina";strlen(str)的值是()
A.5B.6C.7D.9
8、下面程序的輸出結(jié)果是:()
#defineP0WER(x)(x*x)
main()
{inti=4;printf("%d",P0WER(i-2));}
A.-9B.-7C.5D.-6
9、在定義inta[3][4][2];后,第10個(gè)元素是()
A.a[2][l][2]B.a[l][0][1]C.a[2][0][1]D.a[2][2][1]
10、下面程序的輸出結(jié)果是:()
typedefstruct
{longx[2];
shorty[4];
charz[8];
JMYTYPE;
MYTYPEa;
main()
{printf(H%d\nn,sizeof(a));)
A.2B.8C.14D.24
二、填空題(每空1分,共11分)
1、字符串在內(nèi)存中占用的字節(jié)數(shù)為。
2、C語(yǔ)言中的標(biāo)識(shí)符只能由字母、下劃線和組成。
3、若有定義語(yǔ)句“inta=25,b=14,c=19;t以下語(yǔ)句的執(zhí)行結(jié)果是
if(a++<=25&&b―<=2&&c++)printf(n***a=%d,b=%d,c=%d\n",a,b,c);
elseprintf(H###a=%d,b=%d,c=%d\nn,a,b,c);
4、有如下定義a[]="B如72\\義a%%";則執(zhí)行語(yǔ)句printf(n%d",strlen(a));的結(jié)
果為。
5、若有定義:inta[12]=(l,2,3,4,5,6,7,8,9JO,11,12),*p[4],i;
for(i=0;i<4;i++)p[i]=&a[i*3];則*(*(p+1)+2)的值為,*p[2]的值為
o若數(shù)組的首地址為2000,則p[l]指向的地址為。
6、設(shè)a=2,b=3,x=3.5,y=2.5,則表達(dá)式(float)(a+b)/2+(int)x%(int)y的結(jié)果
是。
7、設(shè)x、y都是int型變量,初值都為1,則執(zhí)行表達(dá)式:-x&&y++后,y的值
為。
8、語(yǔ)句for(i=l;i==10;i++)continue;循環(huán)的次數(shù)是。
9、以下程序輸出。
main()
{enumem{eml=3,em2=l,em3};
char*aa[]={HAAn,"BB\nCCn,nDDH};
printf("%s%s%s\n",aa[eml],aa[em2],aa[em3]);
)
三、寫程序結(jié)果(每題5分,共35分)
1、#include
main()
{intx,y,z;
x=l,y=2,z=3;x+=y+=z;
printf(H1:%d\nH,z+=x>y?x++:y++);
x=0x02ff;y=0xff00;
printf(H2:%d\n\(x&y)?410x005f);
x=y=z=-l;++x||++y&&++z;
printf("3:%d,%d,%d\nx,y,z);
2、#definef(x)x*x
main()
{inta=6,b=2,c;
c=f(a+b)/f(b);
printf(u%d\nw,c);
3、fun(intk)
{printf(n%dn,k);
if(k>0)
fun(k-l);
)
main()
{intw=5;fun(w);printf(n\nH);}
4、#include
main()
{intx=l,y=0;
switch(x)
{easel:
switch(y)
{caseO:printf("first'rT);break;
easel:printf("second'rT);break;
)
case2:printf("third'n");
)
)
5、#include
main()
{intk=4;
func(k);func(k);
)
func(inta)
{staticintm=0;
m+=a;
printf(H%dn,m);
)
6、structst
{intx;
int*y;
}*p;
ints[]={30,20);
structsta[]={1,&s[0],2,&s[1]};
main()
{p=a;printf("%d,",p->x);
printf("%d\n",++(*(++p)->y));
)
7、假定在當(dāng)前盤目錄下有2個(gè)文本文件,其名稱和內(nèi)容如下:
文件名:al.txta2.txt
內(nèi)容:ABCDEF#abcdef#
#includenstdio.hn
main()
{FILE*fp;
voidfc();
if((fp=fopen(Mal.txt\HrH))==NULL)
{printf(nCannotopenfile!\nn);exit(1);}
else{fc(fp);fclose(fp);}
if((fp=fopen(na2.txt","r"))==NULL)
{printf("Cannotopenfile!\n");exit(1);}
else{fc(fp);fclose(fp);}
)
voidfc(fpl)
FILE*fpl;
{chare;
while((c=fgetc(fpl))!=,#,)putchar(c);
)
四、程序填空(每空2分,共14分)
1、下面程序求矩陣a的主對(duì)角線元素之和,請(qǐng)?zhí)羁铡?/p>
main()
{inta[3][3]={2,4,6,8,10,12,14,16,18);
intsum=0,i,j;
for(i=0;i<3;①)
for(j=0;②;j++)
if(i==j)sum=sum+(3);
printf(nsum=%d\nn,sum);
)
2、下列函數(shù)coy把字符數(shù)組S2中的全部字符復(fù)制到字符數(shù)組SI中,復(fù)制時(shí),'(T
也要復(fù)制過(guò)去,'\0'后面的字符不用。
coy(charsl[],chars2[])
{inti;
for(i=0;s2[i]!=①;i++)
si[i]=s2[i];
②;
)
3、下面程序的功能是將字符串a(chǎn)中的下標(biāo)為奇數(shù)的元素由小到大排序,其他元
素不變,請(qǐng)?zhí)羁铡?/p>
main()
{chara[]=nstudents'1,t;inti,j;
for(i=l;i<7;i+=2)
for(j=i+2;j<8;①)
if(②)
{t=a[i];a[i]=a[j];a[j]=t;}
puts(a);
)
c語(yǔ)言考試題(二)
一.填空題(每題2分,共20分)
1.C語(yǔ)言基本數(shù)據(jù)類型有:________________________________
構(gòu)造類型有:---------------------------------------.P.13
2.C語(yǔ)言源程序注注釋符號(hào)是:_________________________________,
為表明層次結(jié)構(gòu),C語(yǔ)言源程序通常采用_____________________格式編寫。P.4
3.源程序TEST.C經(jīng)編譯產(chǎn)生的目標(biāo)文件是:_______________________;
經(jīng)連接處理后,產(chǎn)生的可執(zhí)行文件是:---------------------------。
4.strlen(u1234\0xy)的值為:-----------------------------;
sizeof(float)的值為:------------------------------
5.二維數(shù)組a[10][50]最后一行的首地址為:_________________________
最后一個(gè)元素的首地址為:--------------------------------------O
6.C標(biāo)準(zhǔn)庫(kù)函數(shù)中,數(shù)學(xué)函數(shù)的原型在:_______________頭文件中,自定義
頭文件D:\MYC\MY.
H應(yīng)如何包含到源程序文件中:__________________________.P.130
7.已知函數(shù)定義為:intstat(inta,float*p)
則此函數(shù)的兩個(gè)參數(shù)類型分別是______________________________________.
8.設(shè)intx,y,z=4;
x=y=++z;
x=(y>z)?x+2;x++;則x的值是:---------;
設(shè)inta=0,b=0,c=0;c=++aI|b++;,則a、b、c值分別是:-------------.
9.與if(x=0)等價(jià)的寫法是if(!x);
判斷兩個(gè)(float)變量x,z是否相等一般:if(fabc(x-z)<le-6)?
10.已知賦值語(yǔ)句zhang.year=1985;可判斷zhang是--------------類型的
變量;
定義文件指針的C語(yǔ)句是:___________________________________。
二.單項(xiàng)選擇題(每題1分,共10分)
1.組成C程序的基本單位是____________________________。
A.函數(shù)B.標(biāo)識(shí)符C.表達(dá)式D.語(yǔ)句
2.設(shè)int類型的數(shù)據(jù)長(zhǎng)度為2字節(jié),則該類型數(shù)據(jù)的取值范圍是
A.0至65536B.0至65535
C.-32767至32768D.-32768至32767
3.在C語(yǔ)言中,邏輯值“真”是用____________________表示的。
A.預(yù)定義為真值的宏B.非零數(shù)
C.正數(shù)D.非零整數(shù)
4.C語(yǔ)言對(duì)于嵌套if語(yǔ)句規(guī)定else總是與_____________________匹配。
A.與最外層的ifB.與之前最近的if
C.與之前最近的不帶else的ifD.與最近的{}之前的if
5.數(shù)組定義chara[10]={'a','b','c'}:包括了幾個(gè)元素
A.3B.9C.4D.10
6.數(shù)組名作為實(shí)參傳給被調(diào)用的函數(shù)時(shí),形參獲得的是____________________。
A.該數(shù)組第一個(gè)元素的值B.該數(shù)組所有元素的值
C.該數(shù)組第一個(gè)元素的首地址D.該數(shù)組所有元素的首地址
7.為表示關(guān)系x》y》z,正確的C語(yǔ)言表達(dá)式為_________________________。
A.(x>=>y>=z)B.(x>=y)AND(y>=z)
C.(x>=y)&&(y>=z)D.(x>y)&(y>=z)
8.根據(jù)定義inta口=(1,2,3},i,*p=a;從語(yǔ)法分析----------------是不
正確的。
A.a[p-a]B.*(&a)C.pD.*(*(a+i))
9.若有語(yǔ)句scanf("%d%d",&a,&b);要使變量a,b分別得到12和34;正確
的輸入形式為______________________________。
A.1234B.12,34C.1234D.12:34
10.unionuex{inti;floatf;char
c;}ex;貝]sizeof(ex)的值是---------------------。
A.4B.5C.6D.7
三.分析程序,寫出運(yùn)行結(jié)果。(顫4分,共20分)
1.源程序如下,運(yùn)行時(shí)假定鍵盤輸入字符串為''2004''
#include
voidmain(void)
intn=O;
chare;
while((c=getchar())!='\n')/*字符型數(shù)字*/
(
if(c>='0'&&c<='9')
n=n*10+c-'0/*數(shù)字*/
)
printf(avalue=%d|nw,n);
)
結(jié)果為:value=2004o
2.源程序如下:
#include
voidmain(void)
(
intnum[9]={399,398,397,396,395,299,290,311,301};
intscore[9]={81,85,59,77,90,66,89,93,73);
intiMax,iPos,i;
iPos=0;
iMax=score[iPos];
for(i=l;i<9;i++)
if(score>iMax)
(
iPos=i;
iMax=score[iPox];
)
printf(Unum=%d,score=%dw,num[iPos];score[iPos]);
結(jié)果為:num=311,score=930
3.源程序如下,運(yùn)行時(shí)假定鍵盤輸入數(shù)據(jù)為:12345678910
#include
voidmain(void)
(
inti,a[10];
int*p;
P=a;
for(i=0;i<10;i++)
scanf(“%d”,p++);
for(p=a;p<SPAN>;p++)
if(*p%2)printf(“%3d”,*p);
)
結(jié)果為:13579O
4.源程序如下,兩次運(yùn)行,分別輸入數(shù)據(jù)13和21
#include
#include
voidmain(void)
(
intn,s;
scant&n);
s=panduan(n);
if(s==l)printf("yes\n");
elseprintf(uno\n);
)
intpanduan(intn)
(
intk,j;
k=(int)sqrt((double)n);
for(j=2;j<=k,j++)
(
if(n%j==0)break;
)
if(j>k)return⑴;
elseretum(O);
)
結(jié)果為yes
no
5.源程序如下,運(yùn)行時(shí)假定鍵盤輸入字符為:AxByCz
#include
#include
voidmain(void)
(
charstr[80];
inti;
gets(str);
for(i=0;str!=v\0i++)
if(str>=va'&&str<='z')str-=32;
elseif(str>='A'&&str<='Z')str+=32;
puts(str);
)
結(jié)果為:aXbYcZo
四.下列程序中每個(gè)劃線處有一個(gè)錯(cuò)誤,改正劃線中的錯(cuò)誤,使其實(shí)現(xiàn)題目要求。
(每體4分,共20分)
1.求s=l+2+3+、、、、、、、+100
include改正為-----------------------------。
voidsum(void)改正為_____________________________0
(
ints,i;
for(s=0,i=l;i<=100;i++)
(
s=s+i++;改正為------------------------------o
)
printf("s=%f”,s)改正為------------------------------
)
2.源程序?qū)崿F(xiàn)求x
#include
doublepow(float,int)改正為_____________________________
voidmain(void)
(
inti,n;
floatx;
scanf(w%f,%dw,&x,&n);
for(i=l;i<9;i++)
printf("%d,%e\n”,i,pow(i,x);
}改正為_________________________o
doublevvpow(floatx,intn)
(
inti;
doublep=0;改正為-------------------------o
for(i=l;i〈i++)>改正為---------------------------o
p*=x;
return(p);
)
3.源程序?qū)崿F(xiàn)排升序。
#include
voidmain(void)
(
inti,j,iMin,a[10]={4,3,5,1,10,12,2,6,7,9},iTemp;
for(i=0;i<9;i++)
(
iMin=0;改正為___________________________。
for(j=i+l;j<10;j++)
n
if(a[iMin]<iMin=j;">改正為__________________________o
if(iMin==i)改正為-----------------------------o
{iTemp=a;
a[iMin]=a;改正為--------------------------。
a[iMin]=iTemp;
)
)
for(i=0;i<10;i++)
printf(w%4d",a):
)
4.源程序?yàn)榍笃骄怠?/p>
#include
voidmain(void)
(
inti,sum;改正為---------------------。
floatavg;
intsc[10],*p=sc;
for(i=0,i<10;i++)改正為---------------------0
(
scanf(a%dw,p++);
sum+=*p;改正為---------------------o
)
avg=sum/10;改正為--------------------。
printf(uavg=%fw,avg);
)
5.源程序求eX=l+x+x2/2!+..+xn/n!前n+1項(xiàng)之和
#include
voidmain(void>
(
floatexp,x,t;
inti,n;
scanf(w%f,%dw,&x,&n);
t=0;改正為--------------------o
exp=l.0;
for(i=l;i<=n;i++)
(
if(t<le-6)loop;改正為-------------------o
t+=x/i;改正為--------------------o
exp*=t;改正為--------------------o
)
printf(a\n%15.6f,?,exp);
)
五.編程題(每題6分,共30分)
1.根據(jù)以下程序框架,編寫子函數(shù),實(shí)現(xiàn)交換兩個(gè)整型變量x和y的值。
#include
voidswap(int*,int*);
voidmain(void)
intx,y;
scanf("%d,%d”,&x,&y);
swap(&x,&y);
printf("%d,%dM,x,y);
)
voidswap()
I
)
2.設(shè)某班人數(shù)36人,參加C語(yǔ)言考試,用一維數(shù)組score[36]存放考試成績(jī),
已給出一部分程序,完善以下程序,使其實(shí)現(xiàn)統(tǒng)計(jì)并輸出不及格人數(shù)及百分比。
#include
voidmain(void)
{inti;
floatscoer[36],precent;
intcount=0;
for(i=0;i<36;i++)
(
scanf("%f”,&score);
3.完善以下程序使其實(shí)現(xiàn)由鍵盤任意輸入一串字符,統(tǒng)計(jì)其中大寫字母?jìng)€(gè)數(shù)iA、
小寫字母?jìng)€(gè)數(shù)ia、其他字符個(gè)數(shù)iother。
#include
#include
voidmain(void)
(
charstr[80];
inti,iA=0,ia=0,iother=0;
)
4.完善以下程序使其實(shí)現(xiàn)求方陣主和輔對(duì)甭線元素之和及其轉(zhuǎn)置矩陣,設(shè)方陣
用二維數(shù)組a表示,轉(zhuǎn)置矩陣用t表示,si和s2表示主和輔對(duì)角線元素之和。
#include
voidmain(void)
inta[3][3]={1,3,5,7,9,11,13,15,11);
inti,j,si,s2;
intt[3][3];
printf(\n”,sl,s2);
for(i=0;i<3;i++)
for(j=0;j<3;j++)
printf(u%3d",t[j]);
5.已知字符數(shù)組str[80],編寫返回指針的子函數(shù),實(shí)現(xiàn)在其中查找字符ch首
次出現(xiàn)的位置。
#include
#include
#include
char*Istrchar(char*,char);
voidmain(void)
(
chare,*p,str[80];
gets(str);
scanf("%c",&c);
p=lstrchar(str,c);
if(p==NULL)printf(wchar%cnotfound\n,?c);
elseprintf("Thepositionis%d”,p-str);
charuIstrchar()
0
1、以下正確的說(shuō)法是(B)
(A)用戶若需要調(diào)用標(biāo)準(zhǔn)庫(kù)函數(shù),調(diào)用前必須重新定義
(B)用戶可以重新定義標(biāo)準(zhǔn)庫(kù)函數(shù),若如此,該函數(shù)將失去原有含義
(C)系統(tǒng)根本不允許用戶重新定義標(biāo)準(zhǔn)庫(kù)函數(shù)
(D)用戶若需調(diào)用標(biāo)準(zhǔn)庫(kù)函數(shù),調(diào)用前不必使用預(yù)編譯命令將該函數(shù)所在文
件包括到用戶源文件中,系統(tǒng)自動(dòng)去調(diào)
2、以下正確的函數(shù)聲明形式是(A)
(A)doublefun(intx,inty)
(B)doublefun(intx;inty)
(C)doublefun(intx,inty);
(D)doublefun(intx,y);
3、以下正確的函數(shù)形式是(D)
(A)doublefun(intx,inty){z=x+y;returnz;}
(B)fun(intx,y){intz;returnz;}
(C)fun(x,y){intx,y;doublez;z=x+y;returnz;}
(D)doublefun(intx,inty){doublez;z=x+y;returnz;}
4、以下正確的說(shuō)法是(A)
在C語(yǔ)言中
(A)實(shí)參和與其對(duì)應(yīng)的形參各占用獨(dú)立的存儲(chǔ)單元
(B)實(shí)參和與其對(duì)應(yīng)的形參共占用一個(gè)存儲(chǔ)單元
(0只有當(dāng)實(shí)參和與其對(duì)應(yīng)的形參同名時(shí)才共占用存儲(chǔ)單元
(D)形參是虛擬的,不占用存儲(chǔ)單元
5、若調(diào)用一個(gè)函數(shù),且此函數(shù)中沒有return語(yǔ)句,則正確的說(shuō)法是(A)
該函數(shù)
(A)沒有返回值
(B)返回若干個(gè)系統(tǒng)默認(rèn)值
(0能返回一個(gè)用戶所希望的函數(shù)值
(D)返回一個(gè)不確定的值
6、以下不正確的說(shuō)法是(B)
C語(yǔ)言規(guī)定
(A)實(shí)參可以是常量、變量和表達(dá)式
(B)形參可以是常量、變量和表達(dá)式
(0實(shí)參可以為任意類型
(D)形參應(yīng)與其對(duì)應(yīng)的實(shí)參類型一致
7、以下正確的說(shuō)法是(C)
(A)定義函數(shù)時(shí),形參的類型說(shuō)明可以放在函數(shù)體內(nèi)
(B)return后邊的值不能為表達(dá)式
(0如果函數(shù)值的類型與返回值類型不一致,以函數(shù)值類型為準(zhǔn)
(D)如果形參與實(shí)參的類型不一致,以實(shí)參類型為準(zhǔn)
8、C語(yǔ)言規(guī)定,簡(jiǎn)單變量做實(shí)參時(shí),它和對(duì)應(yīng)形參之間的數(shù)據(jù)傳遞方式是(B)
(A)地址傳遞
(B)單向值傳遞
(0由實(shí)參傳給形參,再由形參傳回給實(shí)參
(D)由用戶指定傳遞方式
9、以下程序有語(yǔ)法性錯(cuò)誤,有關(guān)錯(cuò)誤原因的正確說(shuō)法是(C)
voidmain()
(
intG=5,k;
voidprt.char();
k=prt.char(G);
z
(A
v語(yǔ)句voidprt.char();有錯(cuò),它是函數(shù)調(diào)用語(yǔ)句,不能用void說(shuō)明
z
lB
\變量名不能使用大寫字母
/x
(c)
Xz函數(shù)說(shuō)明和函數(shù)調(diào)用之間有矛盾
z
(D
\函數(shù)名不能使用下劃線
10、C語(yǔ)言允許函數(shù)值類型缺省定義,此時(shí)該函數(shù)值隱含的類型是(B)
(A)float型
(B)int型
(C)long型
(D)double型
11、C語(yǔ)言規(guī)定,函數(shù)返回值的類型是由(D)
(A)return語(yǔ)句中的表達(dá)式類型所決定
(B)調(diào)用該函數(shù)時(shí)的主調(diào)函數(shù)類型所決定
(0調(diào)用該函數(shù)時(shí)系統(tǒng)臨時(shí)決定
(D)在定義該函數(shù)時(shí)所指定的函數(shù)類型所決定
12、下面函數(shù)調(diào)用語(yǔ)句含有實(shí)參的個(gè)數(shù)為(B)
func((expl,exp2),(exp3,exp4,exp5));
(A)1
(B)2
(C)4
(D)5
13、以下錯(cuò)誤的描述是(D)
函數(shù)調(diào)用可以
(A)出現(xiàn)在執(zhí)行語(yǔ)句中
(B)出現(xiàn)在一個(gè)表達(dá)式中
(C)做為一個(gè)函數(shù)的實(shí)參
(D)做為一個(gè)函數(shù)的形參
14、以下程序的功能是計(jì)算函數(shù)F(x,y,z)=(x+y)/(x-y)+(z+y)/(z-y)的值,請(qǐng)
選擇填空。①(B)②(C)
#include<stdio.h>
#include<math.h>
floatf(float,float);
voidmain()
(
floatx,y,z,sum;
scanf("%f%f%f",&x,&y,&z);
sum=f(①)+f(②);
printf("sum=%f\n",sum);
)
floatf(floata,floatb)
floatvalue;
value=a/b;
return(value);
J
①z
(A
\x-y,x+y
z\
(B)
\/x+y,x-y
zx
(c)
\zz+y,z-y
z\
(D]
xzz-y,z+y
②/Ax
(—
\zx-y,x+y
/\
(B!
X7x+y,x-y
z
(c
\z+y,z-y
(D)z-y,z+y
15、以下正確的描述是(B)
在C語(yǔ)言中
zA
(
\函數(shù)的定義可以嵌套,但函數(shù)的調(diào)用不
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 第一種工作票培訓(xùn)課件
- 1ms城市算網(wǎng)創(chuàng)新應(yīng)用匯編(2025年)-
- 2025-2026人教版小學(xué)二年級(jí)語(yǔ)文上期末測(cè)試卷
- 專業(yè)編輯考試試題及答案
- 2025年四川攀枝花中考物理試卷真題及答案詳解(精校打印版)
- 2025-2026七年級(jí)美術(shù)期末練習(xí)卷
- 護(hù)理記錄單書寫規(guī)范與醫(yī)療質(zhì)量改進(jìn)
- 機(jī)場(chǎng)收費(fèi)站衛(wèi)生管理制度
- 教職工衛(wèi)生防護(hù)制度
- 排水防澇工程項(xiàng)目環(huán)評(píng)報(bào)告
- 裝修工程施工質(zhì)量檢查標(biāo)準(zhǔn)
- 供銷大集:中國(guó)供銷商貿(mào)流通集團(tuán)有限公司擬對(duì)威海集采集配商貿(mào)物流有限責(zé)任公司增資擴(kuò)股所涉及的威海集采集配商貿(mào)物流有限責(zé)任公司股東全部權(quán)益價(jià)值資產(chǎn)評(píng)估報(bào)告
- 干細(xì)胞臨床研究:知情同意的倫理審查要點(diǎn)
- 檢測(cè)實(shí)驗(yàn)室安全管理與操作規(guī)程
- 2025云南保山電力股份有限公司招聘(100人)筆試歷年參考題庫(kù)附帶答案詳解
- (新教材)2026年人教版八年級(jí)下冊(cè)數(shù)學(xué) 21.1 四邊形及多邊形 課件
- 教師職業(yè)行為規(guī)范手冊(cè)
- 急性胸痛患者的快速識(shí)別與護(hù)理配合
- 法律研究與實(shí)踐
- 單招第四大類考試試題及答案
- 青海省西寧市2023-2024學(xué)年高一上學(xué)期物理期末試卷(含答案)
評(píng)論
0/150
提交評(píng)論