c语言期末考试题附其标准答案_第1页
c语言期末考试题附其标准答案_第2页
c语言期末考试题附其标准答案_第3页
c语言期末考试题附其标准答案_第4页
c语言期末考试题附其标准答案_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、个人收集整理仅供参考学习6 / 17C语言期末考试题及其答案一选择题(7分,每小题0.5 分)1. C语言源程序地基本单位是(B) A过程 B函数C子程序 D标识符2下列程序地输出结果是(mai n() int a=7,b=5;prin tf("%dn",b=b/a);D不确定值3假设变量a,b均为整型,表达式(a=5,b=2,a>b?a+:b+,a+b)地值是(B ) .b5E2RGbCAP4设a为int型变量,执行下列赋值语句后,a地取值分别是()a=125.534; a=(i nt)125.521%4;a=5<<2;A 125,31,1 B 125,

2、1,20 C 125,31,20D 125.534,2,20 plEanqFDPw5设有如下程序段,下面描述中正确地是int k=10; while(k=0) k=k-1;A循环执行一次B循环是无限循环循环体语句一次也不执行D循环体语句执行一次6以下程序地输出结果为int i;void prt() for(i=5;i<8;i+)prin tf("%c",'*');prin tf("t");mai n()for(i=5;i<=8;i+)prt();*B *C * d * DXDiTa9E3d7在C语言程序中,以下说法正确地是(A

3、函数地定义可以嵌套,但函数地调用不可以嵌套B函数地定义不可以嵌套,但函数地调用可以嵌套C函数地定义和函数地调用都不可以嵌套D函数地定义和函数地调用都可以嵌套8以下函数调用语句中含有( A )个实参fun c(e1,e2),(e3,e4,e5);A 2B 3C 5D语法错误9.以下程序地输出结果为().#define ADD(x) x*xmai n() int a=4,b=6,c=7,d=ADD(a+b)*c;prin tf("d=%d",d);Ad=70 Bd=80Cd=140 Dd=70010.已知职工记录描述如下,在Turbo C中,系统为变量 w分配()字节地空间st

4、ruct worker int no;char n ame20;char sex;union int day; int mon th; int year;birth; w;A 29 B 20 C 25D 611. 设有以下定义,值为5地枚举常量是().enum weeksun , mon=4, tue,wed, thu, fri, sat w ;A tue B sat C fri D thu12. 下面选项中正确地赋值语句是(设char a5,*p = a;)().A p="abcd" B a="abcd" C *p="abcd" D

5、 *a="abcd" RTCrpUDGiT13. 设有以下程序段,则值为6地表达式是().struct st int n; struct st *n ext;static struct st a3=5,&a1,7,&a2,9,0 , *p;p=&a0;D (*p). n+B文本文件一种A p+->nB +p->nC p_>n+14. C语言中地文件类型只有().A索引文件和文本文件两种C二进制文件一种D ASCII码文件和二进制文件两种二判断对错,对地划“/”,错地划“X”(5分,每小题0.5分)1在Turbo C中,整型数据在内存

6、中占2个字节.()2. int i=20;switch(i/10)case 2:printf("A");case1:printf("B");地输出结果为 A.()5PCzVD7HxA3. break语句用在循环体中,可结束本层循环,continue语句用在循环体中,可结束本次循环.()jLBHrnAlLg4函数地递归调用不过是一个函数直接或间接地调用它自身.()5. 函数 strlen("ASDFGn")地值是 7.()6. 通过return语句,函数可以带回一个或一个以上地返回值 .()7. 结构体类型只有一种.()& ch

7、ar *p="girl"地含义是定义字符型指针变量p, p地值是字符串"girl".()9. 若有定义:char *p(char a10);贝U p是函数名.()10. 用fopen("file","r+");打开地文件"file"可以进行修改.()三 写出下列程序地运行结果(10分,每小题2分)1. float average (float array10) int i;float aver,sum=arrayO;for (i=1;i<10;i+)sum=sum+arrayi;aver=

8、sum/10;return(aver);mai n() float score10 = 89,67.5,78,91,56,82.5,65,70,79,88,aver; xHAQX74J0Xint i;aver=average (score);printf ( “ average score is %5.2fn”,aver);2. mai n() char a5= ' A ', B' , 'C' , D : E' ,*p=a,*pa;for(p=0;p<a+5;p+)printf( “ 2c”,*p);printf( “n” );printf

9、( “ %2cn ”,*(pa=&p);3. ma in() int a,b,s=O;for(a=1,b=1;a<=100;a+)if(b>=20) break;if(b%3=1)b+=3; con ti nu e; b-=5;printf( “ a=%dtb=%dn ” ,a,b);4. mai n() printf( “main() :%dn ” ,fact(5); fact(-5);fact(i nt value) int f;if(value<0) printf( “ Arg errorn");return(-1);else if(value=1|v

10、alue=0) f=1;else f=value*fact(value-1)+1;printf( “This called value=%dn ” ,f); return f;5. mai n() int a=012,b=0x12,k=12;char c= ' 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);四阅读下列程序,在处填入适当内容,使程序完整(

11、8分,每个 空1分)1有一个3*4矩阵,求其中地最大元素max_value( ) int i,j,ma x;max=arrayOO;for(i=0;i<3;i+)for(j=0;j<4;j+)if(arrayij>max)max=arrayij;_(2)_;mai n() int a34, i,j;for(i=0;i<3;i+)for(j=0;j<4;j+)(3);printf( “ max value is %dn ” ,max_value(a);2输入x、y两个整数,按先大后小地顺序输出x、y.#i nclude“ stdio.h ”mai n() int x

12、,y, *px,*py, (4)_;scanf(“ %d%d ”,&x,&y);(5); (6)_;if(x<y) p=px; px=py; py=p;printf( “x=%d,y=%dn ” ,x,y);printf( “ MAX=%d,MIN=%dn ” ,*px,*py);3用选择排序法对任意10个整数按照由小到大排序main () int a11,i,j,k,t;prin tf("Please in put 10 nu mbers:n");for(i=1;i<11;i+)scan f("%d", &ai);p

13、rin tf("n ”);for(i=1;i<=9;i+)(7)_;for(j=i+1; (8);j+)if(aj>ak) k=j;if(k!=i) t=ak;ak=ai;ai=t;prin tf("The sorted nu mbers:n");for(i=1;i<11;i+)prin tf("%d",ai);答案一选择题(7分,每小题0.5分)1.2.3.dvzfvkwMI11. B2. C3. B4. B5. CLDAYtRyKfE6. A7. B8. A9. A10. CZzz6ZB2Ltk11. A12. A13.

14、B14. D二判断对错,对地划“"”,错地划“X”(5分,每小题0.5分)1.X2.X3. V4.V5.X6.X7.X8. X9.V10.V三写出下列程序地运行结果(10分,每小题2分)个人收集整理仅供参考学习4.5.四阅读下列程序,在处填入适当内容,使程序完整(8分,每个空1分)1. (1)i ntarray34(i nt array4)(2)return(max)(3)seanf(“ d”,&aij) rqyn14ZNXI2. (4)*p(5)px 二& x(py 二&y)(6)py=&y(px二 &x)3. (7)(8)2003C语言试题

15、3一选择题(24分,每小题2分)1 .已知函数 fread 地调用形式为 fread (buffer , size , count, fp),其 中buffer代表地是().A存放读入数据项地存储区B存放读入数据地地址或指向此地址地指针C 一个指向所读文件地文件指针D一个整形变量,代表要读入地数据项总数2. 以下程序地输出结果为().mai n()8 / 17个人收集整理仅供参考学习 int i=010,j=10;prin tf("%d,%dn",i+,j-);A 11,9 B 9,10 C 8,10 D 9,93 设a为int型变量,执行下列赋值语句后,a地取值分别是()

16、.a=125.534;a=20.0/3;a=(int)125.521%4;a=5<<2;A 125,6,31,1 B 125,6,1,20 C 125,6.666666,31,20 D 125.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 () char c;int i;for(i=65;i<68;i+) c=i+32;switch

17、(c) case 'a':case 'b':case 'c':pri ntf("%c,",c);break;default:pri ntf("e nd");A a,b,c,e nd B a,a,a,e nd C a,a,a, D a,b,c,6. 函数调用语句:fseek (fp , -10L, 2);地含义是().A将文件位置指针从文件末尾处向文件头地方向移动10个字节B将文件位置指针从当前位置向文件头地方向移动10个字节C将文件位置指针从当前位置向文件末尾方向移动10个字节D将文件位置指针移到距离文件头

18、10个字节处7. 以下程序地输出结果为().main () char s140="cou ntry",s220="side"int i=0,j=0;while(s1i!='0') i+;while(s2j!='0') s1i+=s2j+;s1i=0;prin tf("%sn",s1);A side B country C sidetryD coun tryside8. 下列说法不正确地是().A主函数main中定义地变量在整个文件或程序中有效B不同函数中,可以使用相同名字地变量C形式参数是局部变量D在一

19、个函数内部,可以在复合语句中定义变量,这些变量只在本复合语句 中有效9. 在下列程序段中,枚举变量 c1地值是().enumcolor red,yellow,blue=4,green,whitec1;c1=yellow; c1=white;A 1 B 3 C 5 D 610. 设有说明int (*ptr)();其中标识符ptr是().A是一个指向整形变量地指针B是一个指针,它指向一个函数值是int地函数C是一个函数名D定义不合法11. 定义由n个指向整形数据地指针组成地数组p,其正确地方式为().A int p; B int (*p) n;C int *p n;D int (*p)();12.

20、 具有相同类型地指针类型变量p与数组a,不能进行地操作是().A p=a; B *p=a0; C p=&a0; D p=&a;二判断对错,对地划“/,错地划“x”(20分,每小题2分)1 .参加位运算地数据可以是任何类型地数据.()2. 若有定义和语句:int a; char c;float f;scanf("%d,%c,%f",&a,&c,&f); 若通过键盘输入:10,A,12.5,则 a=10,c= A ,f=12.5.()3. C语言把文件看作是一个字符(字节)地序列.()4. 若有宏定义:#define S(a,b) t=a

21、;a=b;b=t由于变量t没定义,所以此 宏定义是错误地.()5. 在Turbo C中,下面地定义和语句是合法地:file*fp;fp=fope n( "a.txt","r");()6. 若有定义:char s ="ch in a"则Turbo C系统为数组s开辟6个字 节地内存单元.()7. 若有定义和语句:int a33= 3,5,8,9,12,35,i,sum=0;for(i=0;i<3;i+) sum+=ai2-i;贝U sum=21.()8. 若有定义和语句:struct stude nt int num; char

22、n ame10;float score;s5=1,"lili",98.5,9,"xiaohua",66,*p=s;pri ntf("%d",*p+);输出结果是1.()9. 在程序中定义了一个结构体类型后,可以多次用它来定义具有该类型地变量()10. 在 Turbo C中,此定义和语句是合法地:enumaa a= 5,b,cbb;bb=(enumaa)5;()三 写出下列程序地运行结果(36分,每小题6分)1. mai n() int i=29,j=6,k=2,s;s=i+i/j%k-9;printf(“s=%dn” ,s);2. m

23、ai n() int x=31,y=2,s=0;do s-=x*y;x+=2;y-=3; while( x%3=0);printf( “x=%dty=%dts=%dn ” ,x,y,s);3. mai n() int a6= 10,20,30,40,50,60,i;in vert(a,0,5);for(i=0;i<6;i+) printf(“%d ” ,ai);printf( “n ” );inv ert(i nt s ,i nt i,i nt j) int t;if(ivj) in vert(s,i+1j-1);t=si;si=sj;sj=t;4. #i nclude<stdio

24、.h>mai n() char str =“The C program ” ,c;int i;for(i=2;(c=stri)!=0 ' ;i+) switch(c) case g' : +i; break; case o' : continue; default: printf( “ %c ,c);con ti nue;printf( “*” );printf( “n ”);5. struct w char low ;char high ;union u struct w byte ;short word ;uw ;mai n() int result ;uw.

25、word=0x1234;printf(“word value:%04xn ”,uw.word);printf(“ highbyte:%02xn ” ,uw.byte.high);printf( “ low byte:%02xn ”,uw.byte.low);uw.byteo w=0x74;printf(“word value:%04xn ” ,uw.word);result=uw.word+0x2a34;printf( “the result:%04xn” ,result);6. main () char *s2=“I love China! ” ,*s仁&s2 ;char *s3,c

26、,*s4=“W” ;s3=&c;*s3= H's2=s2+2;printf( “%st%ct%st%cn ” ,s2,*s3,s4,*s1);20分,每中马驮2担,四阅读下列程序,在处填入适当内容,使程序完整(个空2分)1. 百马百担问题:有100匹马,驮100担货,大马驮3担, 两匹小马驮1担,问大、中、小马各多少匹?main () int hb,hm,hl, n=0;for(hb=0;hb<=100;hb+= (1) Jfor(hm=0;hm<=100-hb;hm+= (2) ) hl=100-hb- (3) ;if(hb/3+hm/2+2* (3) =100)

27、 n+;prin tf("hb=%d,hm=%d,hl=%dn",hb/3,hm/2,2*hl);printf("n=%dn", n);2. 用“起泡法”对输入地10个字符排序后按从小到大地次序输出#define N 10char strN;mai n() int i,flag;for(flag=1;flag=1;) sca nf("%s",str);flag=0;prin tf("n");sort(4);for(i=0;i<N;i+)prin tf("%c",stri);prin tf(

28、"n");sort(char strN) int i,j;char t;for(j=1;j<N;j+)for(i=0;(i<N-j)&&(stri!='O');i+)if(stri>stri+1) t=stri;;3. 以下程序是一个函数,功能是求二阶矩阵(m行n列矩阵)地所有靠外侧 地各元素值之和.(本程序中二阶矩阵用一维数组来表示.)例如,矩阵为:3 0 0 32 5 7 31 0 4 2则所有靠外侧地各元素值之和为3+0+0+3+2+3+1+0+4+2=18.add(i nt m,i nt n ,i nt arr) i

29、nt i,j,sum=O;for(i=0;i<m;i=i+m-1)for(j=0;j <n ;j+)sum=sum+ (7) ;for(j=0;j< n;j=j+n-1)for(i=1; (8) ;i+)sum=sum+arri* n+j;return(sum);4. 用指针作函数参数,编程序求一维数组中地最大和最小地元素值#defi ne N 10mai n() void maxm in (i nt arr,i nt *pt1,i nt *pt2,i nt n);int arrayN=10,7,19,29,4,0,7,35,-16,21,*p1,*p2,a,b;p仁&

30、;a; p2=&b;maxmi n(array,p1,p2,N);prin tf("max=%d,mi n=%d",a,b);void maxm in (i nt arr,i nt *pt1,i nt *pt2,i nt n) int i;*pt1=*pt2=arr0;for(i=1;i <n ;i+) if(arri>*pt1) (9) ;if(arri<*pt2) (10) ;答案一选择题(24分,每小题2 分)20 / 171.( B2.( C3.( B )4.( D )5.( D )6.(7.( D8.( A9.( D )10.( B )1

31、1.(C ) 12.( D )二判断对错,对地划“,错地划“x”(20分,每小题2分)1.(X)2.( V)3.(V)4.(X)5.(X )6. (V)7.( V )8.( X)9.(V)10.(V )三 写出下列程序地运行结果(36分,每小题6分)1. s=202.x=35y=-4s=-293.60,50,40,30,20,10,4. e C pr*am 5.word value:12346.love Chi na!H w lhigh byte:12low byte:34word value:1274the result:3ca8四阅读下列程序,在处填入适当内容,使程序完整(20分,每个空2

32、分)1.(1) 3(3)hm hl2. (4) str(5) stri=stri+1 (6)stri+1=t3. (7) arri*n+j(或者 arri*10+j)(8) i<m-1( 或者 i<=m-2)4. (9) *ptr1=arri (10) *ptr2=arri版权申明本文部分内容,包括文字、图片、以及设计等在网上搜集整理.版权为个人所有This articlein eludes someparts, in cludi ng text, pictures,and desig n. Copyright is pers onal own ership .EmxvxOtOco用户可将本文地内容或服务用于个人学习、研

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论