资源描述:
《指针习题(C语言程序设计).ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第7章指针习题1.指针变量保存地址的变量叫指针变量2.指针变量的声明方式:数据类型*变量名;int*p;char*x;指针变量只占两个字节3.指针变量的赋值:给一个变量的地址inti;p=&ichara[10];x=a;4.指针指向的变量:给指针变量的值是哪个变量的地址,这个变量就叫指针指向的变量5.指针指向的变量的表示:*指针变量名*p=2;(i=2)int*q;intb[10];inti;q=&b[0];for(i=0;i<10;i++){scanf(“%d”,q);q++;}for(i=0;
2、i<10;i++){printf(“%d”,*q);q++}一、单项选择题(第188页)1.*p的最终值是()int*p,b=10;inta[]={2,3,4,1,5,6};p=a;p+=3;a[3]=b;A.1B.3C.4D.10p10b234156 a*paa+3*p10√2.*p的最终值是()char*p,b[10]=“abcdefghi”;inti;for(i=0,p=b;i<10;i++)*p++=*p+1;p=b+5;pib[0]b[1]b[2]b[3]b[4]b[5]b[6]b[7
3、]b[8]b[9]b[10]babcdefghi 0*pb*pb1b+1cb+2*pdefghij 01b+10b+5*p{*p=*p+1;p++;}210*pg3.已知p1和p2为指针变量,且已指向同一个整型数组的元素,a是一个整型变量,则下面无意义的语句是【】。p1:p2:a:*p1*p2A.a=*p1;B.a=*p1+*p2;C.a=p1-p2;D.p1=a-p2;7.pp+=2,*(++p)p+=2,*p++p+=3,p++p+=2,++*p1234567890数组a*p
4、*p*p*pBD4若有以下定义语句inta[]={1,2,3,4,5,6,7,8,9,0};*p=a;则值为3的表达式是()一单项选择题.8若有以下定义:chars[20]=“programming”,*ps=s;则下列不能代表字符o的表达式是()A.ps+2B.s[2]C.ps[2]D.s+=2,*ps;spsps+2*(ps+2)*(s+2)ps+=2,*ps;一单项选择题.10程序中对fun函数有如下说明:void*fun()此说明的含义是:A.fun函数无返回值B.fun函数的返回值可以是
5、任意的数据类型C.fun函数的返回值是无值型的指针类型D.指针fun()指向一个函数二、填空题1.设有以下定义和语句:inta[3][2]={10,20,30,40,50,60},(*p)[2];p=a;则*(*(p+2)+1)的值为_________60*(p[2]+1)p[2][1]*(p+2)[1]行指针变量pp+1p+2*p行指针列指针(元素指针)*(p+1)*(p+2)2.若有以下说明和语句,则在执行for语句后,*(*(pt+1)+2)表示的数组元素是________intt[3][3]=
6、{1,2,3,4,5,6,7,8,9},*pt[3],k;for(k=0;k<3;k++)pt[k]=&t[k][0];t[1][2]指针数组ptpt[0]pt[1]pt[2]123456789t元素表示:*(*(pt+i)+j)3.以下程序运行后输出结果是____main(){chars[]=“9876”*p;for(p=s;p