实验2+指针实验

合集下载

C语言实验-第七章-第九章2

C语言实验-第七章-第九章2

实验七:指针的应用【实验目的】1.掌握指针和指针变量,内存单元和地址、变量与地址、数组与地址的关系;2.掌握指针变量的定义和初始化,指针变量的引用方式;3.能正确使用数组的指针和指向数组的指针变量;【实验内容】1.填空题输入一个字符串,将其中的大写字母转换成小写字母,然后输出本程序主要是比较scanf()输入和gets()输入的区别#include <stdio.h>void main(){ char s[20];char *p=s;scanf(“%s”,p); /*注意用scanf()输入和gets()输入的区别*/while( 1 ){if( 2 ) *p=*p+ (‘a’-‘A’);p++ ;}puts ( 3 );}答案:1、*p!=’\0’2、(*p>='A')&&(*p<='Z')3、s运行结果:输入:Program输出:program输入:This is Program输出:this提示:scanf ()输入时遇到空格认为字符串结束,用gets()输入时只有遇到回车才认为字符串结束。

如键入any boy并回车,则2。

补充程序题输入15个整数存入一维数组,再按逆序重新调整该数组中元素的顺序然后再输出。

下面给出部分程序的内容,请将程序补充完整,然后上机调试。

部分程序清单如下:#include <stdio.h>void main(){ int a[15],*p1,*p2,x;for(p1=a;p1<a+15;p1++)scanf("%d",p1);for(p1=a,p2=a+14;p1<a+7;p1++,p2--){ x=*p1;*p1=*p2;*p2=x;}……}答案:for(p1=a;p1!=a+15;p1++)printf("%d ",*p1); // %d后面有一个空格运行结果:输入:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15输出:15 14 13 12 11 10 9 8 7 6 5 4 3 2 1提示:(1)在整型数组中,没有结束标志,必须依靠数组中数据元素的个数控制循环次数。

利用指针排序实验报告(3篇)

利用指针排序实验报告(3篇)

第1篇一、实验目的1. 理解指针在排序算法中的应用。

2. 掌握几种常见的排序算法(如冒泡排序、选择排序、插入排序等)的指针实现方式。

3. 比较不同排序算法的效率,分析其优缺点。

二、实验环境1. 操作系统:Windows 102. 编程语言:C++3. 开发环境:Visual Studio 2019三、实验内容本次实验主要实现了以下排序算法:1. 冒泡排序2. 选择排序3. 插入排序以下是对每种排序算法的具体实现和性能分析。

1. 冒泡排序(1)算法原理冒泡排序是一种简单的排序算法。

它重复地遍历待排序的序列,比较每对相邻的元素,如果它们的顺序错误就把它们交换过来。

遍历序列的工作是重复地进行,直到没有再需要交换的元素为止。

(2)指针实现```cppvoid bubbleSort(int arr, int len) {for (int i = 0; i < len - 1; i++) {for (int j = 0; j < len - 1 - i; j++) {if ((arr + j) > (arr + j + 1)) {int temp = (arr + j);(arr + j) = (arr + j + 1);(arr + j + 1) = temp;}}}}```(3)性能分析冒泡排序的时间复杂度为O(n^2),空间复杂度为O(1)。

当待排序序列基本有序时,冒泡排序的性能较好。

2. 选择排序(1)算法原理选择排序是一种简单直观的排序算法。

它的工作原理是:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。

以此类推,直到所有元素均排序完毕。

(2)指针实现```cppvoid selectionSort(int arr, int len) {for (int i = 0; i < len - 1; i++) {int minIndex = i;for (int j = i + 1; j < len; j++) {if ((arr + j) < (arr + minIndex)) {minIndex = j;}}int temp = (arr + i);(arr + i) = (arr + minIndex);(arr + minIndex) = temp;}}```(3)性能分析选择排序的时间复杂度为O(n^2),空间复杂度为O(1)。

C语言教材第七章指针实验

C语言教材第七章指针实验

C语⾔教材第七章指针实验第七章指针第⼀部分知识训练【知识要点】1. 地址与指针指针变量的概念:⽤⼀个变量专门来存放另⼀个变量的地址。

2. 指向变量的指针变量指针变量的形式:基类型 *指针变量名;&: 取地址运算符;*:指针运算符。

3. 指针与数组引⽤⼀个数组元素可以⽤下标法和指针法;可以⽤数组名作函数的参数。

4.指针与函数函数指针变量定义的⼀般形式为:类型说明符 (*指针变量名)();⼀个函数的返回值可以是⼀个函数。

