“程序设计基础-C”试题卷注意:答题内容必须写在答题卷上,写在本试题卷上无效一.单项选择题(每题2分,共20分)1.C语言程序的三种基本结构是顺序结构、选择结构和______结构。A.递归B.转移C.循环D.嵌套2.下列运算符中,优先级最高的是_____。A.->B.++C.&&D.=3.表达式!(x>0&&y>0)等价于_____。A.!(x>0)||!(y>0)B.!x>0||!y>0C.!x>0&&!y>0D.!(x>0)&&!(y>0)4.表达式sizeof("\nsum=%d\n")的值是______。A.8B.9C.10D.115.以下选项中不正确的实型常量是_____。A.0.23EB.2.3e-1C.1E3.2D.2.3e06.表达式______的值不是1。A.0?0:1B.5%4C.!EOFD.!NULL7.数组定义为inta[11][11],则数组a有_____个数组元素。A.12B.144C.100D.1218.对于以下的变量定义,表达式______是不正确的。structnode{intj,k;}x,*p=&x;A.p->k=2B.(*p).k=2C.x.k=2D.x->k=29.不正确的赋值或赋初值的方式是______。A.charstr[]="string";B.charstr[10];str="string";C.char*p="string";D.char*p;p="string";10.设程序中不再定义新的变量,写出在函数main中可以使用的所有变量______。#include
intz;intp(intx){staticinty;return(x+y);}voidmain(){inta,b;printf("%d\n",p(a));……}A.a,bB.a,b,zC.a,b,y,zD.a,b,x,y,z二、填空题(每题2分,共30分)1.设字符型变量ch的值是小写英文字母,将它转换为相应大写字母的表达式是______。2001-2002学年春季学期“程序设计基础-C”试题卷第1页(共6页)2.表达式1<0<5的值是______。3.表达式~(10>>1^~5)的值是______。4.下列程序段的输出结果是______。inta=1;longb=a*0x12345678;printf("%x\n",b);5.设变量已正确定义,在程序段B中填入正确的内容,使程序段A和程序段B等价。程序段Afor(k=s=0;k<=10;s+=a[k++])if(a[k]<0)break;程序段Bfor(k=0,s=0;;s+=a[k++])if(______)break;6.下列程序段的输出结果是_____。#defineT10#defineMD3*Tprintf("%d",30/MD);7.下列程序段的输出结果是_____。intk,s;for(k=s=0;k<10&&s<=10;s+=k)k++;printf("k=%d,s=%d",k,s);8.下列程序的输出结果是_____。#includeintf(intm){staticintk=2;k++;returnk+m;}voidmain(){ints;s=f(2);printf("%d,%d\n",s,f(s));}9.对于以下递归函数f,调用f(3)的返回值是_____。f(intn){return((n<=0)?n:f(n-1)+f(n-2));}10.下列程序段的输出结果是_____。intc[]={10,0,-10};int*k=c+2;2001-2002学年春季学期“程序设计基础-C”试题卷第2页(共6页)printf("%d",*k--);11.下列程序段的输出结果是_____。intk=1,j=2,*p=&k,*q=p;p=&j;printf("%d,%d",*p,*q);12.下列程序的输出结果是_____。#includechar*f(char*str){returnstr="fun";}voidmain(){char*str="one";printf("%s,%c\n",f(str)+1,*f(str)+1);}13.下列程序的输出结果是_____。#includevoidp(int*x,inty){++*x;y--;}voidmain(){intx=0,y=3;p(&x,y);printf("%d,%d",x,y);}14.下列程序的输出结果是_____。#include"stdio.h"voidmain(){intj,k,a[2][2];for(k=1;k<3;k++)for(j=1;j<3;j++)a[k-1][j-1]=(k/j)*(j/k);for(k=0;k<2;k++)for(j=0;j<2;j++)printf("%d,",a[k][j]);}15.用typedef定义一个指向函数的指针类型FP,该函数的返回值为整型。三、程序阅读题(每题5分,共15分)1.输入c2470f?<回车>后,下列程序的输出结果是_______,该程序的主要功能是_______。#include"stdio.h"intmain(){charch;2001-2002学年春季学期“程序设计基础-C”试题卷第3页(共6页)longnumber=0;while((ch=getchar())<'0'||ch>'6');while(ch!='?'&&ch>='0'&&ch<='6'){number=number*7+ch-'0';printf("%ld#",number);ch=getchar();}}2.输入4<回车>后,下列程序的输出结果是_______。#include"stdio.h"intmain(){intj,k,n;floatf,s;scanf("%d",&n);s=0;f=1;for(k=1;k<=n;k++){for(j=1;j后,下列程序的输出结果是_______。#include#includestructlink{intmark;structlink*next;};voidf(structlink**);main(){structlink*head,*p;h...