东莞理工c语言实验七报告(指针)

合集下载

C语言实验报告8《指针》

C语言实验报告8《指针》
三、实验过程描述
#include <stdio.h>
void fun(int *a,int n,int *odd,int *even)
{int i;
*odd=0;*even=0;
for(i=0;i<n;i++)
{if(a[i]%2==0)
*even+=a[i];
else *odd+=a[i];}}
int main()
fun(a,n,&odd,&even);
printf("奇数之和%d,偶数之和%d\n",odd,even);
}
四、结果分析
.
{int n,*a,odd = 0,even = 0,i;
printf("请输入n的值n=\n");
scanf("%d",&n);
a = (int *)malloc(sizeof(int) * n);
printf("请输入数组的值");
for(i=0;i<n;i++)
scanf("%d",&a[i]);
嘉应学院计算机ห้องสมุดไป่ตู้院
实验报告
课程名称
C语言程序设计
实验名称
指针
实验地点
指导老师
实验时间
提交时间
班级
姓名
座号
一、实验目的和要求
(1)通过实验进一步掌握指针的概念,会定义和使用指针变量;
(2)能正确使用数组的指针和指向数组的指针变量;
(3)能正确使用字符串的指针和指向字符串的指针变量;
(4)了解指向指针的指针的概念及其使用方法。

c指针的实验报告

c指针的实验报告

c指针的实验报告C指针的实验报告引言:C语言作为一种高级编程语言,广泛应用于各个领域。

其中,指针作为C语言的重要特性之一,对于程序的灵活性和效率起着至关重要的作用。

本实验旨在通过实际的案例,详细探讨C指针的用法和特性。

一、指针的概念和基本用法指针是C语言中的一种数据类型,它存储了一个变量的内存地址。

通过指针,我们可以直接访问和修改变量的值。

在C语言中,可以通过使用"*"符号来声明和使用指针。

在实验中,我们首先定义了一个整型变量num,并通过指针p将其地址赋值给指针变量。

然后,通过指针p可以直接访问和修改num的值。

例如,通过*p = 10可以将num的值修改为10。

二、指针和数组的关系指针和数组在C语言中有着密切的联系。

事实上,数组名本身就是一个指针,它存储了数组首元素的地址。

通过指针,我们可以对数组进行遍历和操作。

在实验中,我们定义了一个整型数组arr,并通过指针p将数组的首地址赋值给指针变量。

然后,通过指针p可以对数组进行遍历和操作。

例如,通过*p = 0可以将数组的首元素的值修改为0。

三、指针和函数的关系指针在函数中的应用也是非常广泛的。

通过指针参数,我们可以在函数内部直接修改传入的变量的值,而不需要返回值。

这样可以提高程序的效率和灵活性。

在实验中,我们定义了一个函数swap,用于交换两个整型变量的值。

通过传入指针参数,我们可以在函数内部直接修改这两个变量的值。

例如,通过使用指针参数int *a和int *b,在函数内部可以通过指针来访问和修改a和b的值。

四、指针和动态内存分配动态内存分配是指在程序运行过程中,根据需要动态地分配和释放内存空间。

指针在动态内存分配中扮演了重要的角色。

通过指针,我们可以使用函数malloc和free来分配和释放内存空间。

在实验中,我们使用了函数malloc来动态地分配一块内存空间,并将其地址赋值给指针变量。

然后,通过指针可以对这块内存空间进行读写操作。

C语言程序设计实验报告 实验7 指针.doc

C语言程序设计实验报告 实验7 指针.doc
void e(int*m,int*n);
void main()
{
int m,n;
printf("please inputm,n\n");
scanf("%d,%d",&m,&n);
e(&m,&n);
printf("%d,%d",m,n);
}
void e(int*a,int*b)
{
int p;
p=*a;
*a=*b;
*b=p;
}
(2)运行结果
【实验7-2】用指针以及函数实现字符串的倒序输出。
(1)程序代码
#include<stdio.h>
#include<string.h>
void main()
{
char ch[100];
char *p;
int x;
gets(ch);
x=strlen(ch);
p=&ch[x-1];
void e(int a[])
{
int i,j,temp;
for(i=1;i<10;i++)
{
for(j=0;j<10-i;j++)
{
if(a[j]>a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j&#
}
void main()
{
int a[10];
int i;
printf("请输入数组元素");
for(i=0;i<10;i++)
{

C语言指针实验报告

C语言指针实验报告
【输入/输出示例】
1 0 2 3↙
2 3 0 4↙
0 1 0 2↙
nonezero=8
实验日期:年月日实验室名称:
在a数组中查找与从键盘输入的x相同的元素在数组中的下标。
【输入/输出示例】
11 23 45 31 65 78 82 14 55 91↙
31↙
position of 31 is 3
【输入/输出示例】Student↙
strlen=7
判断输入的字符串是否是“回文”(顺读和倒读都一样的字符串称“回文”)
【输入/输出示例】
level↙
yes
where↙
no
将字符串数组s2中的大写英文字母拼接到字符数组s1字符串的后面。
【输入/输出示例】
Visual↙
FoxPro↙
VisualFP
统计二维数组a[3][4]中非零元素的个数。
学生实验报称:指针应用
专业名称:
班级:
学号:
学生姓名:
教师姓名:
2018年月日
一.实验名称:
指针应用
二.实验目的与要求:
1.掌握指针的概念、定义方法及基本操作。
2.掌握通过指针操作数组元素的方法。
3.掌握通过指针操作字符串的方法。
三.实验内容:
用字符指针存放一个字符串,求该字符串的长度。

c语言指针实验报告

c语言指针实验报告

(1) 掌握指针的定义和使用方式;(2) 理解指针作为函数参数的方法。

实验任务(1)编写程序:输入一个字符串到一个字符数组中,调用一个自定义函数统计字符串的长度,输出该长度。

提示:自定义函数的功能和strlen一样。

参数为一个char型的指针,字符串以字符’\0’结束。

(2)编写程序:输入一个字符串到一个字符数组中,调用一个自定义函数将一个字符串中的大写字母变为小写字母,其余字符不变。

自定义函数只有一个参数:char型指针。

源程序1.#include<stdio.h>char num(char *s){int len = 0;while (*s != '\0'){len++;s++;}return len;}{char a[]="shuzimeiti";printf("字符串:%s\n",a);printf("长度为%d", num(a));return 0;}2.#include<stdio.h>char *change(char *p){while (*p != '\0'){if (*p <='Z'&&*p>='A'){*p = *p + 32;}p++;}return p;}{int i;char a[9];printf("请输入字符\n");scanf("%s", &a);change(a);for (i = 0; i < 9; i++){printf("%c", a[i]);}return 0;}运行结果实验总结掌握指针的定义和使用方式;能够运用指针进行编程;理解指针作为函数参数的方法。

C语言程序实验报告指针

C语言程序实验报告指针

数学与软件科学学院 实验报告学期:2011至 2012__ 第_1 学期 2011 课程名称 : 程序设计基础教程 -C 语言实验编号: 08实验项目: C 语言程序实验报告 指针 指导教师、实验目的及要求(1) 掌握 C 语言环境下指针的声明、定义和使用方法;(2) 掌握指针和变量以及指针和数组的关系;(3) 掌握指针、数组之间的关系;(4) 掌握指针、函数之间的关系。

二、实验内容1. 熟悉指针的基本使用方法。

(1) 请仔细分析以下程序段,并上机测试运行结果,对测试结果进行分析说 明。

1) 程序段一: int main() {int i=3,j=6,k=9;printf( “ i=%dj =%d k=%d n ” ,*(&i),j,k); return 0;}2) 程序段二:int main(void) {int nA,*p;float fB,*q; p=&nA; q=&fB; scanf( “ %d,%f ” , p, q);*p=nA*(*q);printf( “ n ” ,n A, p,*p);printf( “ n ” ,n A, q,*q);printf( “ p+1=%d q+1=%d n ” ,p+1,q+1);return 0; }3) 程序段三:int main(void){int nA,*p,**q,***r; p=&nA;q=&p;r=&q; printf( “ Please inputn ” ); scanf( “ %d ” ,**r); printf(The results are : ” );printf( n “A ' value is %d,%d,%d,%dn ”n ,A,*p,**q,***r);printf( n “A,p,q,r ' s value is %d,%d,%d,%nd ”n ,A,p,q,r);return 0;}(2) 设计一个 C 语言程序,以测试以下表达式的运算顺序。

c语言实验报告(指针)

c语言实验报告(指针)
二、实验环境
Windows XP系统,Microsoft visual c++6.0
三、实验内容
(1)输入3个整数,按由大到小输出。
(2)编制一函数实现任意3*3阶矩阵的转置,函数的参数用指针形式。
(3)编写一个函数,求一个字符串的长度。在main函数中输入字符串。并输出其长度。
四、源程序清单
(1)#include<stdio.h>
西安财经学院统计学院
《C语言程序设计基础》实验报告
实验名称指针实验室实验楼403实验日期2013-12-03
一、实验目的
1.掌握指针的概念,会定义和使用指针变量;
2.学会使用数组的指针和指向数组的指针变量;
3.学会使用字符串的指针和指向字符串的指针变量;
4.学会使用指向函数的指针变量;
5.了解指向指针的指针的概念及其使用方法。
{ int length(char*p);
int len;
char str[20];
printf("input string:");
scanf("%s",stntf("The length of string is %d.\n",len);
}
int length(char*p)
}
int trs(int *p)
{int i,j,k;
for(i=0;i<3;i++)
for(j=i;j<3;j++)
{k=*(p+3*i+j);
*(p+3*i+j)=*(p+3*j+i);
*(p+3*j+i)=k;

C语言实验报告《指针》[范本]

C语言实验报告《指针》[范本]

C语言实验报告《指针》[范本]
一、实验目的
本次实验旨在通过实验程序了解指针的基本概念及其运用,深入了解指针的用途。

二、实验内容
1. 熟悉指针基础知识
通过本次实验,学习并掌握指针的定义、运算规则、变量指针和函数指针的使用方法。

2. 编写相关实验程序
利用C语言编写实验程序,实现数组指针的操作、字符指针的操作、指针函数的调用等。

三、实验结果
1. 指针的定义
指针是一种指向另一种存储单元的变量使用的一种类型,它可以指向内存中的任何一
个位置。

指针存储的是指向另一个存储单元的地址。

2. 指针的运算规则
(1)取地址运算 &。

实验表明,& 符号具有取地址作用,把变量的地址赋给指针。

(3)算术运算。

实验表明,指针之间可以进行加减乘除运算,可以移动指针位置,以此实现指向某一
数组元素。

3. 数组指针操作
实验程序中,采用“指向指针的指针”的定义,实现了多维数组的操作,实现地址的
跳转和访问,改变指针变量的地址,实现对数组的操作。

实验程序中,采用“字符串”方法,改变指针变量的地址,实现对字符串的操作。


历一条字符串,用指针变量一个一个地取得字符,此时的指针变量的值就是各个字符的地址。

5. 指针函数的调用。

C语言实验程序总结 实验七 指针

C语言实验程序总结 实验七 指针

C语言实验程序总结实验七指针c语言实验程序、总结实验七指针一、实验目的实验七指针1.理解指针的概念,学习定义和使用指针变量。

2掌握指针、变量和数组的关系和用法。

3.学习使用指向函数的指针变量。

二实验内容1编写函数fun(float*Sn,INTN),其函数是根据以下公式计算s,计算结果通过形式参数Sn返回;N通过参数传入,N的值大于或等于0。

在计算机上运行并记录输入和输出(主要功能已给出)。

s?1?1111????3572n?1fun(float*sn,intn){定义变量:和s,一般术语W,符号F,循环控制变量I;/*其中s和F将被初始化*/循环累加和s{改变符号;/*由负变正或由正变负*/找出一般术语W;累加:S+=w;}形参指针变量sn赋值;/*通过形参sn传回累加和s*/}main(){浮动;intn;printf(\n=\);scanf(\%d\,&n);fun(&s,n);printf(\s=%f\\n\,s);}完整程序如下:#包括voidfun(float*sn,intn){floats=0.0,w,f=-1.0;inti=0;对于(i=0;i<=n;i++);{f=(-1)*f;w=f/(2*i+1);s+=w;}*sn=s;}main(){浮动;intn;printf(\fun(&s,n);printf(\}输出结果如下图:2.如果你想让指针变量pT1指向a和B中较大的一个,而pT2指向较小的一个,下面的程序能达到这个目的吗?交换(int*p1,int*p2){int*p;p=p1;p1=p2;p2=p}main() {inta,b;int*pt1,*pt2;scanf(\%d,%d\,&a,&b);pt1=&a;pt2=&b;if(aprintf(\%d,%d\\n\,*pt1,*pt2);]上机调试此程序。

如果不能实现题目要求,指出原因并修改之。

C语言实验7 指针实验报告

C语言实验7  指针实验报告
将数组明作为函数实参,在执行函数的过程中实现矩阵转置,函数调用结束后在主函数中枢出已转置的矩阵。
实验内容3::有一个班4个学生,5门课。①求第一门课的平均分;②找出有2门以上课程不及格的学生,输出他们的学号和全部课程成绩和平均成绩;③找出平均成绩在90分以上或全部课程成绩在85分以上的学生。分别编3个函数实现以上3个要求。
return 0;
}
void sub_ave(float (*a)[5],int n)
{
int i;
float sum=0;
for(i=0;i<4;i++)
sum=sum+*(*(a+i));
printf("第一门科目的平均分为%.2f\n",sum/4);
}
void search1(float (*a)[5],int n)
*(*(a+i)+j)=*(*(a+j)+i);
*(*(a+j)+i)=t;
}
}
实验三
#include<stdio.h>
int main()
{
float a[4][5];
void sub_ave(float (*a)[5],int ),search1(float (*a)[5],int ),search2(float (*a)[5],int );
return 0;
}
实验二
#include<stdio.h>
int main()
{
int a[3][3];void f(int (*a)[3]);
int i,j;
for(i=0;i<3;i++)

C语言程序实验报告 指针

C语言程序实验报告 指针
printf(“p+1=%d q+1=%d\n”,p+1,q+1);
return 0;
}
实验结果见图二。
3)程序段三:
intmain(void)
{
intnA,*p,**q,***r;
p=&nA;q=&p;r=&q;
printf(“Please inputnA::\n”);
scanf(“%d”,**r);
voidswap(int *p1,int *p2)
{
int *p;
p=p1;p1=p2;p2=p;
}
intmain(void)
{
intnA,nB;
int *pt1,*pt2;
scanf(“%d,%d”,&nA,&nB);
pt1=&nA;pt2=&nB;
if (nA<nB) swap(pt1,pt2);
(3)掌握指针、数组之间的关系;
(4)掌握指针、函数之间的关系。
二、实验内容
1.熟悉指针的基本使用方法。
(1)请仔细分析以下程序段,并上机测试运行结果,对测试结果进行分析说明。
1)程序段一:
intmain()
{
int i=3,j=6,k=9;
printf(“i=%d j=%d k=%d\n”,*(&i),j,k);
printf("b is %f,pt_b is %d and *pt_b is %d\n",b,pt_b,*pt_b);
printf("pt_m+1=%d pt_b+1=%d\n",pt_m+1,pt_b+1);

C语言实验六实验报告—指针

C语言实验六实验报告—指针

C语言实验六实验报告—指针实验六:指针实验报告一、实验目的1.了解指针的概念和作用;2.掌握指针与数组、函数的关系;3.熟悉指针的运算和指针的应用。

二、实验内容1.指针的定义和初始化;2.指针与数组的关系;3.指针与函数的关系。

三、实验原理1.指针的定义和初始化指针是一个变量,其值为另一个变量的地址。

可以使用指针来访问和修改内存中的数据。

指针的定义格式为:数据类型*指针名;可以使用&运算符来获取变量的地址,并将其赋值给指针。

2.指针与数组的关系数组是一组相同类型的数据的集合,而指针可以指向数组的首地址。

通过指针可以访问数组中的元素。

数组名本身就是一个指针常量,存储了数组的首地址。

定义指针指向数组时,可以使用数组名作为初始化值。

3.指针与函数的关系函数可以接受指针作为参数,通过指针可以修改传递给函数的变量的值。

函数也可以返回指针,指向在函数内部创建的局部变量。

需要注意的是,在使用指向局部变量的指针时要小心,因为函数执行完毕后,局部变量会被释放,指针将指向无效的内存地址。

四、实验步骤1.指针的定义和初始化定义一个整型变量a,并使用指针p指向a的地址。

使用*p来访问a 的值,使用&运算符获取a的地址并给指针p赋值。

2.指针与数组的关系定义一个整型数组arr,并使用指针p指向数组的首地址。

使用p[i]来访问数组的元素,使用*(p+i)也可以实现相同的效果。

3.指针与函数的关系定义一个函数,接受一个指针作为参数,并使用指针修改传递给函数的变量的值。

定义一个函数,返回一个指针,指向在函数内部创建的局部变量。

在主函数中调用这两个函数,并打印出相应的结果。

五、实验结果1.指针的定义和初始化定义一个整型变量a,并初始化为10。

指针p指向a的地址,使用*p 来访问a的值。

2.指针与数组的关系定义一个整型数组arr,并初始化为{1, 2, 3, 4, 5}。

指针p指向数组的首地址,使用p[i]来访问数组的元素。

c 指针实验报告

c  指针实验报告

c 指针实验报告
C指针实验报告
在计算机编程中,指针是一种非常重要的概念。

它可以让程序员直接访问内存中的数据,从而实现更高效的操作。

本次实验旨在通过C语言编程实践,加深对指针的理解和运用。

实验一:指针的基本概念
首先,我们创建了一个简单的C程序,通过指针来访问一个整型变量的地址和数值。

通过这个实验,我们深入了解了指针的概念和基本操作。

实验二:指针的运算
接着,我们进行了指针的运算实验。

我们对指针进行了加法和减法运算,并观察了其结果。

这个实验帮助我们更好地理解了指针的运算规则和原理。

实验三:指针和数组
在这个实验中,我们将指针和数组结合起来使用。

我们通过指针来访问数组的元素,并进行了一些简单的操作。

这个实验让我们更加熟悉了指针和数组之间的关系。

实验四:指针和函数
最后,我们进行了指针和函数的实验。

我们编写了一些函数,其中包括了指针作为参数和返回值。

通过这个实验,我们学会了如何在函数中使用指针,并且理解了指针在函数调用中的作用。

通过这些实验,我们对C指针有了更深入的理解和掌握。

指针作为C语言中的重要概念,对于程序员来说是必须要掌握的。

通过实践,我们不仅加深了对指针的理解,还提高了编程能力和技术水平。

希望通过这次实验,能够对大家有
所帮助,也希望大家能够继续深入学习和探索C语言的奥秘。

东莞理工c语言实验七报告(指针)

东莞理工c语言实验七报告(指针)

实验七:指针专业:班级:学号:姓名:完成时间:成绩:一、实验目的二、实验内容第二题:1)题目要求程序功能:输入一个正整数n(1≤n≤10),然后输入n个整数存入数组a中,再输入一个整数x,查找并统计数组a中包含x的元素个数。

要求定义函数count(int *p,int n,int x),查找并统计指针p指向的数组中包含x的元素个数。

其中:n为指针p所指向数组的元素个数。

在main函数中调用count函数实现程序功能。

2)算法(流程图)3)源程序(截图)4)编译结果(截图东莞理工学院《程序设计基础》实验报告5)运行结果(截图))运行结果(截图)第三题:第三题:1)题目要求)题目要求 程序功能:输入一个整数n (1≤n≤10),然后输入n 个整数存入数组a 中,要求定义一个函数void sort (int *p ,int n ),用选择法对指针p 所指向的数组进行升序排列,所指向的数组进行升序排列,其中:其中:n 为p 所指向数组的元素个数。

