练习7指针_下发汇总_第1页
练习7指针_下发汇总_第2页
练习7指针_下发汇总_第3页
练习7指针_下发汇总_第4页
练习7指针_下发汇总_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

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

文档简介

1、第 7 单元 指针 一 单项选择题 1.若有以下定义,则对 int a5, *p=a; a 数组元素的正确引用是 A ) * a 数组元素地址的正确引用是 A)p+5 B)*a+1C) int *p; p=a; *(p+3)+=2; printf( “ %d,n%d“ ,*p,*(p+3); A)1,3B)3,6C) 1,6 4.有以下程序 D ) 1, 4 void main() int x8=8,7,6,5,0,0,*s; s=x+3; printf(%dn,s2); 执行后输出结果是 。 A) 随机值 B) 0 C) 5 5.有如下程序段 int *p,a=10,b=1 D) 6 p=

2、a=*p+b; 执行该程序段后,a的值为。 A) 12 B) 11 C) 10 D) 6若已定义a为int型变量,则是对指针变量 编译出错 p 的正确说明和初始化。 A int p= B int *p=a; C int *p=*a; D int *p= 7 已知下列说明语句: static int a=2,4,6,8 static int *p=a,a+1,a+2, a+3; int *q; q=p; 则表达式*(q+2)的值是。 A 6 B 2 C 4 D 8 8下面是一个初始化指针的语句:int *px=,其中指针变量的名字应该。 A *pxB aC pxD ,下面正确的说法是。 A px

3、 是一个指针,指向一个数组,数组的元素是整数型。 B px 是一个数组,其数组的每一个元素是指向整数的指针。 C A和B均错,但它是 C语言的正确语句。 DC语言不允许这样的语句。 11具有相同基类型的指针变量p和数组y,下列写法中不合法的是。 A p=yB *p=yi C p= , 则表达式*(p0+1)+*(q+2) 的值是。 A 5B 4C 6D 7 13.如下程序的执行结果是 。 #include void main( ) static int a 4=1,3,5,7,9,11,13,15,17,19,21,23; int (*p)4, i=1,j=2; p=a; printf(“ n

4、%d“ , *(*(p+i)+j); A)9B)11C)13D)17 14 设有如下程序段 char s20= Beijing ,*p; p=s; 则执行p=s;语句后,以下叙述正确的是 A 可以用 *p 表示 s0 Bs数组中元素个数和p所指字符串长度相等 C s 和 p 都是指针变量 D 数组 s 中的内容和指针变量 p 中的内容相同 在 for(i=0;in;i+) s1 所指字符串中,其 15设int型变量i、n均已定义,指针变量s1、s2各指向一个字符串。 循环中,下列语句用以实现将s2所指字符串中前n个字符复制到 中代码正确的是。 A *s1+=*s2+; B s1n-1=s2n-

5、1; C *(s1+n-1)=*(s2+n-1); D *(+s1)=*(+s2); 16给出下列程序的运行结果 #include void main() static char a= language ,b= program char *ptr1=a,*ptr2=b; int k; for(k=0;k7;k+) if(*(ptr1+k)=*(ptr2+k) printf( %c,*(ptr1+k); 有语法错误 A gae B ga C language D 17以下程序执行后的输出结果是。 void fun1(char *p) char *q; q=p; while(*q!= 0 ) (*

6、q)+; q+; main() char a= Program,*p; p= fun1(p); printf( %sn,a); A Prohsbn B Prphsbn C Progsbn D Program 18以下程序执行后的输出结果是。 void swap(char *x,char *y) char t; t=*x; *x=*y; *y=t; main() char *s1= abc,*s2= 123; swap(s1,s2); printf( %s,%sn,s1,s2); A 123,abc B abc,123 C 1bc,a23 D 321,cba 19以下程序执行后的输出结果是。 m

7、ain() char *p=3697,2584; int i,j; long num=0; for(i=0;i2;i+) j=0; while(pij!=0 ) if(pij-0)%2) num=10*num+pij-0; j+=2; printf(%dn ,num); A 35 B 37 C 39 D 3975 20下列程序运行后的输出结果是。 void main() char str= The_Microsoft ; int n=4; sub(str,0,n-1); sub(str,0,strlen(str)-1); printf( %sn,str); sub(str,n1,n2) cha

8、r *str; int n1, n2; char c,*p; p=str+ n2; str=str+ n1; while(strvp) c=*str; *str=*p; *p=c; str+; p-; A tfosorciMThe_ B. ehT_Microsoft C tfosorciM_ehT D. Microsoft_The 二填空题 1以下程序的定义语句中,x1的初值是,程序运行后输出的内容是 main () int x=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,*p4,i; for(i=0; i4; i+) pi= printf(%d, pi0);

9、 printf( n); 2以下程序的输出结果是 。 void swap(i nt *a, int *b) int *t; t=a; a=b; b=t; main () int i=2,j=5,*p= swap(p,q); printf( %d %dn,*p,*q) 3以下程序的输出结果是 。 main () int a5=2,4,6,8,10, *p; p=a; p+; printf(%(, *p); 4以下程序的输出结果是 。 #defi ne M 5 #defi ne N M+M main () int k; k=N*N*5; printf( %dn,k); 5 若有定义语句:int a

10、4=0,1,2,3,*p;p=则 +(*p)的值是 。 6 若有定义:int a23=2,4,6,8,10,12;则*( for(i=0;i3;i+) pi= 则*p0引用的是a数组元素,*(p1+1)引用的是a数组元素 三程序填空题 1下面函数的功能是从输入的十个字符串中找出最长的那个串,请填空使程序完整。 void fun(char str1081,char *sp) int i; *sp =【1】; for(i=1;i10; i+) if(strle n( *sp)strle n(stri)【2】; 2下面函数的功能是将一个整数字符串转换为一个整数,例如:1234转换为1234,请填 空

11、使程序完整。 int chnu m(char *p) int num=0,k,le n,j; len=strle n( p); for(;【3】;p+) k= 【4】;j=(-le n); while( 【5】)k=k*10; num=nu m+k; return (nu m); 3下面函数的功能使统计子串substr在母串str中出现的次数,请填空使程序完整。 int coun t(char *str, char *substr) int i,j,k,num=0; for(i=0;【6 】;i+) for(【7 】,k=O;substrk=strj;k+,j+) if(substr 【8 】=0 nu m+ ; break ; return (nu m); 4下面函数的功能是用递归法将一个整数存放到一个字符数组中,存放时按逆序存放,如 483存放成“ 384”,请填空使程序完整。 void con vert(char *a, int n) int i; if(i=n/10)!=0) con vert(【9】,i); else *(a+1)=0; *a=【10】; 四程序编与 1. 编一程序,将字符串 computer赋给一个字符数组,然后从第一个字母开始间隔地输出该 串。请用指针完成。 2. 编写一函数 void swap(int *p,int *q

温馨提示

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

评论

0/150

提交评论