C语言习题课(指针)

上传人:痛*** 文档编号:244096044 上传时间:2024-10-02 格式:PPT 页数:25 大小:282KB
返回 下载 相关 举报
C语言习题课(指针)_第1页
第1页 / 共25页
C语言习题课(指针)_第2页
第2页 / 共25页
C语言习题课(指针)_第3页
第3页 / 共25页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,习题课,(函数指针),定义,含义,int i;,i,是整型变量,int*p;,p,是指向整型数据的指针变量,int aN;,a,是整型数组,它有,N,个整型元素,int*pN;,p,是指针数组,它由,N,个指向整型数据的指针元素组成,int f();,f,是返回值是整型的函数,int *p();,p,是返回一个指针的函数,该指针指向整型数据,int(*p)();,p,是指向函数的指针变量,该函数返回整型数据,int*p;,p,是指针的指针变量,它指向一个指向整型数据的指针变量,一、有关指针的数据类型,1,、指针变量,a,所指的字符串长度为(),这个长度是可以用,strlen(a),测出来的。,char*a=“nMy Name is”wang fei”.n”;,(1)26 (2)27 (3)28 (4)24 (5)23,2,、下面程序的作用是,将两个变量中的值互换,请检查程序是否正确,如不正确的,请改正。,#include,void main(),int a=3,b=4;,int *p1,*p2,*p;,p1=,p=p1;p1=p2;p2=p;,printf(“a=%d,b=%dn”,a,b);,这里改为:,int*p1,*p2,p;,这里改为:,p=,*,p1;,*,p1=,*,p2;,*,p2=p;,3,、已设,p1,和,p2,为指针变量,且已指向同一个整,型数组中的元素,,a,是一个整型变量,问下面,哪一个语句不能正确执行,?,(1)a=*p1 (2)a=*p1+*p2,(3)a=*p1-*p2 (4),p1=a-p2,4,、有一个二维数组,a34,,,2,行,3,列元素的正确表,示方法为()。,(1)&a23 (2)a2+3,(3)*(a+2)+3 (4)*(a2+3),5,、若有语句,:int a=4,*p=,下面均代表地址的一组选项是,:,1)a,p,&*a 2)*&a,&a,*p,3)&a,p,&*p 4)*&p,*p,&a,6,、以下程序段的输出结果为,:,char a=“Program”,*ptr;,ptr=a;,for(;ptra+7;ptr+=2)putchar(*ptr);,1)Program 2)Porm,3),有语法错误,;4)Por,7,、下面说明不正确的是:,1)int*a4;3)float(*p)();,2)int*p;4)char*(*a);,8,、以下程序段的输出结果为:,#include,void main(),int s=1,2,3,4,5,6,7,8,9,*p;,p=s;,*(p+5)=22;,p+;,printf(%d,%dn,*p,*(p+4);,输出结果是:,2,22,9,、,下列程序的输出结果是:,#include,void main(),int a5=2,4,6,8,10,*p,*k;,p=a;k=,printf(%d,*(p);,printf(%dn,*k);,A)4 4 B)2 2,C)2 4D),结果错误,10,、写出下面程序的运行结果。,#include stdio.h,#include string.h,void main(),char a30=nice to meet you!;,int b;,b=strlen(a)-9;,strcpy(a+b,you);,printf(%sn,a);,运行结果:,nice to you!,11,、下列程序的输出结果是多少?,#include,void fun(int*a,int*b),int k;,k=5;,*a=k;,*b=*a+k;,void main(),int*a,*b,x=10,y=15;,a=,b=,fun(a,b);,printf(%d,%dn,*a,*b);,printf(%d,%dn,x,y);,运行结果:,5,10,5,10,12,、以下程序段的输出结果是,(),#include,void main(),int a10=9,8,7,6;,int*p;,p=a;,printf(%d,%dn,*p,*(p+2);,运行结果:,9,7,13,、已有变量定义和函数调用语句:,int a=25;print_value(,下面函数的正确输出结果是,(),。,void print_value(int*x),printf(%dn,+(*x);,A,),23,B,),24,C,),25,D,),26,14,、阅读下面程序,输出结果是多少?,#include stdio.h,void main(),int c6=1,2,3,4,5,6;,int*p;,p=c;,printf(%d,*+p);,p=p+3;,printf(%dn“,*p-);,运行结果:,2,5,15,、阅读下面程序,则程序的输出结果是多少?,#include,void main(),int i;char*p;,char*name=Ann,Hare,Jack,Mary;,printf(n Studentss names are:n);,for(i=2;i=0;i-,i-),printf(%c,*pi);,printf(n);,运行结果:,SO,#include,void main(),char*month13=january,february,march,april,may,june,july,august,september,october,november,decenber;,int n;,printf(input month:);,scanf(%d,printf(%sn,*(month+n-1);,编一个程序,输入月份号,输出该月份的英文月名。,有,n,个整数,使前面各数顺序向后移,m,个位置,最后,m,个数变成最前面,m,个数。,#include,void input(int*p,int n),int i;printf(,请输入,%d,个整数:,n);,for(i=0;in;i+)scanf(%d,p+i);,void output(int*p,int n),int i;,for(i=0;i=p;h-),for(i=0;im;i+),t=*(h+i);,*(h+i)=*(h+i+1);,*(h+i+1)=t;,void main(),int m,a10;,input(a,10);,output(a,10);,printf(,请输入要把后面多少个整数移动到前面?,);,scanf(%d,move(a,10,m);,output(a,10);,有一字符串,包含,n,个字符,写一函数,将此字符串中从第,m,个字符开始的全部字符复制成为另一个字符串。,#include,#define M 5/,从第个字符开始复制,(,可以行更改),/*,定义函数:把指针,head,处开头的字符串从第,m,个字符开始复制到指针,cpy,开头的字符数组*,/,char*stringcpy(char*head,int m,char*cpy),char*h,*c;/,定义两个工作指针,int i=0;,h=head;c=cpy;/,工作指针分别指向源字符串和目标字符串,while(i=m-1),h=head+i;,if(*h=0)break;,i+;,/,这个循环是为了把指针,h,指向第,m,个字符,while(*h!=0),*c=*h;,c+;h+;,/,这个循环是从第个字符开始逐个字符进行复制,*,c=*h;/,复制源字符串末尾的字符,0,return cpy;/,给函数返回目标字符串首地址,void main(),char c181,c281;/c1,是源字符串,,c2,是目标字符串,printf(,请输入源字符串:,n);,gets(c1);/,输入源字符串,printf(,目标字符串是:,n);,puts(stringcpy(c1,M,c2);/,输出目标字符串,有,N,个人围成一圈,顺序排号,从第一个人开始报数(从一到三报数),凡报到三的人退出圈子,问最后留下的是原来第几号的那位?,#include,void main(),int i,k,m,n,num50,*p;,scanf(%d,p=num;,for(i=0;in;i+),*(p+i)=i+1;,i=0;k=0;m=0;,while(mn-1),if(*(p+i)!=0)k+;,if(k=3),*(p+i)=0;,k=0;,m+;,i+;,if(i=n)i=0;,while(*p=0)p+;,printf(%dn,*p);,i,是数组计数变量,k,是按,1,2,3,报数是的,计数变量,m,是退出的人数的计数变量,P,1,2,3,4,5,0,0,0,0,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!