实验六--数组、指针与字符串-评讲(9页).doc





《实验六--数组、指针与字符串-评讲(9页).doc》由会员分享,可在线阅读,更多相关《实验六--数组、指针与字符串-评讲(9页).doc(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-实验六-数组、指针与字符串-评讲-第 9 页姓名: 学号: 班级: 2012计本实验六 数组、指针与字符串(4学时)n 实验目的(1)学习使用数组数据对象(2)学习字符串数据的组织和处理(3)学习标准C+库的使用(4)掌握指针的使用方法(5)练习通过Debug 观察指针的内容及其所指的对象的内容(6)练习通过动态内存分配实现动态数组,并体会指针在其中的作用(7)分别使用字符数组和标准C+库练习处理字符串的方法n 实验任务1) 以例6-3为基础,观察对象数组的声明与引用过程,并与单对象的引用过程的区别。2) 以例6-10为基础,观察用指针作为函数参数传递数据的方法,进一步理解值传递与引用传递的
2、思想3) 以例5-11为基础,完成例 5-25,比较二者的异同4) 编写并测试3*3矩阵转置函数,使用数组保存3*3矩阵。5) 使用动态内存分配生成动态数组来重新完成第(4)题,使用指针实现函数功能6) 编程实现两字符串的连接。要求使用字符数组保存字符串,不要使用系统函数。7) 使用string类声明字符串对象,重新实现第(6)。8) 声明一个Employee类,其中包括姓名、街道地址、城市和邮编等属性,以及change_name()改变对象的姓名属性,实现并测试这个类。9) 声明包含5个元素的对象数组,每个元素都是Employee类型对象。n 评讲部分4)编写并测试3*3矩阵转置函数,使用数
3、组保存3*3矩阵。#include using namespace std;void move (int matrix33)int i, j, k; for(i=0; i3; i+)for (j=0; ji; j+)k = matrixij;matrixij = matrixji;matrixji = k;int main()int i, j;int data33;cout 输入矩阵的元素 endl;for(i=0; i3; i+)for (j=0; j3; j+)cout 第 i+1 行第 j+1 dataij;cout 输入的矩阵的为: endl;for(i=0; i3; i+)for (
4、j=0; j3; j+) cout dataij ;cout endl;move(data);cout 转置后的矩阵的为: endl;for(i=0; i3; i+)for (j=0; j3; j+) cout dataij ;cout endl;5)使用动态内存分配生成动态数组来重新完成第(4)题,使用指针实现函数功能(结果与4题同)#include using namespace std;void move (int *matrix)int i, j, k;for(i=0; i3; i+)for (j=0; ji; j+)k = *(matrix + i*3 + j);*(matrix +
5、 i*3 + j) = *(matrix + j*3 + i);*(matrix + j*3 + i) = k;int main()int i, j;int *p = new int3*3;cout 输入矩阵的元素 endl;for(i=0; i3; i+)for (j=0; j3; j+)cout 第 i+1 行第 j+1 pi*3 + j;cout 输入的矩阵的为: endl;for(i=0; i3; i+)for (j=0; j3; j+)cout pi*3 + j ;cout endl;move(p);cout 转置后的矩阵的为: endl;for(i=0; i3; i+)for (j
6、=0; j3; j+)cout pi*3 + j ;cout endl;6)编程实现两字符串的连接。要求使用字符数组保存字符串,不要使用系统函数。#include using namespace std;int main()int i=0,j=0;char s1200,s2100;cout s1;cout s2;while(s1i)i+;while(s2j)s1i+ = s2j+;s1i = 0; /注释该句会有什么结果cout 连接后的字符串为: s1 endl;7) 使用string类声明字符串对象,重新实现第(6)(结果同6)。#include #include using namesp
7、ace std;int main()string s1;string s2;cout s1;cout s2;s1 += s2;cout 连接后的字符串为: s1 endl;8)声明一个Employee类,其中包括姓名、街道地址、城市和邮编等属性,以及change_name()改变对象的姓名属性,实现并测试这个类。/employee.h#include #include using namespace std;class Employeeprivate:char name30;char street30;char city18;char zip7;public:Employee(char *n,
8、 char *str, char *ct, char *z);void change_name(char *n);void display();Employee:Employee (char *n,char *str,char *ct, char *z)strcpy(name, n);strcpy(street, str);strcpy(city, ct);strcpy(zip, z);void Employee:change_name (char *n) strcpy(name, n);void Employee:display ()cout name street ;cout city z
9、ip endl;/ lab6_5.cpp#include employee.hint main()Employee e1(张三,平安大街号, 北京, 100000);e1.display();cout endl;e1.change_name(李四);e1.display();cout endl;9)声明包含5个元素的对象数组,每个元素都是Employee类型对象。/ lab6_6.cpp#include employee.hint main()Employee emp5 = Employee(张三,平安大街号, 北京, 100000), Employee(李四,王府井大街号, 北京, 1000
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 数组 指针 字符串

限制150内