c语言期末考试题及其答案.pdf
- 文档编号:14648980
- 上传时间:2023-06-25
- 格式:PDF
- 页数:14
- 大小:196.90KB
c语言期末考试题及其答案.pdf
《c语言期末考试题及其答案.pdf》由会员分享,可在线阅读,更多相关《c语言期末考试题及其答案.pdf(14页珍藏版)》请在冰点文库上搜索。
C语言期末考试题及其答案一一选择题(选择题(7777分,每小题分,每小题0.50.50.50.5分)分)1.C语言源程序的基本单位是()。
A过程B函数C子程序D标识符2.下列程序的输出结果是()。
main()inta=7,b=5;printf(%dn,b=b/a);A5B1C0D不确定值3.假设变量a,b均为整型,表达式(a=5,b=2,ab?
a+:
b+,a+b)的值是()。
A7B8C9D24.设a为int型变量,执行下列赋值语句后,a的取值分别是()。
a=125.534;a=(int)125.521%4;a=52;A125,31,1B125,1,20C125,31,20D125.534,2,205.设有如下程序段,下面描述中正确的是()。
intk=10;while(k=0)k=k-1;A循环执行一次B循环是无限循环C循环体语句一次也不执行D循环体语句执行一次6.以下程序的输出结果为()。
inti;voidprt()for(i=5;i8;i+)printf(%c,*);printf(t);main()for(i=5;inB+p-nCp-n+D(*p).n+14.C语言中的文件类型只有()。
A索引文件和文本文件两种B文本文件一种C二进制文件一种DASCII码文件和二进制文件两种二二判断对错,对的划判断对错,对的划“”,错的划,错的划“”(5555分,每小题分,每小题0.50.50.50.5分)分)1在TurboC中,整型数据在内存中占2个字节。
()2inti=20;switch(i/10)case2:
printf(A);case1:
printf(B);的输出结果为A。
()3break语句用在循环体中,可结束本层循环,continue语句用在循环体中,可结束本次循环。
()4函数的递归调用不过是一个函数直接或间接地调用它自身。
()5函数strlen(ASDFGn)的值是7。
()6通过return语句,函数可以带回一个或一个以上的返回值。
()7结构体类型只有一种。
()8char*p=girl;的含义是定义字符型指针变量p,p的值是字符串girl。
()9若有定义:
char*p(chara10);则p是函数名。
()10用fopen(file,r+);打开的文件file可以进行修改。
()三三写出下列程序的运行结果(写出下列程序的运行结果(10101010分,每小题分,每小题2222分)分)1.floataverage(floatarray10)inti;floataver,sum=array0;for(i=1;i10;i+)sum=sum+arrayi;aver=sum/10;return(aver);main()floatscore1089,67.5,78,91,56,82.5,65,70,79,88,aver;inti;aver=average(score);printf(“averagescoreis%5.2fn”,aver);2.main()chara5=A,B,C,D,E,*p=a,*pa;for(p=0;pa+5;p+)printf(“%2c”,*p);printf(“n”);printf(“%2cn”,*(pa=&p);3.main()inta,b,s=0;for(a=1,b=1;a=20)break;if(b%3=1)b+=3;continue;b-=5;printf(“a=%dtb=%dn”,a,b);4.main()printf(“main():
%dn”,fact(5);fact(-5);fact(intvalue)intf;if(value0)printf(“Argerrorn);return(-1);elseif(value=1|value=0)f=1;elsef=value*fact(value-1)+1;printf(“Thiscalledvalue=%dn”,f);returnf;5.main()inta=012,b=0x12,k=12;charc=102,d=r;printf(“a=%dtb=%dtk=%dn”,a,b,k);printf(“c=%c,d=%c%on”,c,d,a);a=A;c=49;printf(“a=%dtc=%cn”,a,c);四四阅读下列程序阅读下列程序,在在处填入适当内容,使程序完整(处填入适当内容,使程序完整(88分,每个空分,每个空11分)分)1.有一个3*4矩阵,求其中的最大元素。
max_value
(1)inti,j,max;max=array00;for(i=0;i3;i+)for(j=0;jmax)max=arrayij;
(2);main()inta34,i,j;for(i=0;i3;i+)for(j=0;j4;j+)(3);printf(“maxvalueis%dn”,max_value(a);2.输入x、y两个整数,按先大后小的顺序输出x、y。
#include“stdio.h”main()intx,y,*px,*py,(4);scanf(“%d%d”,&x,&y);(5);(6);if(xy)p=px;px=py;py=p;printf(“x=%d,y=%dn”,x,y);printf(“MAX=%d,MIN=%dn”,*px,*py);3.用选择排序法对任意10个整数按照由小到大排序。
main()inta11,i,j,k,t;printf(Pleaseinput10numbers:
n);for(i=1;i11;i+)scanf(%d,&ai);printf(n);for(i=1;iak)k=j;if(k!
=i)t=ak;ak=ai;ai=t;printf(Thesortednumbers:
n);for(i=1;i11;i+)printf(%d,ai);答案答案一一选择题(选择题(7777分,每小题分,每小题0.50.50.50.5分)分)1.B2.C3.B4.B5.C6.A7.B8.A9.A10.C11.A12.A13.B14.D二二判断对错,对的划判断对错,对的划“”,错的划,错的划“”(5555分,每小题分,每小题0.50.50.50.5分)分)1.2.3.4.5.6.7.8.9.10.四四阅读下列程序阅读下列程序,在在处填入适当内容,使程序完整(处填入适当内容,使程序完整(8888分,每个空分,每个空1111分)分)1.
(1)intarray34(intarray4)
(2)return(max)(3)scanf(“%d”,&aij)2.(4)*p(5)px=&x(py=&y)(6)py=&y(px=&x)3.(7)(8)2003C2003C2003C2003C语言试题语言试题3333一一选择题(选择题(2424分,每小题分,每小题22分)分)1已知函数fread的调用形式为fread(buffer,size,count,fp),其中buffer代表的是()。
A存放读入数据项的存储区B存放读入数据的地址或指向此地址的指针C一个指向所读文件的文件指针D一个整形变量,代表要读入的数据项总数2以下程序的输出结果为()。
main()inti=010,j=10;printf(%d,%dn,i+,j-);A11,9B9,10C8,10D9,93设a为int型变量,执行下列赋值语句后,a的取值分别是()。
a=125.534;a=20.0/3;a=(int)125.521%4;a=52;A125,6,31,1B125,6,1,20C125,6.666666,31,20D125.534,6.666666,2,204设i和k都是int类型,则for循环语句()。
for(i=0,k=-1;k=1;i+,k+)printf(*n);A循环结束的条件不合法B循环体一次也不执行C循环体只执行一次D是无限循环5以下程序的输出结果为()。
main()charc;inti;for(i=65;i68;i+)c=i+32;switch(c)casea:
caseb:
casec:
printf(%c,c);break;default:
printf(end);Aa,b,c,endBa,a,a,endCa,a,a,Da,b,c,6函数调用语句:
fseek(fp,-10L,2);的含义是()。
A将文件位置指针从文件末尾处向文件头的方向移动10个字节B将文件位置指针从当前位置向文件头的方向移动10个字节C将文件位置指针从当前位置向文件末尾方向移动10个字节D将文件位置指针移到距离文件头10个字节处7以下程序的输出结果为()。
main()chars140=country,s220=side;inti=0,j=0;while(s1i!
=0)i+;while(s2j!
=0)s1i+=s2j+;s1i=0;printf(%sn,s1);AsideBcountryCsidetryDcountryside8下列说法不正确的是()。
A主函数main中定义的变量在整个文件或程序中有效B不同函数中,可以使用相同名字的变量C形式参数是局部变量D在一个函数内部,可以在复合语句中定义变量,这些变量只在本复合语句中有效9在下列程序段中,枚举变量c1的值是()。
enumcolorred,yellow,blue=4,green,whitec1;c1=yellow;c1=white;A1B3C5D610设有说明int(*ptr)();其中标识符ptr是()。
A是一个指向整形变量的指针B是一个指针,它指向一个函数值是int的函数C是一个函数名D定义不合法11定义由n个指向整形数据的指针组成的数组p,其正确的方式为()。
Aintp;Bint(*p)n;Cint*pn;Dint(*p)();12具有相同类型的指针类型变量p与数组a,不能进行的操作是()。
Ap=a;B*p=a0;Cp=&a0;Dp=&a;二二判断对错,对的划判断对错,对的划“”“”,错的划,错的划“”“”(2020分,每小题分,每小题22分)分)1参加位运算的数据可以是任何类型的数据。
()2若有定义和语句:
inta;charc;floatf;scanf(%d,%c,%f,&a,&c,&f);若通过键盘输入:
10,A,12.5,则a=10,c=A,f=12.5。
()3C语言把文件看作是一个字符(字节)的序列。
()4若有宏定义:
#defineS(a,b)t=a;a=b;b=t由于变量t没定义,所以此宏定义是错误的。
()5在TurboC中,下面的定义和语句是合法的:
file*fp;fp=fopen(a.txt,r);()6若有定义:
charschina;则TurboC系统为数组s开辟6个字节的内存单元。
()7若有定义和语句:
inta333,5,8,9,12,35,i,sum=0;for(i=0;i3;i+)sum+=ai2-i;则sum=21。
()8若有定义和语句:
structstudentintnum;charname10;floatscore;s5=1,lili,98.5,9,xiaohua,66,*p=s;printf(%d,*p+);输出结果是1。
()9在程序中定义了一个结构体类型后,可以多次用它来定义具有该类型的变量。
()10在TurboC中,此定义和语句是合法的:
enumaaa5,b,cbb;bb=(enumaa)5;()三三写出下列程序的运行结果(写出下列程序的运行结果(3636分,每小题分,每小题66分)分)1.main()inti=29,j=6,k=2,s;s=i+i/j%k-9;printf(“s=%dn”,s);2.main()intx=31,y=2,s=0;dos-=x*y;x+=2;y-=3;while(x%3=0);printf(“x=%dty=%dts=%dn”,x,y,s);3.main()inta610,20,30,40,50,60,i;invert(a,0,5);for(i=0;i6;i+)printf(“%d,”,ai);printf(“n”);invert(ints,inti,intj)intt;if(ij)invert(s,i+1j-1);t=si;si=sj;sj=t;4.#includemain()charstr=“TheCprogram”,c;inti;for(i=2;(c=stri)!
=0;i+)switch(c)caseg:
+i;break;caseo:
continue;default:
printf(“%c”,c);continue;printf(“*”);printf(“n”);5.structwcharlow;charhigh;unionustructwbyte;shortword;uw;main()intresult;uw.word=0x1234;printf(“wordvalue:
%04xn”,uw.word);printf(“highbyte:
%02xn”,uw.byte.high);printf(“lowbyte:
%02xn”,uw.byte.low);uw.byte.low=0x74;printf(“wordvalue:
%04xn”,uw.word);result=uw.word+0x2a34;printf(“theresult:
%04xn”,result);6main()char*s2=“IloveChina!
”,*s1=&s2;char*s3,c,*s4=“w”;s3=&c;*s3=H;s2=s2+2;printf(“%st%ct%st%cn”,s2,*s3,s4,*s1);四四阅读下列程序阅读下列程序,在在处填入适当内容,使程序完整(处填入适当内容,使程序完整(2020分,每个空分,每个空22分)分)1.百马百担问题:
有100匹马,驮100担货,大马驮3担,中马驮2担,两匹小马驮1担,问大、中、小马各多少匹?
main()inthb,hm,hl,n=0;for(hb=0;hb=100;hb+=
(1)for(hm=0;hm=100-hb;hm+=
(2)hl=100-hb-(3);if(hb/3+hm/2+2*(3)=100)n+;printf(hb=%d,hm=%d,hl=%dn,hb/3,hm/2,2*hl);printf(n=%dn,n);2.用“起泡法”对输入的10个字符排序后按从小到大的次序输出。
#defineN10charstrN;main()inti,flag;for(flag=1;flag=1;)scanf(%s,str);flag=0;printf(n);sort(_(4)_);for(i=0;iN;i+)printf(%c,stri);printf(n);sort(charstrN)inti,j;chart;for(j=1;jN;j+)for(i=0;(istri+1)t=stri;_(5)_;_(6)_;3.以下程序是一个函数,功能是求二阶矩阵(m行n列矩阵)的所有靠外侧的各元素值之和。
(本程序中二阶矩阵用一维数组来表示。
)例如,矩阵为:
300325731042则所有靠外侧的各元素值之和为3+0+0+3+2+3+1+0+4+2=18。
add(intm,intn,intarr)inti,j,sum=0;for(i=0;im;i=i+m-1)for(j=0;jn;j+)sum=sum+(7);for(j=0;jn;j=j+n-1)for(i=1;(8);i+)sum=sum+arri*n+j;return(sum);4.用指针作函数参数,编程序求一维数组中的最大和最小的元素值。
#defineN10main()voidmaxmin(intarr,int*pt1,int*pt2,intn);intarrayN=10,7,19,29,4,0,7,35,-16,21,*p1,*p2,a,b;p1=&a;p2=&b;maxmin(array,p1,p2,N);printf(max=%d,min=%d,a,b);voidmaxmin(intarr,int*pt1,int*pt2,intn)inti;*pt1=*pt2=arr0;for(i=1;i*pt1)(9);if(arri*pt2)(10);答案一选择题(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)二判断对错,对的划“”,错的划“”(20分,每小题2分)1.()2.()3.()4.()5.()6.()7.()8.()9.()10.()三写出下列程序的运行结果(36分,每小题6分)1.s=202.x=35y=-4s=-293.60,50,40,30,20,10,4.eCpr*am5.wordvalue:
12346.loveChina!
Hwlhighbyte:
12lowbyte:
34wordvalue:
1274theresult:
3ca8四阅读下列程序,在处填入适当内容,使程序完整(20分,每个空2分)1.
(1)3
(2)2(3)hmhl2.(4)str(5)stri=stri+1(6)stri+1=t3.(7)arri*n+j(或者arri*10+j)(8)im-1(或者i=m-2)4.(9)*ptr1=arri(10)*ptr2=arri
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 期末 考试题 及其 答案