资源描述:
《浙江大学C语言2006试卷.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、浙江大学2005-2006学年春夏学期期终考试试卷考试时间2006年6月28日一.单项选择题(每题1分,共10分)1.在C语言中,下面描述正确的是:______。A、函数的定义可以嵌套,但函数的调用不可以嵌套B、函数的定义不可以嵌套,但函数的调用不可以嵌套C、函数的定义可以嵌套,函数的调用也可以嵌套D、函数的定义不可以嵌套,但函数的调用可以嵌套2.在C语言中,_____存储类型的变量,只在使用时才分配空间。A、static和autoB、register和externC、register和staticD、auto和register3.下列运算符中,优先级最低的是:____
2、_A、*B、+C、==D、=4.有程序段如下:intk=10;while(k=0)k=k-1;以下选项中描述正确的是_____。A.语句“k=k-1;”被执行10次。B.语句“k=k-1;”被执行1次。C.语句“k=k-1;”被执行无限多次。D.语句“k=k-1;”一次也不执行。5.若以下定义:chars[20],*ps=s;则,以下赋值语句正确的是:A、s=ps+s;B、ps=ps+20;C、s[5]=*ps[9];D、ps=s[0];6.有程序段如下:inta=1,b=2,c=3;if(a>b)c=a;a=b;b=c;执行该程序段后,变量a,b,c的值是_____。
3、A.a=1,b=2,c=3B.a=2,b=3,c=3C.a=2,b=3,c=1D.a=3,b=2,c=17.假设所有变量均为int类型,则表达式(a=2,b=5,b+1,a+b)的值为______。A.7B.8C.6D.28.以下叙述正确的是______。A.在C程序中,main()函数必须位于程序的最前面。B.C程序的每一行中只能写一条语句。C.在对C程序进行编译的过程中,可发现注释中的拼写错误。D.C语言本身没有输入、输出语句。9.设有语句structst{intn;int*t;}*p;staticstructsts[3]={5,' ',7,' ',9,' '
4、};p=s;则printf(“%d”,______)的值是6。A.p++->nB.p->n++C.(*p).n++D.++p->n910.设有语句:inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;则以下______不是对a数组元素的正确引用,其中0≤i<10。A.a[p-a]B.*(&a[i])C.p[i]D.*(*(a+i))二、填空题(每题2分,共20分)1.设ch为字符变量,写出判断ch为数字字符的C语言表达式______。2.inta=3,则a+=a-=a*a的值是_____。3.表达式3<5<2的值是_____。4.表达式~(4<<
5、2)的值是______。5.下列程序段的输出结果是_____。#defineA1(a,b)a*b#defineA2(a,b)(a*b)printf("%d",2*A2(A1(2,-1),A2(2,-1)));6.执行下面的程序段后,a和b的值分别是_____。inta=3,b=5,c;c=(a>--b)?a++:b--;7.下列程序段执行后s的值是:_____。inti=1,s=0;while(i++)if(!(i%3))break;elses+=i;printf(“s=%d”,s);8.下列程序段的输出结果是_____。char*s[]={"one","two
6、","three"},*p;p=s[1];printf("%c,%s",*(p+1),s[0]);9.下列程序的输出结果是_____。#includeintf(intn){staticintk=1;k=k*n;returnk;}voidmain(){inti,sum=0;for(i=1;i<=5;i++)sum=sum+f(i);printf("sum=%d",sum);}10.用typedef定义一个整型数组类型PT,它由100个整型元素组成。三、程序阅读题(共30分)1.下列程序的输出结果是_______。(4分)#include7、o.h>9voidmain(){intx=1,y=0,a=0,b=0;switch(x){case1:switch(y){case0:a++;break;case1:b++;break;}case2:a++;b++;break;case3:a++;b++;}printf(“a=%d,b=%d”,a,b);}2.下列程序的输出结果是_______。(4分)#includevoidmain(){inti,j,x=0;for(i=0;i<2;i++){x++;for(j=0;j<3;j++){if(j%2)continue