浙江理工大学04-05级c语言期末试卷b卷(含答案)

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

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

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

资源描述

浙江理工大学2004/2005学年第二学期期末考试BC程序设计试题一、判断题(判断下列各小题,正确的在题后括号内打√,错的打×。每小题1分,共10分)1.结构体变量可以被整体赋值.2.字符型数组中可以存放字符串3.可以对整型数组进行整体输入、输出4.在C语言程序中,在函数内部定义的变量称为静态局部变量。5.语句“b=+3;”和“b+=3;”运行后的结果是不一样的。6.‘\f’是不正确的字符常量。7.运算符“+”不能作为单目运算符。8.(a*x*x+b+c)/(2*a)是合法的C语言表达式。9.表达式!!3的值是1。10.表达式~(21)的值是-5。二、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。每小题2分,共20分)1.在C语言中,不正确的unsignedchar类型的常数是________A32768B0C037D0xDF2.当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是______Ac=b=a;B(a=c)‖(b=c);C(a=c)&(b=c);Da=c=b;3.在C语言类型中,int,char,short等类型的长度是_________A.固定的B.由用户自己定义C.任意的D.与机器字长有关4.以下程序的输出结果是________main(){inta=-1,b=1,k;if((++a0)||!(b--=0))printf(%d--%d\n,a,b);elseprintf(%d--%d\n,b,a);}A-1--1B0--1C1--0D0--05.设有程序段:t=6;a=7;b=8;if(a=b)t=a;,这段程序执行后,t的结果是______第2页共6页A.6B.7C.8D.06.设a=1,b=2,c=3,d=4,则表达式:ab?a:cd?a:d的结果为___________A4B3C2D17.若a为二维数组,它有m列,则a[i][j]在数组中的位置是_________A.i*m+jB.j*m+iC.i*m+j-1D.i*m+j+18.设有如下定义:intx=l,y=-1;,则语句:printf(%d\n,(x--&++y));的输出结果是____A1B0C-1D29.下面程序段不是死循环的是_____________A.intj=100;while(1){j=j%100+2;if(j100)break;}B.for(;;);C.intk=0;do{++k;}while(k=0);D.ints=36;while(s);--s;10.下列表达式中,错误的是______.A.21?a:bB.ijC.4.0%++2.0D.x*=y+8三、程序填空题(阅读以下程序说明和相应程序(段),在每小题提供的若干可选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。每小题2分,共20分)1.【程序说明】下面程序是查找学生的成绩,完成该程序。输入值为学生序号,当输入为-1时程序结束。【程序】#includestdio.hmain(){voidseek(float(*p)[3],inti);floatscore[4][3]={{75,78,82},{66,72,77},{85,90,81},{74,89,68}};while(1){scanf(“%d”&i);if(___1____)break;search(_____2_______);}}voidseek(float(*p)[3],inti){intk;print(“ThescoreofNo%dare\n”,i);for(_____3_______)printf(“%5.2f”,_____4_________);}(1)A、i==0B、breakC、i==-1D、return(2)A、pB、score,iC、&score,iD、p,i(3)A、i=0;i3;i++B、k=1;k=3;k++iC、k=2;k0;k--D、k=0,k3,k++(4)A、*score[i]+kB、*p[i]+kC、score[i][k]D、p[i][k]第3页共6页2.【程序说明】输入一个只有字母的字符串,将其中的小写字母转换为大写字母后输出。【程序】#includestdio.hvoidmain(){charstr[80];intk;gets(str);for(k=0;str[k]!=’\0’;k++);if((5))(6);puts(str);}(5)A、k==0B、str[k]ZC、str[k]’Z’D、k=80(6)A、k--B、k-=32C、str[32]-=kD、str[k]=str[k]-323.【程序说明】在n行n列的矩阵中,每行都有最大的数,本程序求这n个最小数中的最大一个【程序】#include〈stdio.h〉#defineN100inta[N][N];voidmain(){introw,col,max,min,n;/*输入合法n(〈100〉,和输入n×n个整数到数组a的代码略*/for(row=0;rown;row++){for(min=a[row][0],col=l;coln;col++)if(__7_)min=a[row][col];if(__8__)max=min;elseif(__9__)max=min;}printf(Theminofmaxnumbersis___10___\n,min);}(7)A、mina[i][j]B、mina[row][col]C、maxa[row][col]D、min==a[i][j](8)A、mana[i][j]B、maxminC、maxminD、row==0(9)A、mina[i][j]B、maxminC、maxminD、max==min(10)A、%5iB、%5fC、%5dD、%5c四、阅读理解题(阅读下列程序或程序段,写出运行结果,每小题5分,共20分)1.阅读下面程序,给出输出结果。main(){inti,j,k;第4页共6页for(i=1;i5;i++){for(j=1;j=i;j++){printf(“#”);printf(“*“);}printf(“\n”);}}2.阅读下面程序,写出运行结果。#includestdio.hvoidmain(){longfun(longnumber);printf(“%1d\n”,fun(-9));}longfun(longnumber){intflag;longretval=0;flag=number0?-1:1;if(number0)number=-number;retval=retval+number*flag;returnretval;}3.阅读下面程序,指出下面程序所完成的功能main(){inta=5,b=6;intc,d,x;c=-1;d=-1;a++;if(ab&&cd)x=1;elseif(ac||ad)x=2;elseif(bc)x=3;elsex=6;printf(“x=%d”,x);}4.分析以下程序:#include“string.h”main(){charc,string[81];第5页共6页inti,a=0,b=0;gets(string);for(i=0;(c=string[i])!='\0';i++)if(c==''){b++;}printf(%d\n,b);}若输入:helloword!,则程序运行后,输出结果为______,且c的值为______,i的值为______.五、编程题(每题10分,共30分)(1)有函数f(x)=1-x/3+x/5-x/7+x/9…编写函数程序求f(x),使误差小于0.0000001。(2)有一函数:)(5.100)10100(103)100(sincos)0(22其他xxxxxaxcbxaxy写一程序,输入x,输出y值。(3)15个数按由从小到大顺序存放在一个数组A[15]中,输入一个数,要求用二分折半查找法找出该数是数组中的第几个元素的值。如果该数不在数组中,则打印出“无此数”。假设inputdata()和sort()函数已存在,用来输入数据和排序用的。请完成该程序。main(){floatA[15];inputdata(A,15);sort(A,15);printf(“请输入数:”);}2005年春04级C程序设计期末考试答题纸B答案班级:学号:姓名:成绩:一、判断题(本题共10分,每小题1分)12345678910√√××√√×√√√二、单选题(本题共20分,每小题2分)12345678910第6页共6页ACDDCADBAC三、程序填空题(本题共20分,每个填空2分)12345678910CBCBCDBDBC四、程序阅读题(本题共20分,每小题5分)1.#*#*#*#*#*#*#*#*#*#*2.-93.x=34.1NULLor‘\0’11第7页共6页五、程序设计题(本题共30分,每小题10分)1.main(){floatx,f,temp;inti;f=0;temp=1;printf(“pleaseinputx”);scanf(“%f”,&x);for(i=1;i10000;i+=2){if(x/i0.0000001)break;f=f+x*temp/i;temp=-temp;}printf(“f(x)=%.7f\n”,f);}2.main(){floatx,y;printf(“pleaseinputx”);scanf(“%f”,&x);if(x0)y=a*x*x+b*x+c;elseif(x10)y=a*cos(x)+sin(x*x);elseif(x100)y=3*sqrt(x)+10;else第8页共6页y=100.5;printf(“y=%f\n”,y);}3.main(){floatA[15],x,temp;intI,upper,lower;inputdata(A,15);sort(A,15);printf(“inputthedata:”);scanf(“%f”,&x);upper=14;lower=0;while(1){i=(upper-lower+1)/2;if(x==A[i])break;if(lower==upper){break;}if(xA[i])upper=i;elselower=i;}if(x==A[i]printf(“%fisfoundin%d\n”,x,i);elseprintf(“Itcan’tbefindinthearray\n”);}}

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

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

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

×
保存成功