所指向数组的元素个数。

在在main 函数中调用sort 函数实现排序,最后输出排序后的结果。

函数实现排序,最后输出排序后的结果。

2)算法(流程图))算法(流程图) 3)源程序(截图))源程序(截图)4)编译结果(截图))编译结果(截图))运行结果(截图)5)运行结果(截图)第六题:第六题:)题目要求 程序功能:连续输入5个以空格分隔的字符串(字符串的长度1)题目要求,不超过80),输出其中最大的字符串。

例如:输入:li wang zhang jin xiao输出:zhang。

2)算法(流程图))算法(流程图))源程序(截图)3)源程序(截图))编译结果(截图)4)编译结果(截图))运行结果(截图)5)运行结果(截图)第八题:第八题:)题目要求 程序功能:编写一个函数delchar(s,c),该函数将字符串s中出现1)题目要求的所有c字符删除。

在主函数中输入一个字符c和一个字符串s,调用delchar(s,c)函数删除字符串s中所有c字符,然后输出删除后的字符串。

C语言实验报告《指针》

C语言实验报告《指针》

C语言实验报告《指针》C语言实验报告《指针》学号:__________ 姓名:__________ 班级:__________ 日期:__________指导教师:__________ 成绩:__________实验五指针一、实验目的1、掌握指针的概念、会定义和使用指针变量2、掌握指向数组的指针变量3、掌握字符串指针的使用二、实验内容1、输入3个字符串,按由小到大的顺序输出。