【典型习题与解析】5. char * const p;char const * pconst char *p上述三个有什么区别?【解析】char * const p; //常量指针,p的值不可以修改;char const * p;//指向常量的指针,指向的常量值不可以改;const char *p; //和char const *p。

6. main(){int a[5]={1,2,3,4,5};int *ptr=(int *)(&a+1);printf("%d,%d",*(a+1),*(ptr-1));}输出结果是什么?【解析】答案:输出:2,5*(a+1)就是a[1],*(ptr-1)就是a[4],执⾏结果是2,5。

&a+1不是⾸地址+1,系统会认为加⼀个a数组的偏移,是偏移了⼀个数组的⼤⼩(本例是5个int)。

1)&a是数组指针,其类型为 int (*)[5];⽽指针加1要根据指针类型加上⼀定的值,不同类型的指针+1之后增加的⼤⼩不同。

2)a是长度为5的int数组指针,所以要加 5*sizeof(int),所以ptr实际是a[5],但是prt与(&a+1)类型是不⼀样的(这点很重要),所以prt-1只会减去sizeof(int*) a,&a的地址是⼀样的,但意思不⼀样。

3)a是数组⾸地址,也就是a[0]的地址,&a是对象(数组)⾸地址,a+1是数组下⼀元素的地址,即a[1],&a+1是下⼀个对象的地址,即a[5]。

C++上机实验报告(指针)

C++上机实验报告(指针)

C++上机实验报告实验名称:指针专业班级:姓名:学号:实验日期:目录1.实验目的2.实验内容3.程序代码4.调试结果5.实验心得1.实验目的(1)通过实验进一步掌握指针的概念,会定义和使用指针变量;(2)能正确使用数组的指针和指向数组的指针变量;(3)能正确使用字符串的指针和指向字符串的指针变量;(4)能正确使用引用型变量。

2.实验内容编程序并上机调试运行程序(要求用指针或引用处理)。

(1)输入3个整数,按由小到大的顺序输出。

编译一个程序,用指针变量作为参数。

(2)在上题的基础上将程序改为:输入3个字符串,按由小到大的顺序输出。

(3)用引用指针变量作为形参,实现3个整数由小到大输出。

(4)有n个人围成一圈,顺序排号。

从第1个人开始报数(从1~3报数),凡是到3的人退出圈子,问最后留下的人原来排在第几号。

(5)在主函数中输入10个字符串。

用另一个函数最它们排序。

然后在主函数输出这10个已排好的字符串。

要求用以下方法编程:Ⅰ.指向一维数组的指针座函数参数;Ⅱ.用string数组方法。

