




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验8 指针一、 实验目的1、通过实验进一步掌握指针的概念,会定义和使用指针变量;2、能正确使用数组的指针和指向数组的指针变量;3、能正确使用字符串的指针和指向字符串的指针变量;二、实验内容和步骤1、改错(1)指出下面程序错误的原因.main( )int x=10,y=5,*px,*py;px=py;px=&x;py=&y;printf(*px=%d,*py=%d,*px,*py);#includevoid main()int x=10,y=5,*px,*py;px=&x;py=&y;printf(px=%d,py=%d,*px,*py);(2)下面的程序试图有如下运行结果:which sty
2、le you want to :Capital ( c ) or uncapital ( a ):c COMPUTERWhich sytle you want to :Capital ( c ) or uncapital ( a ) : ucomputer请调试下面的程序,使其有如上执行结果.#include main () char s*;char c;printf(which style you want to :ln);printf(capital ( c ) or uncapital(a):);c=getchar();if(c=c)strcpy(s,COMPUTER);else str
3、cpy(s,computer);put(s);#include#include#includevoid main()char *s;char c;printf(which style you want to :n);printf(capital(c) or uncapital(a):);c=getchar();s=calloc(20, sizeof(char); /分配存储空间if(c=c)strcpy(s,COMPUTER);elsestrcpy(s,computer);puts(s);(3)下面的程序能获得上述运行结果吗 main()char *S=COMPUTER;char c;prin
4、tf(which style you want to n);printf(capital (c) or uncapital(u););c=getchar();if(c=c)put(s);else s=computer;puts(s); #includevoid main()char *s=COMPUTER;char c;printf(which style you want to:n);printf(capital(c) or uncapital(u););c=getchar();if(c=c)puts(s);else s=computer;puts(s);(4)设计一个C程序,用以测试下列各
5、表达式的运算.(1) y=*px+(2) y=*+py(3) y=(*py)+(4) y=-*ppx+(5)想使指针变量pt1指向a 和b 中的大者,pt2指向小者,以下程序能否实现此目的 swap(int *p1,int *p2)int *p;p=p1;p1=p2;p2=p;main()int a,b;scanf(%d,%d,&a,&b);pt1=&a;pt2=&b;if(ab)swap(pt1.pt2);printf(%d,%dn,*pt1,*pt2);#includevoid swap(int *p1,int *p2)int p;p=*p1;*p1=*p2;*p2=p;void main
6、()int a,b,*pt1,*pt2;scanf(%d,%d,&a,&b);pt1=&a;pt2=&b;if(ab)swap(&pt1,&pt2);printf(%d,%dn,*pt1,*pt2);2、程序填空:(1)一维数组和指针。分别采用下标法、数组名法和指针法访问数组元素,求出10 个数中的最大值。下标法:#includevoid main()int a10,i,max;for(i=0;i=9;i+)scanf (%d,&ai);for(i=0;i=9;i+)if(maxai)max=ai;printf (MAX=%dn,max);数组名法:#includevoid main()int
7、 a10,i,max;for(i=0;i=9;i+)scanf(%d,a+i);for(i=0;i=9;i+)if(max*(a+i) max=*(a+i);printf (MAX=%dn,max);指针法:#includevoid main()int a10;int *p,max;for(p=a;p(a+10);p+)scanf(%d,p);for(p=a;p(a+10);p+)if(max*p) max=*p;printf (MAX=%dn,max);(2)字符串和字符指针。输入一个字符串,将其中的大写字母转换成小写字母,然后输出。字符数组实现:#includevoid main()cha
8、r s20;int i;gets(s);for(i=0;i=A&si=Z)si=si+a-A;i=0;while(si!=0)printf(%c,si);i+;字符指针变量实现:#includevoid main()char s20;char *p;scanf(%s,s);p=s;while(*p!=0)if(*p=A&*p=Z)*p=*p+(a-A);p+;puts(s);提示:scanf ()输入时遇到空格认为字符串结束,用gets()输入时只有遇到回车才认为字符串结束。如键入any boy并回车,则scanf (“%s”,s)的结果为:any0gets (s)的结果为:anyboy03、
9、编程序并上机调试运行程序(都要求用指针处理)。(1) 输入三个整数,按由小到大的顺序输出,然后将程序改为:输入三个字符串,按由小到大顺序输出。 #include void sort(int *a,int *b,int *c)int t=0;if (*a*b)t=*a;*a=*b;*b=t;if (*a*c)t=*a;*a=*c;*c=t;if (*b*c)t=*b;*b=*c;*c=t;void main()int a=0,b=0,c=0;scanf(%d%d%d,&a,&b,&c);sort(&a, &b, &c);printf(%d %d %dn,a,b,c);#include#inclu
10、devoid swap(char *s120,char *s220)char *t;t=*s1;*s1=*s2;*s2=t;void main()char str120,str220,str320;char *p120,*p220,*p320;gets(str1);gets(str2);gets(str3);strcpy(p1,str1);strcpy(p2,str2);strcpy(p3,str3);if(strcmp(p1,p2)0)swap(p1,p2);if(strcmp(p1,p3)0)swap(p1,p3);if(strcmp(p2,p3)0)swap(p2,p3);puts(p1
11、);puts(p2);puts(p3);(2)将一个33的矩阵转置,用一函数实现之。 在主函数中用scanf函数输入以下矩阵元素: l 3 5 7 9 11 13 15 19将数组名作为函数实参,在执行函数的过程中实现矩阵转置,函数调用结束后在主函数中输出已转置的矩阵。(3)用一个函数实现两个字符串的比较,即自己写一个strcmp函数,函数原型为:int strcmp (char * p1, char * p2);设p1指向字符串s1,p2指向字符串s2,要求当s1s2时,函数返回值为 0, 如果sls2,则返回它们二者第一个不相同字符的ASCII码差值(如“BOY”与“BAD”的第二个字母不相同,“O”与“A”之差为7965=14);如果sls2,则输出正值;如果sls2则输出负值。 两个字符串s1、s2由main函数输入,strcmp函数的返回值也由main函数输出。(4)编程统计一个字符串中大写字母、小写字母、数字和其他字符的个数。提示:只要逐个检查字符串中的字符,然后将相应的计数器加1就
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 网络直播营销试题及答案
- 痛风考试题及答案
- 2025年房地产企业策划合作保密协议
- 2025年双边贸易协议(现汇结算方式)
- 2025年房产所有权与交易协议
- 2025年综合钢结构加工业务合作协议
- 企业法律合规管理经济效益和社会效益
- 2025年金融服务租赁协议
- 2025年物流中介公路货物运输协议
- 2025年货车买卖合同规定协议
- 北京通州区大运河博物馆的观后感
- 人音版音乐五年级下册《第五课 京韵》大单元整体教学设计2022课标
- 【MOOC】太阳能电池测试及标准-常熟理工学院 中国大学慕课MOOC答案
- 左肘管综合征的护理查房
- 昆明理工大学《物理化学(Ⅱ)》2023-2024学年第一学期期末试卷
- 【MOOC】数字电子技术-中南大学 中国大学慕课MOOC答案
- 交通管理扣留车辆拖移保管 投标方案(技术方案)
- 中国血管性认知障碍诊治指南(2024版)解读 课件
- 2024年“安全生产月”暨“安康杯”竞赛活动考试题库及答案
- 临床提高脓毒性休克患者1h集束化措施落实率PDCA品管圈
- 2024年湖南省初中学业水平考试地理试卷含答案
评论
0/150
提交评论