(习题10.2)2、写一函数,求一个字符串的长度。

在main函数中输入字符串,并输出其长度。

(习题10.6)3、完善程序,要求使用函数功能:将一个数字字符串转换成一个整数(不得调用C语言提供的将字符串转换为整数的函数)。

例如,若输入字符串“-1234”,则函数把它转换为整数值-1234。

#inlude <STDIO.H> #inlude <STRING.H> long fun{ 填写程序} void main { har s; long n; printf; gets; n=fun; printf; }一、三、实验步骤与过程第一┆.lizhi12整理该文章,版权归原作者、原出处所有...四、程序调试记录附送:C语言实验报告《数组》C语言实验报告《数组》学号:__________ 姓名:__________ 班级:__________ 日期:__________指导教师:__________ 成绩:__________实验三数组一、实验目的1、掌握一维和二维数组的定义、赋值和输入输出2、掌握字符数组和字符串数组的使用3、掌握与数组有关的排序算法二、实验内容1、已有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组中。

(习题7.4)2、将一个数组中的值按逆序重新存放。

例如,原来顺序为8,6,5,4,1。

要求改为1,4,5,6,8。

(习题7.5)3、如下程序是按选择法对数组中的n个元素按从小到大的顺序排序,请对程序中的错误进行改正,使其正常运行。

