资源描述:
《C语言指针习题集.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第8章指针二、习题(一)、是非题1.运算符“*”有时是单目运算符,有时又可能是双目运算符。A.对B.错2.取地址运算符“&”与指针运算符“*”的优先级相同,结合方向为自右向左。A.对B.错3.指针变量的类型不是该变量本身的类型,而是它所指向的变量的类型。A.对B.错4.指针变量不可以作为函数的参数。A.对B.错5.&b指的是变量b的地址所存放的值。A.对B.错6.语句int*p;定义了一个指针变量p,其值是整型的。A.对B.错7.语句“int*p;”中*p的含义为取值。//定义指针变量A.对B.错8.一个变量
2、的地址就称为该变量的“指针”。A.对B.错9.语句inti,*p=&i;是正确的C定义。A.对B.错10.变量的指针,其含义是指该变量的一个标志。A.对B.错11.void类型的指针不指向某种类型的数据,所以没有意义。A.对B.错12.表达式*p++的运算顺序为先自增后取值。A.对B.错13.C语言中,执行表达式(*p)++后p的指向改变了。A.对B.错14.两个指针相加没有意义。A.对B.错15.若有定义:int*p1,*p2,m=3,n;,则p1=&m;p2=p1;是正确的赋值语句。A.对B.错16.已知
3、inta[4],*p;,则语句p=&a;是正确的。//p=a;A.对B.错17.char*name[5]定义了一个一维指针数组,它有5个元素,每个元素都是指向字符数据的指针型数据。A.对B.错18.*(&a[i]+j)与a[i][j]的含义相同。A.对B.错19.若有定义:int(*p)[4];,则标示符p是一个指针,它指向一个含有四个整型元素的一维数组。A.对B.错20.设有以下定义:char*c[2]={"12","34"};,表示c数组的两个元素中分别存放了字符串"12"和"34"的首地址。A.对B.错
4、(二)、选择题1.变量的指针,其含义是指该变量的______。A.值B.地址C.名D.一个标志2.下面能正确进行字符串赋值操作的是______。A.chars[5]={"ABCDE"};B.chars[5]={'A','B','C','D','E'};C.char*s;s="ABCDE";D.char*s;scnaf("%s",&s);3.以下语句或语句组中,能正确进行字符串赋值的是______。。A.char*sp;*sp="right";B.chars[10];s="right";C.chars[10];
5、*s="right";D.char*sp="right";4.设有定义:char*c;,以下选项中能够使字符型指针c正确指向一个字符串的是______。A.charstr[]="string";c=str;B.scanf("%s",c);C.c=getchar();D.*c="string";5.下列语句中,正确的是______。A.char*s;s="Olympic";B.chars[7];s="Olympic";C.char*s;s={"Olympic"};D.chars[7];s={"Olympic"}
6、;6.已有定义intk=2;int*p1,*p2;且p1和p2均已指向变量k,下面不能正确执行的赋值语句是______。A.k=*p1+*p2;B.p2=k;C.p1=p2;D.k=*p1*(*p2);7.若有定义:doublea[10],*s=a;,以下能够代表数组元素a[3]的是______。A.(*s)[3]B.*(s+3)C.*s[3]D.*s+38.若有定义inta[5],*p=a;,则对a数组元素的正确引用是______。A.*&a[5]B.a+2C.*(p+5)D.*(a+2)9.若有定义语句:
7、doublea,*p=&a;以下叙述中错误的是______。A.定义语句中*是一个间接访问运算符B.定义语句中*号只是一个说明符C.定义语句中p只能存放double类型变量的地址D.定义语句中,*p=&a把变量a的地址作为初始赋给指针变量p10.若有程序段:charstr[]="china";char*p;p=str;则下列叙述正确的是______。A.*p与str[0]相等B.str数组长度和p所指向的字符串长度相等C.str和p完全相同D.数组str中的容和指针变量p中的容相等11.若有语句int*poi
8、nt,a=4;和point=&a;下面均代表地址的一组选项是______。A.a,point,*&aB.&*a,&a,*pointC.&point,*point,&aD.&a,&*point,point12.以下选项中,对指针变量p的正确操作是______。A.inta[5],*p;p=&a;B.inta[5],*p;p=a;C.inta[5];int*p=a=1000;D.inta[5];int*