《c语言试卷及答案(共7页).doc》由会员分享,可在线阅读,更多相关《c语言试卷及答案(共7页).doc(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上浙江理工大学 C程序设计 试题(一)试题二、语言基础题(本题共30分)(一)判断题(本题共10分,每小题1分)说明:在以下提供的若干陈述中,逐一判断其正确与否,选A表示正确,选B表示错误。(16)C语言程序的三种基本结构是顺序、选择和嵌套。(17)在C语言程序中,在函数内部定义的变量称为全局变量。(18)运算符“=”和“&=”的优先级相同。(19)%f是不正确的字符常量。(20)运算符“+”不能作为单目运算符。(21)如果运算符“*”和“/”都是右结合的,则表达式10*6/5的值是10。(22)s(s-a)(s-b)(s-c)是合法的C语言表达式。(23)表达式!6的
2、值是6。(24)表达式(215) b=1; else if (a2) b=2; else b=3 printf(%d,b);A、3B、2C、1D、0(33)只有当输入数据满足1=month=1month=1 & month=12);C、do scanf(%d,&month); while (month12);D、do scanf(%d,&month); while (month=12);34)调用函数f(27)的输出结果是 (34) 。 void f(int n) if (n5) printf(%d,n); else printf(%d,n%5); f(n/5); A、102B、201C、21
3、D、20(35)下列程序段的输出结果是 (35) 。 int k=3,j=4; int *p=&k,*q=&j; (*p)-; j=k; (*q)- printf(%d,%d) ,k,j);A、(2,1)B、(1,2)C、(4,3)D、(3,3)试题三、程序填空题(每空2分,共20分)说明:阅读下列程序说明和相应的程序,在每小题提供的若干可选答案中,挑选一个正确答案。程序1、【程序说明】 输入一批以-1结束的整数,求偶数和。【程序】 #include void main( ) int x,sum; sum=0; scanf(%d,&x); (36) if( (37) ) sum=sum+x;
4、(38) ; printf(“sum=%d”,sum); (36)A、while(x=-1)B、while(x!=-1)C、if(x=-1)D、if(x!=-1)(37)A、x=2B、x%2=2C、x%2=0D、x/2=0(38)A、scanf(%d,&x)B、scanf(%d,x)C、sum=0D、x=sum程序2、【程序说明】 a是一个33的矩阵,输入a的元素,如果a是下三角矩阵,输出“YES”,否则,输出“NO”。 (下三角矩阵,即对角线以上的元素都为0,主对角线为从矩阵的左上角至右下角的连线。)【程序】#include void main( ) int flag,i,k; int a3
5、3; for (i=0;i3;i+) for (k=0;k3;k+); scanf(%d”,&aik); (39) ; for (i=0;i3&flag;i+) for(k=i+1;k3&flag;k+) if( (40) ) (41) ; if (flag) printf(YESn); else printf(NOn); (39) A、flag=0B、flag=0C、flag=1D、flag=1(40) A、aki!=0B、aik=0C、aik!=0D、aki=0(41) A、flag=0B、flag=0C、flag=1D、flag=1程序3、【程序说明】 输入一个字符串,将其中的大写字母转
6、换为小写字母后输出。【程序】 #include void main( ) char str80; int k; gets(str); for (k=0;strk!=0;k+); if ( (42) ) (43) ; puts(str); (42)A、A=strkA&strk=A&strk=Astrk=Z(43)A、strk=strk-32B、strk=strk-a+AC、tolower(strk)D、strk=strk-A+a程序4、【程序说明】 int f2(char *s) char *ss; (44) ; while (*s!=0) s+; return (45) ; 请仔细阅读函数f1
7、,然后在函数f2中填入正确的内容,使函数f1和函数f2有相同的功能。【程序】 int f1(char s) int k=0; while (sk!=0) k+; return k; (44) A、s=ssB、ss=sC、ss=NULD、s=NUL (45) A、ss-sB、s-ss-1C、s-ssD、s-ss+1试题四、程序阅读题(每小题5分,共15分)说明:阅读下列程序,将运行的输出结果写在答卷纸的相应题号下。1、程序1#include void main( ) int j,k; float f,s; s=0;f=1; for (k=1;k3;k+)for (j=1;jk;j+); f=f*
8、k;s=s+f;printf(%.0f#”,s); 2、程序2#include void main( ) long fun(long number); printf(“%1dn”,fun(-974); long fun(long number) int flag; long res=0 flag=number0 ? -1:1; if (number0) number=-number while(number!=0) res=res*10+numbr%10 number/=10 printf(“%d#”,res); return flag*res; 3、程序3#include #include
9、void main( ) FILE *in; char *string1=”IF YOU FAIL TO PLAN”; char *string2=”YOU PLAN TO FAIL”; if (in=fopen(“file1.txt”,”w”) !=Null)while(*string2!=0) fputc(*string2+,in);fclose(in); if (in=fopen(“file1.txt”,”r”) !=NULL)while(fgetc(in)!=EOF) putchar(*string1+); fclose(in); 试题五、程序设计题(每题10分,共20分)1 输入10
10、个整数,找出其中绝对值最小的数,将它和最后一个数交换,然后输出这10个数。2 输入一个正实数x和一个正整数n,求下列算式的值。要求定义和调用2个函数:fact(n)计算n的阶乘;mypow(x,n)计算x的n次幂(即xn),2个函数的返回值类型都是double。C程序设计试题1考试答案与评分标准试题二(一)、判断题(每小题1分,满分10分)(16)(17)(18)(19)(20)(21)(22)(23)(24)(25)BBAAAABBAA(二)、单选题(每小题2分,满分20分)(26)(27)(28)(29)(30)(31)(32)(33)(34)(35)CDDCBBACBA(三)、程序填空题
11、(每小题2分,满分20分)(36)(37)(38)(39)(40)(41)(42)(43)(44)(45)BCADBACDBD四、程序阅读题(每小题5分,满分15分)程序1程序21#3#4#47#479#-479程序3程序4IF YOU FAIL TO P五、程序设计题(每小题10分,满分20分)1、#include #include int main() int n,i,a10,t,min,minpot; scanf(%d,&a0); min=a0; minpot=0; for(i=1;i10;i+) scanf(%d,&ai); if(fabs(ai)fabs(min) min=ai; m
12、inpot=i; t=a9; a9=aminpot; aminpot=t; for(i=0;i0) printf( ); printf(%d,ai); printf(n); 2、#include double fact(n) if(n=1) return 1; else return n*fact(n-1);double mypow(x,n) int i; double t=1; for(i=1;i=n;i+) t=t*x; return t;int main()double s=0,x;int i,n;scanf(“%lf %d”,&x,&n);for(i=1;i=n;i+) s=s+mypow(-1,i-1)*mypow(x,n)/fact(n);printf(“%lfn”,s);专心-专注-专业