指针的应用实验报告实验总结

指针的应用实验报告实验总结

指针的应用实验报告实验总结
指针是C语言中一个非常重要的概念,它可以使程序更加灵活和高效。

本实验通过实际应用,进一步深入了解了指针的使用方法和作用。

在本次实验中,我们首先学习了指针的基本概念和语法。

指针是一个变量,用来存储其他变量的内存地址。

通过指针,我们可以直接访问和修改其他变量的值,而不需要通过变量名。

在实验中,我们通过定义指针变量并使用取址运算符“&”将其指向其他变量的内存地址。

接着,我们学习了指针与数组之间的关系。

数组名本身就是一个指针,它存储了数组首元素的地址。

我们可以通过指针来遍历数组,并对数组元素进行操作。

同时,我们还学习了指针与字符串的关系。

字符串实际上是一个以空字符结尾的字符数组,通过指针,我们可以对字符串进行读取和修改。

在实验过程中,我们还学习了指针和函数的结合使用。

通过指针参数,我们可以在函数内部直接修改传入的变量,而不需要返回值。

这种方式可以使函数更加高效和灵活。

我们还学习了指针的动态内存分配,通过动态分配内存,我们可以在程序运行时动态地申请和释放内存,提高程序的灵活性。

通过本次实验,我深刻理解了指针的概念和应用。