3.程序代码(1)#include<iostream>using namespace std;int main(){void swap(int *p1,int *p2);int n1,n2,n3;int *p1,*p2,*p3;cout<<"input three integers n1,n2,n3:";cin>>n1>>n2>>n3;p1=&n1;p2=&n2;p3=&n3;if(n1>n2) swap(p1,p2);if(n1>n3) swap(p1,p3);if(n2>n3) swap(p2,p3);cout<<"Now,the order is:"<<n1<<" "<<n2<<" "<<n3<<endl; return 0;}void swap(int *p1,int *p2){int p;p=*p1;*p1=*p2;*p2=p;}(2)Ⅰ.用字符数组方法的源程序#include<iostream>using namespace std;int main(){void swap(char *,char *);char str1[20],str2[20],str3[30];cout<<"input three line:"<<endl;gets(str1);gets(str2);gets(str3);if(strcmp(str1,str2)>0) swap(str1,str2); if(strcmp(str1,str3)>0) swap(str1,str3); if(strcmp(str2,str3)>0) swap(str2,str3); cout<<endl<<"Now,the order is:"<<endl; cout<<str1<<endl<<str2<<endl<<str3<<endl; return 0;}void swap(char *p1,char *p2){char p[20];strcpy(p,p1);strcpy(p1,p2);strcpy(p2,p);}Ⅱ.用string方法的源程序(程序中使用了指针和引用)#include<iostream>#include<string>using namespace std;int main(){void change(string &,string &);string str1=" ",str2=" ",str3=" ";char *p1=&str1[0],*p2=&str2[0],*p3=&str3[0];cout<<"input three line:"<<endl;gets(p1);gets(p2);gets(p3);if(str1>str2) change(str1,str2);if(str1>str3) change(str1,str3);if(str2>str3) change(str2,str3);cout<<endl<<"Now,the order is:"<<endl;cout<<str1<<endl<<str2<<endl<<str3<<endl; return 0;}void change(string &st1,string &st2) {string st;st=st1;st1=st2;st2=st;}(3)#include<iostream>using namespace std;int main(){void exchange(int *,int *,int *);int a,b,c,*p1,*p2,*p3;cin>>a>>b>>c;p1=&a;p2=&b;p3=&c;exchange(p1,p2,p3);cout<<a<<" "<<b<<" "<<c<<endl;return 0;}void exchange(int *q1,int *q2,int *q3){void swap(int *,int *);if( *q1> *q2) swap(q1,q2);if( *q1> *q3) swap(q1,q3);if( *q2> *q3) swap(q2,q3);}void swap(int *pt1,int *pt2){int temp;temp=*pt1;*pt1=*pt2;*pt2=temp;}(4)#include<iostream>using namespace std;int main(){int i,k,m,n,num[50],*p;cout<<"input number of person:n="; cin>>n;p=num;for(i=0;i<n;i++)*(p+i)=i+1;i=0;k=0;m=0;while(m<n-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++;cout<<"The last one is NO."<<*p<<endl; return 0;}(5)Ⅰ.指向一维数组的指针最函数参数的源程序#include<iostream>using namespace std;int main(){void sort(char (*p)[6]);int i;char str[10][6];char (*p)[6];cout<<"input 10 strings:"<<endl;for(i=0;i<10;i++)cin>>str[i];p=str;sort(p);cout<<"Now,the sequence is:"<<endl; for(i=0;i<10;i++)cout<<str[i]<<endl;return 0;}void sort(char (*s)[6]){int i,j;char temp[6],*t=temp;for(i=0;i<9;i++)for(j=0;j<9-i;j++)if(strcmp(s[j],s[j+1])>0){strcpy(t,s[j]);strcpy(s[j],s[+j+1]);strcpy(s[j+1],t);}}Ⅱ.用string数组方法的源程序#include<iostream>#include<string>using namespace std;int main(){void sort(string*);int i;string str[10],*p=str;cout<<"input 10 strings:"<<endl;for(i=0;i<10;i++)cin>>str[i];sort(p);cout<<"Now,the sequence is:"<<endl; for(i=0;i<10;i++)cout<<str[i]<<endl;return 0;}void sort(string *s){int i,j;string temp;for(i=0;i<9;i++)for(j=0;j<9-i;j++)if(s[j]>s[j+1]){temp=s[j];s[j]=s[+j+1];s[j+1]=temp;}}4.调试结果(1)input three integers n1,n2,n3:54 -12 2 Now,the order is:-12 2 54(2)input three lines:I study very hard.C language is very interesting.He is a professor.Now,the order is:C language is very interesting.He is a professor.I study very hard.(3)12 6 876 12 87(4)input number of person:n=8The last one is No.7(5)input 10 strings: Now,the sequence is:China BurmaJapan ChinaKorea EgyptEgypt GhanaNepal ItalyBurma JapanGhana KoreaSudan LibyaItaly NepalLibya Sudan5.实验心得指针同数组一样,是C++中一个重要的概念,一个重要的知识点。

大学C 上机实验题目(版)

大学C 上机实验题目(版)

20XX年复习资料大学复习资料专业:班级:科目老师:日期:实验前言(建议认真阅读)一、上机实验的目的上机实验的目的是提高学生的分析问题、解决问题的能力和动手能力,通过实践环节理解C++语言的基本结构和程序设计方法。

通过亲手编程掌握C++语言编程的方法。

二、实验基本内容为了使学生在上机实验时目标明确,本实验指导书针对课程内容编写了五个实验。

学生在课内机时先完成指导书中标有“*”号的程序,理解所学的知识,在此基础上再编写其他应用程序。

指导书中的五个个实验如下:1. 函数与编译处理2. 指针与引用3. 类和对象4. 继承和派生类5. 多态性三、实验提交(特别提醒)1. 实验题目以附件形式提交,每个附件限一个源程序,附件以实验编号-题号-自己学号.cpp命名;如学号为20XXXX20XXXX20XXXX34的同学提交实验1的第5题,则附件命名方式为:1-5-20XXXX20XXXX20XXXX34.cpp,错误提交的将视为未提交。

2. 提交时间定为该次实验课的一周内,过期不再接收。

四、评分和作弊处理1. 要求提交实验题总数为6题(带“*”号),占期末总评成绩的20XX%;2. 存在抄袭和被抄袭的作业,无论抄袭与被抄袭者,本门课程平时成绩以零分记。

