书签 分享 收藏 举报 版权申诉 / 12
上传文档赚钱

类型C语言指针习题及答案.doc

  • 上传人(卖家):吉庆会
  • 文档编号:5855993
  • 上传时间:2023-05-12
  • 格式:DOC
  • 页数:12
  • 大小:41KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《C语言指针习题及答案.doc》由用户(吉庆会)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    语言 指针 习题 答案
    资源描述:

    1、指针主要内容得习题及答案一.选择题 1、变量得指针,其含义就是指该变量得 B 。A)值 B)地址 )名 D)一个标志、已有定义int =2;nt p,*tr2;且ptr1与pr2均已指向变量k,下面不能正确执行得赋值语句就是 B 。A)k=pt1+*2 B)tr2= C)ptr=pt2 D)=ptr1*(*pr2)、若有说明:int *p,m,n;以下程序段正确得就是 D 。)p=n ; B)p=&n ; snf(“%d”,&p); scaf(“d”,*);C)scnf(“%d”,&n); D)p n ; *p=n ; *p = ;4、已有变量定义与函数调用语句: 2;prn_value(a)

    2、;下面函数得输出结果就是 D 。voidprntvae(in x) ritf(“%dn”,+*x); A) B)2 )25 D)5、若有说明:int ,p2,m=5,n;以下均就是正确赋值语句得选项就是 C 。A)p=&m; p2=&p1; B)p1=&m; p2&n; *p1=*2 ;C)p1=&m; 2=; )p1=&; *p1=*p;、若有语句:int*p,=4;与p=&a;下面均代表地址得一组选项就是 D 。A)a,*&a B)a,&,p C)&p,*p,&a D)a,&*p,p、下面判断正确得就是 C 。A)cr *a”chia”; 等价于char *a; a”chia” ;)cha

    3、 s=“chn”; 等价于char st10; r =“hn”;C)chrs=”cia”; 等价于 cha s; s=”chin” ;D)a c4”ac”,d4=”abc”;等价于 chr c4=d4=”ac”;8、下面程序段中,for循环得执行次数就是 C 。chr*s=”ta0b” ;for ( ; *s!=0 ; +) rtf(“*”) ;A) B)7 C)6 D)9、下面能正确进行字符串赋值操作得就是 C 。A)chars5=“ACD”; B)car=A,B,E;C)char *s; s=”ACE” ; )ha *s; can(“%s”,s);0、下面程序段得运行结果就是 C 。cr

    4、*s=”abcde” ;s2 ; printf(“%d”,);A)d B)字符c C)字符c得地址 D)不确定1、设1与p2就是指向同一个字符串得指针变量,c为字符变量,则以下不能正确执行得赋值语句就是 。)c=*p1+p2 )2c C)1p2 D)=p(*p2)12、设有程序段:char ”cina”; ca* ;p= ;则下面叙述正确得就是 。)s与完全相同B)数组中得内容与指针变量p中得内容相等C)s数组长度与p所指向得字符串长度相等)*p与s0相等13、以下与库函数strcpy(cha *p1,cr *p2)功能不相等得程序段就是 D 。A)strcpy1(car *p1,char *

    5、2) while (*p1+=*2+)!=) ;B)srcpy2(ha *,chr*p2) hile (*pp2)!0) p1+; p2+ )rcy3(har *p1,har 2) whl (*p1+=*p2+) ; )strcpy(char *p1,ha *p2) whil (p2) p+*p+ ; 、下面程序段得运行结果就是 C 。 chara =”lnguag”,*p ; pa ; whle (*p!=) prinf(“%c”,*p32); p+ ; A)LANGUAGE )lguae C)LAN D)angUG1、以下与库函数srcp(ca*s,car *t)功能相等得程序段就是 C

    6、。A)rcmp1(char*s,char *t) or (; *s+=*t+; )i (* 0) retu 0 ;rtu (-t); B)strcp2(cha s,car *) o ( ; *s=*t+; ) if (!) rtn ;tun (*s-*t); )strcmp3(chr *s,ar*t) or(; = *s; ) if (!*)eurn 0 ; t+; s+ ; rturn (*s-t) ; D)strcmp(har *,chr *) for ( ; *s=*t;+, t+ ) i (!*s) rtur 0;eun (*t*s) ; 1、以下说明不正确得就是 D 。A)char0

    7、=”hia” ; B)cara10,p=a; ”china”;C)hara; a=”hn” ; )car a10,*p; p=a”chna”;18、设有说明语句:ha=”It s ne”;har *p=”It sine”;则以下不正确得叙述就是 。A)a1表示得就是字符t得地址 B)p指向另外得字符串时,字符串得长度不受限制C)p变量中存放得地址值可以改变D)a中只能存放10个字符1、若已定义chr 10;则在下面表达式中不表示1得地址就是 B 。)s+ B)s+ )+ D)&20、若有定义:int 5,*p=a;则对a数组元素得正确引用就是 D 。)&5 B)a2 C)*(p5) )(a+2

    8、)、若有定义:n 5,*p=a;则对a数组元素地址得正确引用就是 D 。A)p+ B)*a+ C)&a+ D)&a022、若有定义:int a23;则对a数组得第i行第列元素值得正确引用就是 A 。A)*(*(+i)+j) )(a+) C)(a+i+j) D)*(a+)+j23、若有定义:nt a23;则对数组得第行第列元素地址得正确引用就是 D 。A)*(ai+j) B)(a+i) C)*(a+j) )ai+j24、若有程序段:int a3,()3;p=a;则对数组元素地址得正确引用就是 。A)*(+2) B)p2 C)1+1 D)(p+1)25、若有程序段:int a23,(*)3; p=

    9、a;则对a数组元素得正确引用就是 C 。A)(p+)0 B)*(*(+2)+1) C)(p11) D)p+22、若有定义:nt a5;则a数组中首元素得地址可以表示为 。A)&a B)+1 C)a D)&a127、若有定义:it (*)4;则标识符p 。A)就是一个指向整型变量得指针B)就是一个指针数组名C)就是一个指针,它指向一个含有四个整型元素得一维数组D)定义不合法28、以下与int*q;等价得定义语句就是 。A)int q5 B)int * C)nt *(q5) )int (*q)529、以下正确得说明语句就是 B 。)in *b=1,3,5,,9 ;B)nta5,*nm5=a,&a1

    10、,&a,3,&a4;C)int a=1,3,5,7,9; it *num5=,a1,a,a3,4;)int 34,(*m)4;nu1=&a13;30、若有定义:int 46,*p,*q4;且4,则不正确得赋值语句就是 。A)qi=b; )p=; C)=b; D)q=&02、若要对进行自减运算,则应有下面说明 。A)inp; B)it; C)chr 3 )int b10; in*ap; ina&k; t *=b+1;33、以下选项中,对指针变量p得正确操作就是 B 。A)t a3, *p; B)nt a5, p; C)int; D)nt a5p=&a; a; int *p=a=10; int*p

    11、1,*pa; *p1=p2;34、若有定义:in x10=,1,2,3,5,,,8,9,p1;则数值不为3得表达式就是 。A)x3 B)p=+3,*1+C)p1=x,*(1+) D)p1+2,*+p13、下面程序段得输出就是 C 。t =2,4,6,10,12,14,16,1,2,22,2,q4,k;or (=01; k4; k+) qk=ak*;print(“dn”,30);A)8 B)16 C)0 D)输出不合法6、若要对进行自增运算,则a应具有下面说明 D 。A)in 32; B)char *a =“12”,”ab”;C)har(*a) 3 D)int1, *=b;3、若有定义it a4

    12、6;则能正确表示a数组中任一元素ij(,j均在有效范围内)地址得表达式 。A)&+i+j B)&a0+jC)04*+j D)06*j+I3、下面程序得运行结果就是 B 。man ( ) in x=,6,8,10,*,*pp ; p= , pp = & ; rf(“%d”,*(p+)); rintf(“%3d”,*p);A)4 4 ) 4 )2 2 D)4 639、若有定义it 431,3,5,6,7,,9,1,,12; int()3=x ; 则能够正确表示数组元素x12得表达式就是 D 。)*(*+1)2) )(1)+2C)(*(p5) D)*((p1)2)40、若有说明:car *laua“

    13、FTRA”,”ASI”,”ASCAL”,”JAVA”,”C”;则anguae2得值就是 B 。A)一个字符 B)一个地址 C)一个字符串 )一个不定值41、设有定义:char 2=“123”,”5678”;则正确得叙述就是 A 。A)cc数组得两个元素中各自存放了字符串”1234”与”568”得首地址B)c数组得两个元素分别存放得就是含有4个字符得一维字符数组得首地址)cc就是指针变量,它指向含有两个数组元素得字符型一维数组D)cc元素得值分别维”1234”与”58”42、已有定义nt (*)( );指针p可以 。)代表函数得返回值 B)指向函数得入口地址C)表示函数得类型 D)表示函数返回值

    14、得类型43、已有函数max(,),为了让函数指针变量指向函数ax,正确得赋值方法就是 A 。)pmax; )p=ma(a,b); C)*px; D)=ax(a,b);、若有函数ax(a,b),并且已使函数指针变量p指向函数max,当调用该函数时,正确得调用方法就是 C 或 p(a,b) 。)(*p)m(a,b) B)*pmax(a,b); C)(*p)(,b); D )*p(a,);4、以下正确得叙述就是 C 。A)C语言允许mai函数带形参,且形参个数与形参名均可由用户指定B)C语言允许mai函数带形参,形参名只能就是arc与rgvC)当mai函数带有形参时,传给形参得值只能从命令行中得到)

    15、若有说明: in ain(it arc,car *rg),则argc得值必须大于1三.程序阅读题1、写出下面程序得运行结果。 5func(ha *,hara,in n)itj; *sa; j=n ; wle (*ssj) j- ; etn ;main ( ) har c6 ; n i ; fr (i1; i=5 ;i+) *(c+1)=Ai1; rintf(“%d”,fun(c,5);、写出下面程序得运行结果。 6u (ha *s) ha *p=s; le (*p) p+; rtur(p-s);man ( ) cha *a=”acde” ; printf(“%dn”,fun(a);3、写出下面

    16、程序得运行结果。 cdefgljihs(ch *,it t,in t2) charh; wle(t1t2) ch *(a+1); *(a+t)=*(at2) ; *(at2)= ; t1+ ; -; main ( ) char s12; in ; r (i;2;+)s=+i3; su(s,7,11); o (i=; i2 ; i+) itf(“%”,i); pintf(“n”);、当运行以下程序时,写出输入 得程序运行结果。97631su(ca *a,har) hle (*(+)!=0) ; wie (*(a1)0; j-) printf(“%s”,(-) ;四.程序填空题1、下面函数得功能就

    17、是从输入得十个字符串中找出最长得那个串,请填(2)空使程序完整。vdfun(char str101,ha *s) in i; *sp = 【1 st0 】; fr (i=;i10; i) f (strlen (p)strlen(stri))【2 *spsr 】;2、下面函数得功能就是将一个整数字符串转换为一个整数,例如:”134”转换为12,请填(3)空使程序完整。nt hnu(ar *p) int nu=0,k,en,j ; l = tren(p); fr ( ; 【1 *p!=0 】; +) 【2 *0 】; =(-en) ; whle (【3 j-!= 】) k=k*10; num =

    18、num ; return (nu);3、下面函数得功能使统计子串susr在母串sr中出现得次数,请填(3)空使程序完整。in ount(cha*sr,ha substr) ini,k,nm0; or ( i=0; 【 sri!= 】;i) for(【2 ji 】, k0; substrk= =srj; k+; j+) (ubstr 【3 】= =0) nu+;brea ; retrn(m) ;6、下面函数得功能就是将两个字符串s1与s2连接起来,请填(2)空使程序完整。vid coj(car *s,char *s2) whe (*s1) 【1 s+ 】; while (s2) *s1=【2 *s 】; s+,s+; *1= ;五.编程题、定义3个整数及整数指针,仅用指针方法按由小到大得顺序输出。2、输入10个整数,将其中最小得数与第一个数对换,把最大得数与最后一个数对换。写三个函数:输入10个数;进行处理;输出10个数。所有函数得参数均用指针。3、编写一个求字符串得函数(参数用指针),在主函数中输入字符串,并输出其长度。4、编写一个函数(参数用指针)将一个33矩阵转置。5、写函数原型为it str(chars1,char *s2);得函数,该函数实现两个字符串得比较(函数功能描述参见教材P137,scmp字符串处理函数)。、利用指向行得指针变量求53数组各行元素之与。

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:C语言指针习题及答案.doc
    链接地址:https://www.163wenku.com/p-5855993.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库