预览加载中,请您耐心等待几秒...
1/4
2/4
3/4
4/4

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

实验7指针 一、实验目的 1.掌握指针的基本概念和基本用法。包括:变量的地址和变量的值,指针变量的说明、指针 变量的初始化、指针的内容与定义格式、指针的基本运算等; 2.掌握数组与指针的关系并能够利用指针解决数组的相关问题; 3.掌握字符串与指针的关系并能够利用指针处理字符串的问题; 4.掌握指针与函数的关系并能够利用指针处理函数问题; 5.了解指向指针的指针的概念及其使用方法; 6.能够使用指针进行程序设计。 二、实验环境 PC微机 Windows操作系统 Visualstudio2019 三、实验内容与步骤 编程实现:输入三个整数,按由大到小的顺序输出。 要求: (1)通过scanf函数输入三个数据并存入三个变量中; (2)利用指针实现从大到小输出; 代码: #include<stdio.h> intmain() { intnum[3],*p,i; for(inti=0;i<3;i++){ scanf(,&num[i]); } for(p=num,i=0;p<num+3;p++,i++){ for(intj=i+1;j<3;j++){ if(*p<num[j]){ inttemp=*p; *p=num[j]; num[j]=temp; } } } for(inti=0;i<3;i++)printf(,num[i]); return0; } 实验结果: (3)修改程序,将三个整型数据改为字符型数据,输入三个字符,按从大到小数顺序输出; 代码: #include<stdio.h> intmain() { charch[3],*p,i; for(inti=0;i<3;i++){ scanf(,&ch[i]); } for(p=ch,i=0;p<ch+3;p++,i++){ for(intj=i+1;j<3;j++){ if(*p<ch[j]){ chartemp=*p; *p=ch[j]; ch[j]=temp; } } } for(inti=0;i<3;i++)printf(,ch[i]); return0; } 实验结果: (4)修改程序,将三个字符型数据改为字符串数据,输入三个字符串,按从小到大顺序输出; (5)体会指针对不同数据处理的特点。 代码: #include<stdio.h> #include<string.h> voidsort(constchar*ch[],intn); intmain() { constchar*ch[]={,,}; sort(ch,3); for(inti=0;i<3;i++){ printf(,ch[i]); } return0; } voidsort(constchar*ch[],intn) { intk; for(inti=0;i<n-1;i++){ k=i; for(intj=i+1;j<n;j++){ if(strcmp(ch[k],ch[j])>0)k=j; } if(k!=i){ constchar*temp=ch[k]; ch[k]=ch[i]; ch[i]=temp; } } } 实验结果: 实验分析:实验结果和预期一致。 四、实验总结: 1.掌握了指针的基本概念和基本用法。包括:变量的地址和变量的值,指针变量的说明、指针变 量的初始化、指针的内容与定义格式、指针的基本运算等; 2.掌握了数组与指针的关系并能够利用指针解决数组的相关问题; 3.掌握了字符串与指针的关系并能够利用指针处理字符串的问题; 4.掌握了指针与函数的关系并能够利用指针处理函数问题; 5.了解了指向指针的指针的概念及其使用方法; 6.能够使用指针进行程序设计。