存在两次及两次以上抄袭和被抄袭者,本门课程以不及格记。

五、实验课要求(重点强调)1. 严禁QQ、MSN等即时软件工具聊天;2. 严紧接听手机、发送短信;3. 严紧玩游戏。

实验1 函数与编译处理一、实验目的1. 掌握函数声明、定义和使用的方法;2. 掌握形参与实参之间的对应关系;3. 掌握函数调用时,形参、实参之间的“值传递”和“引用传递”的区别;4. 掌握函数递归调用的方法;5. 掌握全局变量、局部变量、静态变量的使用方法;6. 掌握文件包含的使用方法。

二、实验内容1. 定义两个函数swap1和swap2,目的是实现两个整数的次序交换,其中swap1的参数是传递值参数,swap2的参数是引用参数,在程序中分别调用这两个函数,其输出结果如下所示:初始值:x=1,y=2调用swap1后的结果:x=1 y=2调用swap2后的结果:x=2 y=12. 编写一个函数,用来计算从键盘上输入的整数的阶乘。

实验一、指针万用表的使用方法和测量常见器件的技巧

实验一、指针万用表的使用方法和测量常见器件的技巧

实验一、指针万用表的使用方法和测量常见器件的技巧一、实验目的1.学习电阻、电位器、电容的不同种类特点和参数识别方法2.了解指针式万用表的原理和使用方法3.了解指针式万用表的检测常用电子元器件的方法二、实验器材指针式万用表,若干常见的电子元器件,直流稳压电流三、实验原理电阻器是电子设备中应用最广泛的元件之一,在电路中起限流、分流、降压、分压、负载、与电容配合作滤波器及阻抗匹配等作用。

1、根据电阻器的电阻值在电路中的特性来分,可分为固定电阻、可变电阻器(电位器)和敏感电阻器三大类。

⑴固定电阻器固定电阻器按组成材料可分为非线绕电阻器和线绕电阻器两大类。

非线绕电阻器又可分为薄膜电阻器、实心型电阻器。

薄膜电阻器:碳膜电阻、、合成碳膜电阻器、金属膜电阻器、金属氧化膜电阻器、化学沉积膜电阻器、玻璃釉膜电阻器、金属氮化膜电阻器。

实心型电阻器:无机合成实心碳质电阻器、有机合成实心碳质电阻器。

线绕电阻器:通用线绕电阻器、精密线绕电阻器、大功率线绕电阻器、高频线绕电阻器。

⑵电位器(可变电阻器)电位器是靠一个电刷在电阻体上移动而获得变化的电阻值,在一定的范围内可调。

按电阻体的材料分,可分为薄膜电位器和线绕电位器两种。

薄膜电位器:WTX型小型碳膜电位器、WTH型合成碳膜电位器、WS型有机实心电位器、WTJ型精密合成电位器、WHD型多圈合成膜电位器等线绕电位器的电阻体由金属线线绕而成,能承受较高的温度,因此可制成功率型的电位器,其额定功率为0.25W~50W左右。

阻值范围在100Ω~100KΩ左右。

按调节活动机构的运动方式可分为旋转式和直滑式电位器。

按输出特性的函数关系,又可分为线性电位器和非线性电位器⑶敏感电阻器按照其对温度、光机械力等物理量表现敏感的特性可分为:压敏电阻器、热敏电阻器、光敏电阻器、力敏电阻器、气敏电阻器、湿敏电阻器。

2、电阻器的阻值和误差的标注方法电阻器的标称阻值一般都标在电阻体上,其标志有四种:直标法、文字符号法、数码法和色标法。

磁场的研究实验报告

磁场的研究实验报告实验目的研究磁场的性质及其产生规律,了解磁场的强度和方向的测量方法,并探索一些与磁场相关的现象。

实验器材- 磁力计- 磁指针(罗盘)- 直流电源- 导线- 铁丝卷- 安装架- 实验电路板- 实验笔记本实验原理1. 长直导线产生的磁场:根据奥斯特(Oersted)实验,长直导线产生的磁场强度与电流强度成正比,与距离成反比。

2. 研究磁场的工具:磁力计(用于测量磁场强度)和磁指针(用于确定磁场的方向)。

3. 电流通过螺线管时的磁场:通过螺线管的电流产生的磁场随着电流的变化而变化。

实验步骤实验一:长直导线的磁场1. 将长直导线绕在安装架的两根支杆上,保持导线平行且距离相等。

2. 将导线的两端分别与直流电源连接,记录电流大小为I。

