首页 C语言程序设计基础实验报告8

C语言程序设计基础实验报告8

举报
开通vip

C语言程序设计基础实验报告8...实验8指针一、实验目的1、通过实验进一步掌握指针的概念,会定义和使用指针变量;2、能正确使用数组的指针和指向数组的指针变量;3、能正确使用字符串的指针和指向字符串的指针变量;二、实验内容和步骤1、改错(1)指出下面程序错误的原因.main(){intx=10,y=5,*px,*py;px=py;px=&x;py=&y;printf("*px=%d,*py=%d,*px,*py);}#includevoidmain(){intx=10,y=5,*px,*py;px=&x;py=&y;printf("px=%d,...

C语言程序设计基础实验报告8
...实验8指针一、实验目的1、通过实验进一步掌握指针的概念,会定义和使用指针变量;2、能正确使用数组的指针和指向数组的指针变量;3、能正确使用字符串的指针和指向字符串的指针变量;二、实验内容和步骤1、改错(1)指出下面程序错误的原因.main(){intx=10,y=5,*px,*py;px=py;px=&x;py=&y;printf("*px=%d,*py=%d,*px,*py);}#includevoidmain(){intx=10,y=5,*px,*py;px=&x;py=&y;printf("px=%d,py=%d",*px,*py);}(2)下面的程序试图有如下运行结果:whichstyleyouwantto:Capital(c)oruncapital(a):c↙COMPUTERWhichsytleyouwantto:Capital(c)oruncapital(a):u↙computer请调试下面的程序,使其有如上执行结果.#includemain(){chars*;charc;printf("whichstyleyouwantto:ln");printf("capital(c)oruncapital(a):");c=getchar();……if(c='c')strcpy(s,"COMPUTER");elsestrcpy(s,"computer");put(s);}#include#include#includevoidmain(){char*s;charc;printf("whichstyleyouwantto:\n");printf("capital(c)oruncapital(a):");c=getchar();s=calloc(20,sizeof(char));//分配存储空间if(c=='c')strcpy(s,"COMPUTER");elsestrcpy(s,"computer");puts(s);}(3)下面的程序能获得上述运行结果吗main(){char*S="COMPUTER";charc;printf("whichstyleyouwantto\n");printf("capital(c)oruncapital(u);");c=getchar();if(c='c')put(s);else{s="computer";puts(s);}}#includevoidmain(){char*s="COMPUTER";charc;printf("whichstyleyouwantto:\n");printf("capital(c)oruncapital(u);");c=getchar();if(c=='c')puts(s);else{s="computer";puts(s);}}(4)设计一个C程序,用以测试下列各表达式的运算.(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(){inta,b;scanf("%d,%d",&a,&b);pt1=&a;pt2=&b;if(avoidswap(int*p1,int*p2){intp;p=*p1;*p1=*p2;*p2=p;}voidmain(){inta,b,*pt1,*pt2;scanf("%d,%d",&a,&b);pt1=&a;pt2=&b;if(avoidmain(){inta[10],i,max;for(i=0;i<=9;i++)scanf("%d",&a[i]);for(i=0;i<=9;i++)if(maxvoidmain(){inta[10],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=%d\n",max);}指针法:#includevoidmain(){inta[10];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=%d\n",max);}(2)字符串和字符指针。输入一个字符串,将其中的大写字母转换成小写字母,然后输出。字符数组实现:#includevoidmain(){chars[20];inti;gets(s);for(i=0;i<=19;i++)if(s[i]>='A'&&s[i]<='Z')s[i]=s[i]+'a'-'A';i=0;while(s[i]!='\0'){printf("%c",s[i]);i++;}}字符指针变量实现:#includevoidmain(){chars[20];char*p;scanf("%s",s);p=s;while(*p!='\0'){if(*p>='A'&&*p<='Z')*p=*p+('a'-'A');p++;}puts(s);}提示:scanf()输入时遇到空格认为字符串结束,用gets()输入时只有遇到回车才认为字符串结束。如键入anyboy并回车,则scanf(“%s”,s)的结果为:any\0gets(s)的结果为:any boy\03、编程序并上机调试运行程序(都要求用指针处理)。(1)输入三个整数,按由小到大的顺序输出,然后将程序改为:输入三个字符串,按由小到大顺序输出。#includevoidsort(int*a,int*b,int*c){intt=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;}}voidmain(){inta=0,b=0,c=0;scanf("%d%d%d",&a,&b,&c);sort(&a,&b,&c);printf("%d%d%d\n",a,b,c);}#include#includevoidswap(char*s1[20],char*s2[20]){char*t;t=*s1;*s1=*s2;*s2=t;}voidmain(){charstr1[20],str2[20],str3[20];char*p1[20],*p2[20],*p3[20];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);puts(p2);puts(p3);}(2)将一个3×3的矩阵转置,用一函数实现之。在主函数中用scanf函数输入以下矩阵元素:l357911131519将数组名作为函数实参,在执行函数的过程中实现矩阵转置,函数调用结束后在主函数中输出已转置的矩阵。(3)用一个函数实现两个字符串的比较,即自己写一个strcmp函数,函数原型为:intstrcmp(char*p1,char*p2);设p1指向字符串s1,p2指向字符串s2,要求当s1=s2时,函数返回值为0,如果sl≠s2,则返回它们二者第一个不相同字符的ASCII码差值(如“BOY”与“BAD”的第二个字母不相同,“O”与“A”之差为79—65=14);如果sl>s2,则输出正值;如果sl 记录 混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载 大写字母数量,low用于记录小写字母数量,digit用于记录数字数量,other用于记录其他字符的数量,(5)编写函数,函数原型如下:intgetdata(char*str);判断字符串str是否为十进制串,若是转换为十进制数返回,若不是则返回-1。并编写主函数,调用该函数,输入一行字符,将其转换为十进制数输出。如有侵权请联系告知删除,感谢你们的配合!精品精品精品
本文档为【C语言程序设计基础实验报告8】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
机构认证用户
爱赢
公司经营范围:网络软件设计、制作、图文设计、影视制作(编辑)
格式:doc
大小:63KB
软件:Word
页数:0
分类:互联网
上传时间:2021-02-26
浏览量:2