C语言程序设计(实验七)
2020-12-28 01:27
标签:puts 实验目的 inf mamicode 运用 指针运算 实现 维数 return (1)8.3.1 指针基础及指针运算 1.实验代码 2.问题的简单描述 1.实验代码 2.问题的简单描述 1.实验代码 2.问题的简单描述 1.实验代码 2.问题的简单描述 知识点小结: C语言程序设计(实验七) 标签:puts 实验目的 inf mamicode 运用 指针运算 实现 维数 return 原文地址:https://www.cnblogs.com/zqpyn1003-0525/p/13030233.html姓名:邹琼
实验地点:学校
实验时间:2020年6月2日
实验项目:
(1)8.3.1 指针基础及指针运算
(2)8.3.2 数据交换
(3)8.3.3 字符串反转及字符串连接
(4)8.3.4 数组元素奇偶排列
一、实验目的
①加强对指针数据类型的理解;
②熟悉指针的定义、通过指针间接访问变量的方法;
(2)8.3.2 数据交换
①加强对指针类型作为函数参数传递的理解;
②通常将实参传递给形参时,有两种方式,即按值传递和按地址传递,其中指针类型参数即按地址传递;
(3)8.3.3 字符串反转及字符串连接
①加强对字符指针及将指针作为函数的返回类型的理解;
②通过指针对字符串进行操作;
(4)8.3.4 数组元素奇偶排列
①加强对使用指针对数组进行操作的理解;
②通常数组的名称即整个数组的起始存储地址;二、实验内容
(1)8.3.1 指针基础及指针运算
#include
①使用指针变量,调用scanf()函数分别输入a和b的值;
②按十六进制方式输出p、q的值及a、b的地址;
③将p指向c,通过p间接访问c的值并输出;
3.问题分析
①在scanf()函数中,自第二个参数开始,必须使用地址或地址变量;
②使用printf()来输出指针,可以使用%p、%x格式符来输出十六进制的地址;
③p、&c是等价的,都是指向变量c的地址;
4.实验结果(2)8.3.2 数据交换
#include
①定义指针类型函数用于a,b值的交换;
②第二个函数实参的传递;
3.问题分析
①定义swap2(int *x, int *y),形参x、y是整型指针变量;
②在swap2函数内将通过引用地址取值方式,实现对a、b的值的交换;
③当使用指针作为形参时,实参必须是地址,也应是数组名;
4.实验结果(3)8.3.3 字符串反转及字符串连接
#include
①定义一个函数将字符串反转;
②定义一个函数将两个字符串连接起来;
3.问题分析
①字符串反转,需要使用两个指针,一个指向起始字符,另一个指向结束字符,相向移动指针q++;p--;
,并交换相应位置的字符;
②第二个函数,需要一个指针移动到第一个字符串的结束字符‘\0‘上,然后将该指针指向第二个字符串,并依次做赋值处理;
③使用返回指针的函数时,在函数最后需要使用return语句返回一个指针值;
4.实验结果(4)8.3.4 数组元素奇偶排列
#include
①定义一个函数,实现数组元素奇数在左,偶数在右的排列;
②奇偶数的条件判断;
③指针的相向移动;
3.问题分析
①定义arrsort()函数,实现奇左偶右;
②需要用到p、q两个指针,p向后移动直到遇到偶数,q向前移动,直到遇到奇数,然后将p、q所指位置的元素进行交换,继续循环;
③一个指向一维数组的指针加1或减1运算将指向数组的下一个元素或前一个元素;
4.实验结果三、实验小结
(1)运算符
①&运算符成为“取地址运算符”;
②运算符称为"指针运算符",也称为"间接运算符";
(2)运用指针,p、*q间接输出
a,b的值;
(3)指针类型作为函数参数传递时,当使用指针作为形参,实参必须是地址,也应是数组名;
(4)输入字符串的最后一个字符为\0;
个人心得:
本章实验内容比较少,需要完成的内容做起来也还行。这次的实验也加深了上理论课时的知识点,发现短处也及时弥补了。个人而言,指针这一章相较于前面几章,理解上有点难度,但多看书多体会就还好吧。
上一篇:Python的私有变量和私有方法
下一篇:Visual Studio编译C++报错:'sprintf': This function or variable may be unsafe