3. 将磁力计放置在导线附近的特定位置,利用磁力计测量磁场强度大小H。

4. 做一个与导线平行的线圈,测量磁场大小H与磁力计相同位置的距离r,记录下实验数据。

实验二:电流通过螺线管时的磁场5. 将螺线管固定在实验电路板上。

6. 通过实验电路板中的导线,将电流I接通螺线管,记录下电流强度大小为I。

7. 用磁指针在螺线管附近不同位置测量磁场方向。

8. 测量螺线管附近不同位置的磁场强度大小H,并记录实验数据。

实验结果及分析实验一:长直导线的磁场通过实验一,我们得到了长直导线不同位置的磁场强度和距离的关系。

根据实验数据,我们可以得出结论:长直导线产生的磁场强度与电流强度成正比,与距离成反比。

实验二:电流通过螺线管时的磁场通过实验二,我们观察到螺线管附近的磁场方向与电流方向相互垂直,并且随着电流的变化而变化。

在不同位置测量的磁场强度大小也不同。

根据实验数据,我们可以得出结论:通过螺线管的电流产生的磁场随着电流的变化而变化,并且磁场强度与距离、电流强度有关。

实验总结通过本实验,我们成功了解了磁场的性质及其产生规律。

我们利用磁力计和磁指针这两个工具,测量了长直导线和螺线管产生的磁场的强度和方向。

实验2 惠斯通电桥测电阻

实验2 惠斯通电桥测电阻用伏安法测量电阻时,不可避免地存在系统误差。

为了提高测量的精确度,可以采用将待测电阻与标准电阻相比较的方法得出待测电阻。

一、基本教学要求1.掌握直流单臂电桥测电阻的原理,并通过它初步了解一般桥式电路的特点;2.学会正确使用箱式电桥测电阻;3. 了解提高电桥灵敏度的方法。

二、实验原理检流计G 示零值,即桥臂电流0g I =, 电桥达到平衡,这时有:BC DC U U =;1x I I =;2s I I =于是 1122I R I R =;12x s I R I R =,由此得:12x s R R R R = 其中R x 为待测臂,R s 为比较臂,1R 、2R 为比例臂。

可用换臂测量来消除比例臂造成的误差。

测量精密度取决于电桥的灵敏度。

如某待测电阻有1%的改变时,检流计指针相应偏离平衡点1n ∆=格,则相对灵敏度S =100格,x x R n R S∆∆= 测量电阻的精密度取决于电桥的灵敏度。

电桥的灵敏度与下面诸因素有关:1. 与检流计的电流灵敏度i S 成正比。

2. 与电源的电动势E 成正比。

3. 与电源的内阻E r 和限流电阻E R 有关。

4. 与四个桥臂电阻的搭配有关。

5. 与检流计的内阻有关。

参考文献:1、提高单臂电桥灵敏度的理论与实验分析,姜立军,唐山师范学院学报,2005,27(2):44-46.2、惠斯通电桥的理论研究,杨万明,大学物理,1994,13(5):7-12.3、单臂电桥电阻搭配对测量灵敏度的影响,陶秀梅,辽宁师专学报,2006,8(2)。

4、单臂电桥灵敏度最大值条件的研究,张慧兰,南方冶金学院学报,2001,22(1):51-54.三、实验内容1.用单臂电桥选取合适的比例臂测量给定的电阻,并消除比例臂造成的测量误差。

2.测量电桥的灵敏度,并讨论灵敏度与各影响因素的具体关系。

四、测量数据及数据处理1. 用自组电桥测量电阻。

取电源电压小于10V,选择合适的比例臂测量给定的电阻。

指针矩阵相乘实验报告

一、实验目的1. 理解指针在C语言中的作用,掌握指针的使用方法。

2. 学习矩阵相乘的基本原理,并利用指针实现矩阵相乘。

3. 提高编程能力和问题解决能力。

二、实验内容本次实验主要实现了两个矩阵的相乘,要求使用指针操作完成。

假设两个矩阵分别为A和B,其中A为m×k矩阵,B为k×n矩阵,乘积矩阵C为m×n矩阵。

三、实验原理矩阵相乘的原理如下:C[i][j] = Σ(A[i][k] B[k][j]) (k从0到k-1)其中,C[i][j]表示乘积矩阵C的第i行第j列的元素,A[i][k]表示矩阵A的第i 行第k列的元素,B[k][j]表示矩阵B的第k行第j列的元素。

四、实验步骤1. 定义两个二维数组A和B,分别代表两个矩阵。

