C语言程序设计26指针习题课_第1页
C语言程序设计26指针习题课_第2页
C语言程序设计26指针习题课_第3页
C语言程序设计26指针习题课_第4页
C语言程序设计26指针习题课_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、练习题,1.,假如,p,是一个指针变量,下列表达式中正确的是,_,。,A *(p-)-=2 B (+p)+ C +(p+) D +p+,答案:,A,2.,假定有数组,a37,下列表达式中,_,是错误的。,A *(*a+2) B *(*(a + 1) C *(,正确赋值语句是(,),A pa = a1; B pa = *(a+1);,C pa = ,答案:,D,6.,假定有数组,int a44,下列表达式中,_,不是,a23,的地址。,A a2 +3 B *(a+2)+3 C B double * arr510;,C double arr510; D double * arr10;,答案:,B,

2、8.,假定有,int a37, *pt, (*pa)7;,下列语句,_,是错误的。,A pt=,答案:,D,9.,对表达式,char * (* pa3)(char *),的正确理解为,_,。,A pa,是一个返指针的函数数组,需要一个字符指针参数,B pa,是一个需要字符指针参数的函数,该函数返回,char *,型,C,该函数是一个返回,char *,型的需要一个,char *,参数指针数组,D,由,3,个指针组成的数组,每个指针指向返回,char *,型,需要,char *,型参数的函数,答案:,D,10.,假如有语句,char * s1 = “abc”; char s2 = “xyz”;,

3、下列,_,语句是错误的。,A *s1+; B *s2+; C *(s1 + 1); D *(s2 + 1);,答案:,B,11.,执行下列语句后,屏幕上输出的是,_,。,#define TEST,char s = “xyz”, *p = s;,#ifndef TEST,while(*p+); while(-,p = s) printf(“%c”,*p);,#else,while(*p) printf(“%c”,*p+);,#endif,A xyz B zyx C,无输出,D,乱码,答案:,A,12.,对表达式,int * (*fp5)(char *),的正确理解为,_,。,A fp,是一个返指

4、针的函数,需要一个字符型指针参数,B fp,是一个需要字符型指针参数的函数,该函数返回,int *,型,C fp,是一个指向一个返回,int *,型的需要一个,char *,参数的函数,指针,D fp,是一个指针数组、数组的元素是指向返回,int *,需要,char *,做参数的函数的指针,答案:,D,13.,已知函数,fn,原型是:,char * fn( char * (*)(char), char * ),且,有,char * v1;,char * v2 ; char * fp(char);,正确的函数调用语句是(,),A fn(fp(3),v2); B fn(v1,v2); C fn(f

5、p,答案:,D,14.,设有,int arr33, * p, (*pa)3;,表达式,( ),的类型是,int *,型,:,A arr B *s = *t; s+, t+),if(*s = ,0) return 0;,return *,(,s,t,),;,答案:,9. /* strcmp: return 0 if st */,#include ,int strcmp (char *s,char *t) for(; *s = *t; s+, t+),if(*s = ,0) return 0;,?,if(*s =,=,0),return *,(,s,t,),; ,?,return *s,*t;,改

6、错,2.,下列函数的功能是用冒泡法对,6,个字符串由小到大排序。,void bubblesort(int * a6) int i,j; char *p;,for(j = 0; j 5; j+),for(i=j + 1; i 6; i+),if(strcmp(*(a+j),a + i) 0) ,p = *(a+j); *(a+j) = a+i; *(a+I) = p; , ,答案:,void bubblesort(,char,* a6) int i,j; char *p;,for(j = 0; j 5; j+),for(i=j + 1; i 6; i+),if(strcmp(*(a+j),a +

7、 i) 0) ,?,if(strcmp(*(a+j),*(a+i) 0),p = *(a+j); *(a+j) = a+i; *(a+,i,) = p; ,?,*(a+j) = *(a+i);, ,改错,3.,函数,revs,将一个字符串反转,void revs(char * s) char t, * p = s;,while(*p+); p-;,while(p- s) t = *p; *p = *s; *s = t; ,答案:,void revs(char * s) ,char t, * p = s;,while(*p+); p-;,while(p- s) ,改为,(,-p s),t = *

8、p; *p = *s; *s = t; ,*s+ = t;,或,*s = t; s+;,改错,4.,下列程序的功能是将两个字符串链接起来,#include ,void strcat (char *s,char *t) ,for(; *s+;);,s+;,while(*s = *t),s+; t+;,答案:,#include ,void strcat (char *s,char *t) for(; *s+;);,s+;,?,删除该行,while(*s = *t),?,将,s+;t+;,用, ,扩起来,s+; t+; ,改错,5.,函数,double fn(int * x),的功能是计算整型数组,

9、x,中所有正,数的平均值并返回。该数组用,0,作为结束标志。,double fn(int * x) int sum = 0.0; int c = 0;,while(*x) ,if(*x 0) sum += *x; c+; ,x+; sum = c; return sum; ,答案:,double fn(int * x) int sum = 0.0; int c = 0;,?,float sum = 0.0;,while(*x) ,if(*x 0) sum += *x; c+; ,x+; sum = c; return sum; ,?,sum /= c;,分析下面程序的运行结果,int a3 3

10、=10,9,8,7,6,5,4,3,2;,int *pa3=a0,a1,a2;,int *p=a0;,main ( ) ,int i;,for (i = 0 ; i3 ; i+),printf(%dt%dt%dn, *ai, *(*(pa+i) , p i) ; ,10 10 10,7 7 9,4 4 8,六,.,假定内存的初始分配如下图左方所示,执行下述语句后,,分析内存分配情况,将结果写在右边内存示意图相应位置。,short *pi,*pj,t;,long *pl;,double *pd;,*pd += (double)*pi;,pi = ,*pi = (short)*pl;,pj = p

11、i;,*pj /= 3;,+pj; +*pj;,六,.,假定内存的初始分配如下图左方所示,执行下述语句后,,分析内存分配情况,将结果写在右边内存示意图相应位置。,short *pi,*pj,t;,long *pl;,double *pd;,*pd += (double)*pi;,pi = ,*pi = (short)*pl;,pj = pi;,*pj /= 3;,+pj; +*pj;,编写一个函数,delodds,。功能是从字符串,s,中删除,所有,ASCII,码位奇数的字符,串中剩余字符形成一,个新串放在,t,所指的数组中。函数原型如下:(,10,分),void delidds(char * s, char t ),void delodds(char * s, char t),int i,j = 0,n;,n = strlen(s);,for(i = 0; i n; i+),if(si % 2 = 0),tj+ = si;,tj = 0;,六,.,分析下面程序的运行结果,(10,分,),#include ,void main() ,char s1 = “gawsie”; char s2 = “bletonism”;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论