指针作为C语言中的一项重要特性,能够极大地拓展程序的功能和性能。

掌握指针的使用方法,可以使程序更加高效、灵活和易于维护。

在以后的编程工作中,我将更加深入地学习和应用指针,提高自己的编程能力。

C语言指针实验报告-c语言指针心得

C语言指针实验报告-c语言指针心得
C
实验名称
指针
学院
机械工程与自动化
专业班级
机械1003
姓名
学号
任课教师
实验时间
1
(1)掌握指针的概念,会定义与使用指针变量;
(2) 能正确使用变量的指针与指向变量的指针变量;
(3) 能正确使用数组的指针与指向数组的指针变量;
(4) 能正确使用字符串的指针与指向字符串的指针变量;
2
将一个任意整数插入到已排序的整形数组中,插入后,数组中的数仍然保持有序 要求:
(1) 整形数组直接由赋值的方式初始化,要插入的整数有seanf()函数数入;
(2)算法ቤተ መጻሕፍቲ ባይዱ现过程采用指针进行处理;
(3) 输入原始数据以及插入整数后的数据,并加以说明;

2021年C语言指针实验报告

2021年C语言指针实验报告

C语言程序设计试验汇报1试验目(1)掌握指针概念, 会定义和使用指针变量;(2)能正确使用变量指针和指向变量指针变量;(3)能正确使用数组指针和指向数组指针变量;(4)能正确使用字符串指针和指向字符串指针变量;2试验内容将一个任意整数插入到已排序整形数组中, 插入后, 数组中数仍然保持有序; 要求:(1)整形数组直接由赋值方法初始化, 要插入整数有scanf()函数数入; (2)算法实现过程采取指针进行处理;(3)输入原始数据以及插入整数后数据, 并加以说明;3算法描述步骤图4源程序#include<stdio.h>main(){int a[100],m,i,*p,n,w;printf("请输入要输入数组元素个数: \n");scanf("%d",&n);printf("请输入已排好序数组: \n");for(i=0;i<n;i++){scanf("%d",&a[i]);}printf("请输入要插入数: \n");scanf("%d",&m);p=a;while(*p<m)p++;w=*p;for(i=n-1;a[i]>=w;i--){a[i+1]=a[i];}a[i+1]=m;for(i=0;i<=n;i++){printf("%-4d",a[i]);}printf("\n");}5测试数据“1,3,5,7,9,11,13,15,17,19······10”6运行结果7出现问题及处理方法在编写过程中,for(i=n-1;a[i]>=w;i--){a[i+1]=a[i];}a[i+1]=m;这一步没有注意a[i++]=m和a[i+1]=m中i++和i+1不一样, a[i++]=m是先将值赋给a[i], 然后在实施自增; 而在试验过程中忽略了这一点, 造成了无须要麻烦;8试验心得经过这次指针试验掌握了指针概念, 会定义和使用指针变量, 而且能利用指针来简单化部分问题, 给以后编程带来了很大便利;。

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