2. 定义一个二维数组C,用于存储乘积矩阵。

3. 使用指针遍历两个矩阵,并计算乘积矩阵C的元素。

4. 输出乘积矩阵C。

五、实验代码```c#include <stdio.h>#define M 3 // 矩阵A的行数#define N 3 // 矩阵B的列数#define K 3 // 矩阵A的列数和矩阵B的行数int main() {int A[M][K] = {{1, 2, 3},{4, 5, 6},{7, 8, 9}};int B[K][N] = {{9, 8, 7},{6, 5, 4},{3, 2, 1}};int C[M][N];// 计算乘积矩阵Cfor (int i = 0; i < M; i++) {for (int j = 0; j < N; j++) {for (int k = 0; k < K; k++) {(C + i N + j) += (A + i K + k) (B + k N + j); }}}// 输出乘积矩阵Cfor (int i = 0; i < M; i++) {for (int j = 0; j < N; j++) {printf("%d ", (C + i N + j));}printf("\n");}return 0;}```六、实验结果执行上述代码,输出乘积矩阵C为:```30 24 1884 69 54138 114 90```七、实验总结通过本次实验,我们掌握了指针在C语言中的使用方法,并成功实现了矩阵相乘。

c语言指针实验总结

c语言指针实验总结《c语言指针实验总结》在学习C语言的过程中,指针是一个非常重要的概念。

为了更好地掌握指针的用法和理解其工作原理,我进行了一系列的实验。

在这篇总结中,我将分享我在实验中所学到的知识和经验。

首先,我进行了一个基本的指针实验,用于了解指针的定义和初始化。

我定义了一个整型变量,并通过指针将其地址赋给另一个指针变量。

然后,我通过对指针变量进行修改,来改变原始变量的值。

这个实验帮助我深入理解了指针是如何通过引用和修改地址来操作变量的。

接下来,我进行了一个指针数组的实验。

我创建了一个包含多个整型变量的数组,并定义了一个指向数组的指针。

通过对指针进行加减操作,我可以访问数组中的不同元素。

这个实验展示了指针和数组之间的密切关系,并帮助我更好地理解了C语言中数组的原理。

我还进行了一个指针和函数的实验。

我定义了一个带有指针参数的函数,并在主函数中调用了这个函数。

通过传递指针作为参数,我可以实现对变量的直接修改,而不需要通过返回值来传递结果。

这个实验使我意识到使用指针参数可以提高程序的效率和灵活性。

最后,我进行了一个动态内存分配的实验。

我使用malloc函数动态地分配了一块内存,并通过指针进行访问和操作。

通过释放内存,我可以避免内存泄漏问题。

这个实验教会了我如何使用指针来管理内存,确保程序的健壮性和效率。

通过这些实验,我对C语言中的指针有了更深入的理解。

指针在C语言中扮演着重要的角色,掌握了指针的使用技巧和原理,能够提高程序的效率和功能。

我相信通过不断实践和学习,我的指针技能将得到进一步的提升。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

淮海工学院计算机科学系实验报告书
课程名:《计算机软件技术强化》
题目:指针实验
班级:
学号:
姓名:
1、实验内容或题目
(1)设计一个程序,将两个变量的值进行交换,要求通过指针实现。

(2)编写一个程序,求一个整型数组中最大的元素和最小的元素,要求通过指针实现。

(3)设计一个程序,用选择法或冒泡法将若干字符串按字母顺序进行排序。

要求用指针完成。

(4)使用指针数组对输入的三个整数序列(每个序列5个整数),分别从小到大进行排序,排序方法不限。

(5)编写一个程序,判断用户输入的两个字符串是否相同,其中字符串可能含有空格等,以回车符表示输入结束。

2、实验目的与要求
⑴进一步掌握指针的概念,会定义和使用指针变量。

⑵能正确地使用数组的指针和指向数组的指针变量。

⑶能正确地使用字符串的指针和指向字符串的指针变量。

3、实验步骤与源程序
⑴实验步骤
1、画出流程图
2、编写源程序
3、程序运行测试
4、实验结果分析
⑵流程图、源代码
(1):
(2)
(3)
(4)
(5)
测试数据与实验结果(可以抓图粘贴)
题1
题2
题3
题4
题5
4、结果分析与实验体会
进一步掌握指针的概念,会定义和使用指针变量。

能正确地使用数组的指针和指向数组的指针变量。

能正确地使用字符串的指针和指向字符串的指针变量。

相关文档
最新文档