资源描述:
《江苏省计算机二级真题》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、09年春季C语言部分21.以下定义和声明中,语法均有错误的是____(21)_________①intj(intx){}②intf(intf){}③int2x=1;④struetfor{intx;};A.②③B.③④C.①④D.①②③④22.设有定义和声明如下:#defined2intx=5;floatY=3.83;charc='d';以下表达式中有语法错误的是_(22)______A.x++B.y++C.c++D.d++23.以下选项中,不能表示函数功能的表达式是___(23)______。A.s=(X>0)?1:(X<
2、0)?-1:0B.s=X<0?-1:(X>0?1:0)C.s=X<=0?-1:(X==0?0:1)D.s=x>0?1:x==0?0:-124.以下语句中有语法错误的是____(24)______。A.printf("%d",0e);B.printf("%f",0e2);C.printf("%d",Ox2);D.printf("%s","0x2");25.以下函数定义中正确的是___(25)_________。A.doublefun(doublex,doubley){}B.doublefun(doublex;doubleY)
3、{}C.doublefun(doublex,doubleY);{}D.doublefun(doubleX,Y){}26.若需要通过调用f函数得到一个数的平方值,以下f函数定义中不能实现该功能的是_____(26)______。A.voidf(double*a){*a=(*a)*(*a);}B.voidf(doublea,double*b){*b=a*a;}C.voidf(doublea,doubleb){b=a*a;}D.doublef(doublea){returna*a;}27.设有声明"intP[10]={1,2},
4、i=0;",以下语句中与"P[i]=P[i+1],i++;"等价的是____(27)_______。A.P[i]=P[i++];B.P[++i]=P[i];C.P[++i]=P[i+1];D.i++,P[i-1]=P[i];28.已知有声明"chara[]="Itismine",*p="Itismine";",下列叙述中错误的是28。A.strcpy(a,"yes")和strcpy(p,"yes")都是正确的B.a="yes"和p="yes"都是正确的C.*a等于*pD.sizeof(a)不等于sizeof(p)29.已知
5、有声明"inta[3][3]={0},*p1=a[1],(*p2)[3]=a;",以下表达式中与"a[1][1]=1"不等价的表达式是29。A.*(p1+1)=1B.p1[1][1]=1C.*(*(p2+1)+1)=1D.p2[1][1]=130.设有结构定义及变量声明如下:structproduct{charcode[5];floatprice;}y[4]={"100",100}"以下表达式中错误的是____(30)_____。23A.(*y).code[0]='2';B.y[0].code[0]='2';C.y->pr
6、ice=10;D.(*y)->price=10;选择答案:BDCAACDBBD二、填空题1.在一个C语言源程序中,必不可少的是(1)。2.若有声明"intx;"且sizeof(x)的值为2,则当x值为(2)时"x+1>x"为假。3.若有声明"floaty=3.14619;intx;",则计算表达式"x=y*100+0.5,Y=x/100.0"后y的值是(3)。4.执行以下程序段中的语句"k=M*M+1"后k的值是(4)#defineN2#defineMN+1k=M*M+1:5.以下程序运行时输出结果是(5)#include
7、voidmain(){doublex[3]={1.1,2.2,3.3},Y;FILE*fp=fopen("d:\a.out","wb+");fwrite(x,sizeof(double),3,fp)"fseek(fp,2L*sizeof(double),SEEK_SET);fread(&y,sizeof(double),1,fp)"printf("%.1f",y);fclose(fp)"}6.以下程序运行时输出结果是(6)。#includevoidmain(){intk=5,n=0;w
8、hile(k>0){switch(k){case1:case3:n+=1;k--;break"default:n=0;k--;case2:case4:n+=2;k--;break;}}printf("%3d",n);}}7.以下程序运行时输出结果是(7)。#includevoidcha