第10章 指针练习题1.ppt
上传人:sy****28 上传时间:2024-09-10 格式:PPT 页数:15 大小:276KB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

第10章 指针练习题1.ppt

第10章指针练习题1.ppt

预览

免费试读已结束,剩余 5 页请下载文档后查看

16 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

习题10.2变量的指针,其含义是指该变量的。A)值B)地址C)名D)一个标志10.3已有定义intk=2;int*ptr1,*ptr2;且ptr1和ptr2均已指向变量k,下面不能正确执行的赋值语句是。A)k=*ptr1+*ptr2B)ptr2=kC)ptr1=ptr2D)k=*ptr1*(*ptr2)10.4若有说明:int*p,m=5,n;以下程序段正确的是。A)p=&n;B)p=&n;scanf(“%d”,&p);scanf(“%d”,*p);C)scanf(“%d”,&n);D)p=&n;*p=n;*p=m;10.6要求函数的功能是交换x和y中的值,且通过正确调用返回交换结果。能正确执行此功能的函数是()。A)funa(int*x,int*y){int*p;*p=*x;*x=*y;*y=*p;}B)funb(intx,inty){intt;t=x;x=y;y=t;}C)func(int*x,int*y){*x=*y;*y=*z;}D)fund(int*x,int*y){*x=*x+*y;*y=*x-*y;*x=*x-*y;}10.7下面程序的输出结果是()。voidprtv(int*x){printf("%d\n",++*x);}voidmain(){inta=25;prtv(&a);}A)23B)24C)25D)2610.8执行以下程序后,y的值是()。voidmain(){inta[]={2,4,6,8,10};inty=1,x,*p;p=&a[1];for(x=0;x<3;x++)y+=*(p+x);printf("%d\n",y);}A)17B)18C)19D)20二、填空题10-a下面程序的输出结果是______。voidmain(){inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;printf("%d\n",*(p+2));}10-9.若已定义chars[10];则在下面表达式中不表示s[1]的地址是。A)s+1B)s++C)&s[0]+1D)&s[1]10-10若有定义:inta[5],*p=a;则对a数组元素的正确引用是。A)*&a[5]B)a+2C)*(p+5)D)*(a+2)10-11若有定义:inta[5],*p=a;则对a数组元素地址的正确引用是。A)p+5B)*a+1C)&a+1D)&a[0]10-12以下选项中,对指针变量p的正确操作是。A)inta[3],*p;B)inta[5],*p;C)inta[5];D)inta[5]p=&a;p=a;int*p=a=100;int*p1,*p2=a;*p1=*p2;10-13若有定义:intx[10]={0,1,2,3,4,5,6,7,8,9},*p1;则数值不为3的表达式是。A)x[3]B)p1=x+3,*p1++C)p1=x+2,*(p1++)D)p1=x+2,*++p110.2下面程序的输出结果是()。#include"stdio.h"voidmain(){char*p;chars[]="ABCD";for(p=s;p<s+4;p++)printf("%s\n",p);}A)ABCDB)AC)DD)ABCDBCDBCABCCDCBABDDAAA)ABCDB)AC)DD)ABCDBCDBCABCCDCBABDDAA10.4设有如下函数定义:intf(char*s){char*p=s;while(*p!='\0')p++;return(p-s);}如果在主程序中用下面的语句调用上述函数,则输出结果为()。printf("%d\n",f("goodbey!"));A)8B)6C)3D)010-6阅读下面的程序:#include<stdio.h>#include<string.h>voidfun(char*w,intm){chars,*p1,*p2;p1=w;p2=w+m-1;while(p1<p2){s=*p1++;*p1=*p2--;*p2=s;}}10-b设有如下的程序段:charstr[]="Hello";char*ptr;ptr=str;执行完上面的程序段后,*(ptr+5)的值为_____。10-c下面语句中的指针s所指字符串的长度是______。char*s="\t\"Name\\Addres\n";