“C程序设计及实验”试题卷注意:答题内容必须写在答题卷上,写在本试题卷上无效一.单项选择题(每题1分,共10分)1.下列运算符中,优先级最低的是_____。A.<0||y>0)等价于_____。A.!(x>0)&&!(y>0)B.!x>0&&!y>0C.!x>0||!y>0D.!(x>0)||!(y>0)4.表达式______的值不是0。A.1/2B.!’\0’C.!EOFD.NULL5.若x是浮点型变量,表达式(x=10/4)的值是_____。A.2.5B.2.0C.3D.26.若变量已正确定义并赋值,表达式______不正确。A.a&bB.a^bC.&&xD.a,b7.对于变量定义inta[10],*p=a;,表达式______是不正确的。A.a[9]B.p[5]C.*p++D.a++8.不正确的赋值或赋初值的方式是______。A.charstr[10];str="string";B.charstr[]="string";C.char*p="string";D.char*p;p="string";9.设程序中不再定义和声明变量,写出在函数fun中可以使用的所有变量______。#includevoidfun(intx){staticinty;……return;}intz;voidmain(){inta,b;fun(a);……}A.x,yB.x,y,zC.a,b,y,zD.a,b,x,y,z10.对于变量定义intp[5],*a[5];,表达式______是正确的。A.p=aB.p[0]=aC.*(a+1)=pD.a[0]=2二、填空题(每题2分,共30分)1.数组定义为inta[2][3][4],则数组a中有_____个数组元素。2002-2003学年春季学期“C程序设计及实验”试题卷第1页(共8页)2.计算下列分段函数的条件表达式是______。1x>0y=0x=0-1x<03.表达式1<10<5的值是______。4.表达式~(10<<1)&4的值是______。5.表达式sizeof(“hello”)的值是______。6.下列程序段的输出结果是_____。intk,s;for(k=1,s=0;k<10;k++){if(k%2==0)continue;s+=k;}printf("k=%ds=%d",k,s);7.下列程序段的输出结果是_____。#defineMM(x,y)(x*y)printf("%d",MM(2+3,15));8.下列程序段的输出结果是_____。intk=1,s=0;switch(k){case1:s+=10;case2:s+=20;break;default:s+=3;}printf("k=%ds=%d",k,s);9.下列程序的输出结果是_____。#includeintf(){staticintk;return++k;}voidmain(){intk;for(k=0;k<3;k++)printf("%d#",f());}10.下列程序的输出结果是_____。f(intx){if(x<=1)return1;2002-2003学年春季学期“C程序设计及实验”试题卷第2页(共8页)elsereturnf(x-1)+f(x-2);}voidmain(){printf("%d",f(4));}11.下列程序段的输出结果是_____。intk=1,j=2,*p,*q,*t;p=&k;q=&j;t=p;p=q;q=t;printf("%d,%d",*p,k);12.下列程序段的输出结果是_____。intc[]={10,30,5};int*pc;for(pc=c;pcvoidp(int*x,inty){++*x;y=y+2;}voidmain(){intx=0,y=3;p(&y,y);printf("%d,%d",x,y);}15.用typedef定义一个10个元素的字符指针数组类型CP。三、程序阅读题(每题5分,共30分)1.下列程序的输出结果是_______。#includevoidmain(){intk,x,s,t;x=3;s=0;t=x;for(k=1;k<=3;k++){2002-2003学年春季学期“C程序设计及实验”试题卷第3页(共8页)t=t*10+x;s=s+t;printf("%d#",s);}}2.输入730303129760<回车>后,下列程序的输出结果是_______。#includevoidmain(){intj,k,sub,x;inta[5];for(j=1;j<=2;j++){for(k=0;k<5;k++)scanf(“%d”,&a[k]);scanf(“%d”,&x);sub=-1;for(k=0;k<5;k++)if(a[k]==x)sub=k;printf("%d#",sub);}}3.下列程序的输出结果是_______。#includevoidmain(){longnumber,wt,x;x=number=10230;wt=1;while(x!=0){wt=wt*10;x=x/10;}wt=wt/10;while(number!=0){printf("%d#",number/wt);number=number%wt;wt=wt/10;}2002-2003学年春季学期“C程序设计及实验”试题卷第4页(共8页)}4.输入398653712421234<回车>后,下列程序的输出结果是_______。#include"stdio.h"voidmain(){intflag,i,j,k,col,n,ri,a[6][6];for(ri=1;ri<=2;ri++){scanf("%d",&n);for(i=0;i