2014年春C程序设计期末试卷

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

2013-2014学年《C程序设计基础与实验》期末考试试卷第1页共7页诚信应考考出水平考出风格浙江大学城市学院2013—2014学年第2学期期末考试试卷《C程序设计基础与实验》开课单位:计算分院;考试形式:闭卷;考试时间:2014年6月23日;所需时间:120分钟题序一二三四五总分得分评卷人注:请在答题卷上答题。一、判断题(本大题共10题,每题1分,共10分)1、程序经过编译、链接,并产生可运行文件,程序就一定没有错误了。2、赋值号左边必须为变量。3、定义inta=2,b=0;,表达式!a&&b的值是0。4、若有宏定义:#defineM(x,y,z)x/y-z程序段inta=2,b=3,c=5;a=M(a*a,b*b,c*c);printf(%d\n,a);则计算结果为-25。5、动态变量的值是在整个程序运行结束后才释放存储单元。6、for(表达式1;表达式2;表达式3)循环体。以上for循环语句先执行“表达式1”,再执行“表达式2”,如果“表达式2”条件成立,执行“表达式3”,然后执行“循环体。7、二维数组列的长度可以省略,行不可以省略。8、在表达式中数组的元素可以写成指针形式,指针也可写成数组形式,两者可以相互转换。9、函数的形参是指针,调用的实参可以是地址或指针。10、定义一个结构体就相当于定义了一个新的自定义变量。二、单选题(本大题共10题,每题2分,共20分)11、在C程序设计中,下列优先级最低的是。A.!B./C.==D.-12、假定x和y为float类型,则表达式x=2,y=x+3/2的值是。A.3.500000B.3C.3.000000D.2.00000013、设有chara[80]=abcd;则printf(“%d%d”,strlen(a),sizeof(a));的值是。2013-2014学年《C程序设计基础与实验》期末考试试卷第2页共7页A.45B.54C.480D.58014、已有定义:intx=1,y=2,z=3;,则表达式z-yx+x&&y的值是_____。A.0B.1C.2D.315、以下函数参数形参和实参的正确说法是。A.只有当实参与其对应的形参同名时才占用一个共同的存储单元B.形参是虚拟的,不占用内存单元C.实参与其对应的形参共同占用一个存储单元D.实参与其对应的形参各占用独立的存储单元16、下列叙述中正确的是。A.break语句只能用于switch语句B.在switch语句中必须使用defaultC.break语句必须与switch语句中的case配对使用D.在switch语句中,不一定使用break语句17、下列叙述中正确的是。A.do-while语句构成的循环不能用其它语句构成的循环来代替B.do-while语句构成的循环只能用break语句退出C.用do-while语句构成的循环,在while后的表达式为零时结束循环D.用do-while语句构成的循环,在while后的表达式为非零时结束循环18、以下能正确定义数组并正确赋初值的语句是。A、intd[3][2]={{1,2},{3,4}};B、intc[2][]={{1,2},{3,4}};C、inta[1][2]={{1},{3}};D、intN=5,b[N][N];19、若有以下说明,且0=i10,则对数组元素inta[]={0,1,2,3,4,5,6,7,8,9},*p=a,i;的错误引用是。A.*(a+i)B.a[p-a+i]C.*(&a[i])D.p+i20、设有如下定义,则对data中的a成员的正确引用是。structsk{inta;floatb;}data,*p=&data;A.(*p).aB.p-data.aC.(*p).data.aD.p.data.a三、程序填空题(每题2分,共20分)1)、输入一批整数(以零或负数为结束标志),求最大值,请选择填空。运行示例:Enterintegers:933691031-1max=69#includestdio.hmain(){intx,max;printf(Enterintegers:);scanf(%d,&x);21;while(22){2013-2014学年《C程序设计基础与实验》期末考试试卷第3页共7页if(maxx)max=x;23;}printf(max=24,max);}21、A.max=xB.x=maxC.max=0D.max=1000022、A.x=0B.x0C.x!=0D.x0||x==023、A.scanf(%d,x)B.scanf(%d,&x)C.x=maxD.max=x24、A.maxB.%.0fC.%dD.%x2)、输入x,求下列算式的值,要求精确到最后一项的绝对值小于10-4。要求定义和调用函数fun(x,e)计算下列算式的值,e为精度,请填空。24621......(1)2!4!6!(2)!nnxxxxsn运行示例:Enterx:1.57s=0.00#includestdio.h#includemath.hvoidmain(){doubles,x;doublefun(doublex,doublee);printf(Enterx:);scanf(%lf,&x);s=25;printf(s=%.2f\n,s);}doublefun(doublex,doublee){inti=1;doubleitem=1,sum=1;while(26){item=27;sum=sum+item;i++;}28;}25、A.fun(0.0001,x)B.fun(x,0)C.fun(x,1E-4)D.fun(x,0.001)26、A.item=eB.fabs(item)eC.itemeD.fabs(item)=e27、A.item*x*x/((i-1)*i)B.item*x*x/((2*i-1)*(2*i))2013-2014学年《C程序设计基础与实验》期末考试试卷第4页共7页C.-item*x*x/(2*i-1)/(2*i)D.-item*x*x/(2*i-1)*(2*i)28、A.returnB.returnsumC.returnitemD.returnsum+13)、下列程序先消除输入字符串的前后空格,再判断是否是“回文”(即字符串正读和倒读都是一样),若是则输出YES,否则输出NO。请填空。运行示例:Enterx:abcbaEnterx:abccbaEnterx:abcabYESYESNO#includestdio.h#includestring.hvoidmain(void){chars[80],*p,*q;intn;printf(Enterx:);gets(s);p=s;while(*p=='')p++;n=strlen(s);q=29;while(*q=='')q--;while(30&&*p==*q){p++;q--;}if(pq)printf(NO\n);elseprintf(YES\n);}29、A.s+nB.s+n-1C.s+n+1D.s-n30、A.pqB.pqC.pq-1D.pq-1四、程序阅读题(每题3分,共30分)31、执行以下程序,则下面程序的运行结果是。#includestdio.hvoidmain(){inta,b,c,x;a=b=c=0;x=35;if(a!=0)x--;elseif(!b!=0)if(c!=0)x=3;elsex=4;printf(%d\n,x);}2013-2014学年《C程序设计基础与实验》期末考试试卷第5页共7页A.3B.4C.34D.3532、以下程序运行时,输出结果是。#includestdio.hvoidmain(){inti=0;for(i=i+3;i6;i=i+2)switch(i%5){case0:printf(*);case1:printf(#);break;default:printf(!);break;case2:printf(&);}}A.*#B.!&C.!*#D.*#*33、以下程序运行后的输出结果是。#includestdio.hvoidmain(void){intnum=0;while(num6){num++;if(num==3)break;printf(%d,num);}}A.12B.13C.10D.1134、以下程序运行后的输出结果是。#includestdio.hvoidmain(){inti,b,k=0;for(i=1;i5;i++){b=i%3;while(b0){b--;k++;}}k=k+b;printf(%d\n,k);}A.3B.4C.5D.635、以下程序运行后,输出结果是。#includestdio.hintf(intx){staticy=1;y=y*x;x=x+y;2013-2014学年《C程序设计基础与实验》期末考试试卷第6页共7页returnx;}voidmain(){intk=5;printf(%d,f(f(k)));}A.50B.55C.60D.6536、以下程序运行后,输出结果是。#includestdio.hintMinDivisor(intm,intn){if(m%n==0)returnn;elsereturn2*MinDivisor(n,m%n);}voidmain(){printf(%d,MinDivisor(5,23));}A.8B.12C.16D.2037、以下程序运行后,输出结果是。#includestdio.h#includestring.hvoidfun(chara[]){inti,j,temp,n;n=strlen(a);for(i=0;a[i]!='\0';i++){temp=a[n-1];for(j=n-1;j=i;j--)a[j]=a[j-1];a[i]=temp;}}voidmain(){chara[]=abcdefgh;fun(a);printf(%s,a);}A.abcdefghB.hgfedcbaC.dcbahgfeD.hgfeabcd38、以下程序运行后,输出结果是。#includestdio.hintp(int*a,intb){*a=*a-1;b++;returnb;}2013-2014学年《C程序设计基础与实验》期末考试试卷第7页共7页#includestdio.hvoidmain(){intn,x=3,y=5;n=p(&x,y)+p(&y,x);printf(%d\n,n);}A.8B.9C.10D.1139、以下程序运行后,输出结果是。#includestdio.hvoidmain(){chara[8]=ABCDEFG,*ch;inti;for(i=0,ch=a+1;*ch!='\0';ch=ch+2,i++)a[i]=*ch;a[i]='\0';printf(%s,a);}A.FDBB.BDFC.BCDEFGD.ABCDEFG40、执行以下程序,下面程序的运行结果是。提示:'a'的ASCII值是97,'0'的ASCII值是48。#includestdio.hvoidmain(void){FILE*fp;chara[7]=abcdef,b[7]=123456,ch,i;fp=fopen(abc.dat,w);for(i=0;i4;i++)fputc(a[i],fp);fclose(fp);fp=fopen(abc.dat,r);for(i=0;(ch=fgetc(fp))!=EOF;i++)b[i]=ch-'0';fclose(fp);puts(b);}A、1234B、123456C、abcdD、abcdef五、程序设计题(每题10分,共20分)41、编程:在主函数中输入i,j,k;并调用mysum函数,自定义函数mysum的功能是求1+2+…+n。求下列表达式的值并输出计算后的结果:42、编程,输入n个数,求n个数中大于平均值的奇数个数并输出,要求使用数组。示例:平均

1 / 8
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功