c实验练习题测试:test11

上传人:努力****83 文档编号:78093516 上传时间:2022-04-21 格式:DOC 页数:5 大小:37KB
返回 下载 相关 举报
c实验练习题测试:test11_第1页
第1页 / 共5页
c实验练习题测试:test11_第2页
第2页 / 共5页
c实验练习题测试:test11_第3页
第3页 / 共5页
点击查看更多>>
资源描述
实验十一 指 针(二)一、实验目的1.掌握指针变量的定义与引用。2.掌握指针与变量、指针与数组的关系。3.掌握用数组指针作为函数参数的方法。4.掌握字符指针和字符串的使用。二、实验内容1阅读、调试、运行程序,比较阅读的结果和运行的结果。(1)#include int b=2;int func(int *a) b+=*a; return(b); void main()int a=2,res=2;res+=func(&b);printf(%dn,res);(2)#includevoid main() static char a=Language,b=programe; char *p1,*p2; int k; p1=a;p2=b; for(k=0;k=7;k+) if(*(p1+k)=*(p2+k) printf(%c,*(p1+k); (3)#includevoid main() int x5=2,4,6,8,10,*p,*pp; p=x; pp=&p; printf(%d,*(p+); printf(%dn,*pp);(4)#includeint sub(int *s);void main() int i,k; for(i=0;i4;i+) k=sub(&i); printf(%2d,k); printf(n);int sub(int *s)static int t=0; t=*s+t; return t;(5)#include#define N 5int fun(char *s,char a,int n) int j; *s=a; j=n; while(*ssj) j-; return j;void main() char cN+1; int i; for(i=1;i=N;i+) *(c+i)=A+i+1; printf(%dn,fun(c,E,N);(6)#includevoid main() char a80,b80,*p=aAbcdDefgGH; int i=0,j=0; while(*p!=0) if(*p=a&*p=z) ai=*p;i+; else bj=*p;j+; p+; ai=bj=0; puts(a);puts(b);(7)#includevoid main()int a33=1,2,3,4,5,6,7,8,9,*p4,*q=p; for(int i=0;i3;i+) pi=&ai0; for( i=0;i3;i+) printf(%4d,*(*(q+i)+i);2. 完善程序,并调试运行(1)下面程序是判断输入的字符串是否是“回文”(顺读和倒读都一样的字符串,如level)。#include#include void main()char s81,*p1,*p2;int n;gets(s);n=strlen(s);p1=s;p2= ;while( )if(*p1!=*p2) break;elsep1+; ;if(p1p2) printf(non);else printf(yesn);(2)以下程序通过指针数组p和一维数组a构成如下所示的二维数组的左下半三角结构,然后输出。16 711 12 13 16 17 18 1921 22 23 24 25#include void main()int a15,*p5,i,j,in,n; for(i=0;i5;i+) in=i*(i+1)/2; pi=; for(i=0;i5;i+) n=1; for(j=0;j=i;j+) *(pi+j)=; n+; for(i=0;i5;i+) for(j=0;j+) printf(%-4d,pij); printf(n);(3)下面程序的功能是输出一个字符中以某个字符开始的子字符串。#include stdio.hchar * find(, char c)char *p=s; while(*p!=c&*p!=0) p+; ;void main()char a81,c,*p; scanf(%sn,a); c=getchar(); p=; puts(p);(4)下面程序是按逆序输出各字符串。#include stdio.hvoid main()char *str=Pascal,C language,Basic,Coble; char ; int k; p=str+3; for(k=0;k4;k+) printf(%sn,);3. 修正程序,并调试运行(1)下面程序的功能是输出数组b中的10个元素。#include stdio.hvoid main()int b10=1,2,3,4,5,6,7,8,9,10,k;/*found*/ for(k=0;k10;k+,b+)/*found*/ printf(%4d,*b);(2)本程序的功能是输出二维数组中每行最大的元素。#include stdio.hvoid main()int a44,*s4,i,j; for(i=0;i4;i+) for(j=0;j4;j+) scanf(%d,&aij); for(i=0;i4;i+)/*found*/ si=a+i; for(j=1;j4;j+) if(*siaij)/*found*/ si= aij; for(i=0;i4;i+)/*found*/ printf(%4d,si);
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 大学资料


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

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


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