实验七:指针
专业:班级:学号:姓名:
完成时间:成绩:
一、实验目的
二、实验内容
第二题:
1)题目要求程序功能:输入一个正整数n(1≤n≤10),然后输入n个整数
存入数组a中,再输入一个整数x,查找并统计数组a中包含x的元素个数。

要求定义函数count(int *p,int n,int x),查找并统计指针p指向的数组中
包含x的元素个数。

其中:n为指针p所指向数组的元素个数。

在main函
数中调用count函数实现程序功能。

2)算法(流程图)
3)源程序(截图)
4)编译结果(截图
5)运行结果(截图)
第三题:
1)题目要求程序功能:输入一个整数n(1≤n≤10),然后输入n个整数存
入数组a中,要求定义一个函数void sort(int *p,int n),用选择法对指针p 所指向的数组进行升序排列,其中:n为p所指向数组的元素个数。

在main 函数中调用sort函数实现排序,最后输出排序后的结果。

2)算法(流程图)
3)源程序(截图)
4)编译结果(截图)
5)运行结果(截图)
第六题:
1)题目要求程序功能:连续输入5个以空格分隔的字符串(字符串的长度不超过80),输出其中最大的字符串。

例如:输入:li wang zhang jin xiao,
输出:zhang。

2)算法(流程图)
3)源程序(截图)
4)编译结果(截图)
5)运行结果(截图)
第八题:
1)题目要求程序功能:编写一个函数delchar(s,c),该函数将字符串s中出现的所有c字符删除。

