资源描述:
《【c语言指针模拟测试题_答案】》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、C语言指针部分模拟测试题一、选择题1.语句inta=10,*point=&a; D 其值不为地址。A.pointB.&aC.&pointD.*point2.若p为指针变量,y为变量,则y=*p++;的含义是AA.y=*p;p++B.y=(*p)++C.y=p;p++D.p++;y=*p3.语句charstr[]=”visualC++”;char*p=str;则p的值为BA.”visualC++”B.str的首地址C.D.”v”4.设有说明语句char*s[]={“student”,”Teacher”,”Father”,”Month”},*ps=s[
2、2];执行语句:printf(“%c,%s,%c”,*s[1],ps,*ps);则输出为AA.T,Father,FB.Teaher,F,FatherC.Teacher,Father,FatherD.语法错,无输出5.下列说明或赋值语句,不正确的是 C A.char*p;p=”VisualC++”;B.charp1[12]={‘v’,’i’,’s’,’u’};C.charp2[12];p2=”VisualC++”D.charp3[]=”Visual”;6.现有intb[3][4],*p;p=(int*)b;若要指针p指向b[2][3],以下正确的是
3、B A.p+=3*4+3B.p+=2*4+3C.p+=(3*4+3)*sizeof(int)D.p+=(2*4+3)*sizeof(int)7.语句inti,*p1,**p2;以下语句语法不正确的是 B A.p1=&i;B.p2=&i;C.p2=&p1;D.i=’ x23’;8.如下图结构体说明和变量的定义,p指向a,q指向变量b.下面不能把结点b连接到结点a之后的语句是BqpabdatanextdatanextA.a.next=q;B.p.next=&b;C.p->next=&b;D.(*p).next=q;9.下面正确的语句是AA.int
4、a[3][4],(*p)[4];p=a;B.inta[3][4],*p[4];p=a;C.inta[3][4],*p;p=a;D.inta[3][4],**p;*p=a;10.以“追加”方式打开文本文件a:aa.dat,下列语句中哪一个是正确的是BA.fp=fopen("a:\aa.dat","ab");B.fp=fopen("a:\aa.dat","a");C.fp=fopen("a:\aa.dat","r+");D.fp=fopen("a:\aa.dat","w");11.设有函数定义:intf1(void){return100,150;}调
5、用函数f1()时,B7A.函数返回值100B.函数返回值150C.函数返回二个值100和150D.语句return100,150;语法错.1.数组作为函数的形参时,把数组名作为实参,传递给函数的是AA.该数组的首地址B.该数组的元素个数C.该数组中的各元素值D.该数组的大小2.执行以下语句序列:则Aenum{Sun,Mon,Tue,Wed,Thu,Fri,Sat}c1,c2;//Ac1=Mon;//Bprintf(“%d”,c1);A.输出1B.输出2C.输出0D.B行语法错3.执行以下语句序列:则Cchar*p1=”Speaking”;//Achar*p
6、2=”English”;//Bchar*p3=”apieceofcake”;//Cchar*str[]={p1,p2,p3};//Dprintf(“%c”,*(str[0]+1));A.输出EnglishB.输出SpeakingC.输出pD.D行语法错二、填空题1.(2*2分=4分)下面程序的运行结果为16、2voidmain(){staticinta[3][2]={{12},{14,16},{1,2}};int*p=a[1];printf(“%d”,*(p+1));printf(“%d”,*(p+3));}2.(2*2分=4分)若有以下程序段,则
7、*(*(b+2)+1)的值为11,*(*(p+1)+1)的值为7staticintb[3][2]={1,3,5,7,9,11};int(*p)[2];p=b;3.(1*4分=4分)下面程序的运行结果为26#includevoidsub(int*x,inti,intn){if(n<=i)sub(x,i,3*n);7*x+=n++;}voidmain(){intx=0;sub(&x,12,2);printf(“%d”,x);}4.(2*2分=4分)以下程序运行结果为_Hello,world_、ello,worldvoidmain(){ ch
8、ar*p,*q; charstr[]="Hello,World