1全国高校计算机联合考试(广西考区)二级C语言试题卷2011年12月24日闭卷考试考试时间:120分钟第一卷本卷共70分,其中第1~26题每题2分,第27~32题每题3分。1.main()函数的特征是。A.可独立运行的函数B.必不可少的函数C.最先执行的函数D.具有前述三种特征的函数2.下面标识符中,不合法的C语言标识符是。A._charB.CharC.a#bD.a1b3.下面常量中,非法的C语言常量是。A.’tt’B.10LC.0.01D.0x104.设int类型的数据长度为2个字节,则unsignedint类型数据的取值范围是。A.-32768~32767B.0~255C.0~65535D.-256~2565.若w、x、y均为int型变量,则执行下列语句后,y的值是。w=5;x=w++;y=x+w--;A.9B.11C.10D.126.若之前有以下说明语句,则表达式c*x+z+y的结果类型是。charc;intx;floaty,z;A.doubleB.intC.charD.float7.若y为int型变量,则执行以下语句后,y的值是。y=8;y+=y-=y*y;A.64B.-56C.-112D.-488.若m、a、b、c、d均为int型变量,则执行下列语句后m的值是。a=1;b=2;c=3;d=4;m=ab?a:cd?c:d;A.1B.4C.2D.39.若a、b为int型变量,则执行下列语句后b的值。a=15;b=15;do{b-=a;a++;}while(b--0);A.0B.-15C.-16D.-110.若有以下语句,则下面选项是正确的描述。staticcharx[]=china;staticchary[]={'c','h','i','n','a'};A.x数组与y数组长度相同B.x数组长度大于y数组的长度C.x数组长度小于y数组的长度D.x数组和y数组的赋值是非法的11.while(!x)中的条件表达式(!x)与下面条件等价。A.x==0B.x==1C.x==0||x==1D.x!=012.若已定义m为int型变量,则是对指针变量p的正确说明和初始化。A.intp=&m;B.int*p=m;C.int*p=*m;D.int*p=&m;13.若用数组名作为函数的实参,则实际上传给形参的是。A.数组的全部元素值B.数组的首地址C.数组的第一个元素值D.数组所含元素数目14.若有以下语句,在执行语句j=!c&&i++;则变量i和j的值分别是。charc='x';inti=1,j;2A.1,1B.2,0C.2,1D.1,015.若之前有如下宏定义,则执行下列语句:z=4*(N+y(5));后的结果是。#defineN2#definey(n)((N+1)*n)A.z的值为68B.z的值为180C.z的值为60D.语句有错误16.在C语言中函数返回值的类型缺省时,函数默认为。A.return语句中的表达式类型B.调用该函数的主函数类型C.int类型D.void类型17.若有以下语句,则对数组元素正确引用的是。inta[]={2,4,6,8,10,12},*ptr;ptr=a;A.aB.a[6]C.*ptrD.ptr18.有以下说明和p=&stud1;语句,对结构变量的成员age的正确引用的是。structstudent{intage;intsex;}stud1,*p;A.p-ageB.student.ageC.*p.ageD.student.stud1.age19.语句float*p();说明了。A.p是指向一维数组的指针变量B.p是一函数名,该函数的返回值是指向float类型数据的指针C.p是指向函数的指针,该函数返回值的类型是floatD.p是指向float类型的数据的指针变量20.若要用fopen函数建一个新的二进制文件,该文件要既能读也能写,则文件方式字符串应该为。A.ab+B.wb+C.rb+D.ab第二部分:简单程序21.以下程序的输入结果是()。main(){intn=4;while(n0){n--;printf(%d,n);}}A.20B.321C.3210D.21022.下列程序运行后的输出结果是()。main(){inti=1;while(i=7)if(++i%3!=2)continue;elseprintf(%d,i);printf(\n);}A.158B.26C.125D.25823.两次运行下面的程序,如果从键盘上分别输入6和4,则输出的结果分别是()。main(){intx;scanf(%d,&x);if(x5)printf(%d,++x);elseprintf(%d,x--);3}A.7和4B.6和3C.7和3D.6和424.下列程序运行后的输出结果是()。main(){intx=1,a=0,b=0;switch(x){case0:b++;case1:a++;case2:a++;b++;}printf(a=%d,b=%d\n,a,b);}A.a=1,b=1B.a=2,b=1C.a=1,b=0D.a=2,b=225.下列程序运行后的输出结果是()。main(){chara[10]={'1','2','3','4','5','6','7','8','9',0},*p;inti=8;p=a+i;printf(%s\n,p-3);}A.123456789B.6789C.'6'D.78926.下列程序运行后的输出结果是()。main(){chars[]=TODAYISHAPPY!,*p=s;while(*p){if(*p='A'&&*p='Z')*p=*p-'A'+'a';p++;}printf(%s\n,s);}A.TODAYIShappy!B.TODAYISHAPPY!C.todayishappy!D.todayisHAPPY!27.下列程序运行后的输出结果是()。main(){charch[3][4]={1234,456,789};inti;for(i=0;i3;i++)printf(%s,ch[i]);}A.123B.1C.123D.1234567894456778928.下列程序运行后的输出结果是()。4main(){intb[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1;for(i=0;i3;i++)for(j=i;j=i;j++)t=t+b[i][b[j][j]];printf(%d\n,t);}A.4B.3C.1D.929.下列程序运行后的输出结果是()。inta,b;voidfun(){a=100,b=200;}main(){inta=5,b=7;fun();printf(%d%d\n,a,b);}A.100200B.57C.200100D.7530.下列程序运行后的输出结果是()。main(){inti,n=0;for(i=2;i5;i++){do{if(i%3)continue;n++;}while(!i);n++;}printf(n=%d\n,n);}A.n=5B.n=2C.n=3D.n=431.下列程序运行后的输出结果是()。voidmain(){intm=4,n=2,k;k=fun(m,n);printf(%d\n,k);k=fun(m,n);printf(%d\n,k);}fun(intx,inty){staticintn=3,i=2;i+=n+1;n=i+x+y;return(n);}A.12B.12C.12D.1252523121632.下列程序运行后的输出结果是()。voidsort(inta[],intn){inti,j,t;for(i=0;in-1;i+=2)for(j=i+2;jn;j+=2)if(a[i]a[j]){t=a[i];a[i]=a[j];a[j]=t;}}main(){intaa[10]={1,2,3,4,5,6,7,8,9,10},i;sort(aa,10);for(i=0;i10;i++)printf(%d,,aa[i]);printf(\n);}A.1,2,3,4,5,6,7,8,9,10,B.10,9,8,7,6,5,4,3,2,1,C.9,2,7,4,5,6,3,8,1,10,D.1,10,3,8,5,6,7,4,9,2,第二卷说明:(1)第二卷均为程序填空题,在阅读和理解程序的基础上,在第二卷答题卡上编号对应的栏目中填入适当的字符、语句,已构成一个正确的C语言程序。(2)每空栏3分,10空栏共30分。试题一:以下程序将两个数从小到大输出;main(){floata,b,1;scanf(2,&a,&b);if(ab){temp=a;3;b=temp;}printf(%f,%f,a,b);}试题二:以下程序是打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153:是一个“水仙花数”,以为153=1*1*1+5*5*5+3*3*3.main(){inti,j,k,n;printf('waterflower'numberis:);for(n=100;4;n++)6{i=n/100;j=5;k=n%10;if(6)printf(%-5d,n);}printf(\n);}试题三:以下程序通过写一函数求一个字符串的长度,在main函数中输入字符串,并输出其长度。main(){intlen;7;printf(pleaseinputastring:\n);scanf(%s,&str);len=8;printf(thestringhas%dcharacters.,len);}length(char*p){intn;n=0;while(9){10;p++;}returnn;}参考答案第一卷、选择题12345678910DCACBACDDB11121314151617181920ADBDACCACB21222324252627282930CDABBCDABD3132AC第二卷填空题1、temp2、%f%f3、a=b4、n10005、(n-i*100)/106、n==i*i*i+j*j*j+k*k*k7、charstr[100]8、length(str)9、*p!='\0'10、n++7(广西区)二级C语言试题卷2011年6月25第一部分:基础知识B.构成C语言源程序的基本单位是()。A.文本B.语言C.函数D.过程C.以下叙述中不正确的是。A.在不同的函数中可以使用相同名字的变量B.函数中的形式参数是局部变C.在一个函数内定义的变量只在本函数范围内有效D.在一个函数内的复合语句中定义的变量在本函数范围内有效D.以下能正确定义一种新类型名的是()。A.typedef(int*)Pint;B.typedefPint=(int*);C.typedefPint(int*);D.typedef(int*)=pint;E.能正确表示逻辑关系“x小于等于10且x大于等于0”的C语言表达式是()。A.x=10andx0B.x=10||x0C.x=10orx0D.x=10&&x=0F.如果a=2,b=3,c=4,d=5,条件表达式ab?a:cd?d:c的值是()。A.2B3C4D5G.判断字符串a和b是否相等,应当使用()。A.if(a=b)B.if(strcmp(a,b))C.if(a==b)D.if(strcpy(a,b))H.下列选项中,合法的C语言关键字是。A.singnedB.integerC.FloatD.Char8.已知floatx=2.5,y=4.7;则表达式x+(int)(x+y)%2/4的值是()。A.2.500000B.2.750000C.3.500000D.0.0000009.若有定义:inta[5];则a数组中首元素的地址可以表示()。A.&aB.a+1C.aD.&a[1]10.程序段“for(k=2;k==0;)printf(%d,k--);”的循环次数是()次。A.无限B.2C.1D.011.C语言程序中简单变量