在主函数中输入一个字符c和一个字符串s,调用delchar(s,c)函数删除字符串s中所有c字符,然后输出删除后的字符串。

例如:输入字符a和字符串liwangzhajinxiao,输出:liwngzhjinxiao。

2)算法(流程图)
3)源程序(截图)
4)编译结果(截图)
5)运行结果(截图)
第九题:
1)题目要求编写一个函数strmcpy(s,t,m),该函数将字符串t从第m
个字符开始的全部字符复制到字符串s中去。

在主函数中输入一个字符串t
和一个开始位置m,调用strmcpy(s,t,m)函数,然后输出字符串s的结果。

例如:输入字符串liwangzhajinxiao和开始位置2,输出wangzhajinxiao。

2)算法(流程图)
3)源程序(截图)
4)编译结果(截图)
5)运行结果(截图)
第十题:
1)题目要求编写一个sort函数,实现对5个字符串按大到小进行排序。

在主函数中输入5个字符串,调用sort(s,n)函数对字符串s进行排序,然后输出排序后的结果。

例如:输入字符串li xiao wang zhang yu,输出:zhang yu xiao wang li。

2)算法(流程图)
3)源程序(截图)
4)编译结果(截图)
5)运行结果(截图)
三、实验体会。

相关文档
最新文档