课程名称c/C++实验课时 2
实验项目 字符串的复制与追加 实验时间 08.5. 16
实验目的1.掌握字符串的基本操作和理解数据结构
实验环境VC 6.0
实验内容(算法、程序、步骤和方法)先计算出S1和S2的字符个数,为S3分配好空间,利用已有库函数先将S1复制到S3中,再将S2追加到S3中 , 当显示完后要记住收回空间,做好善后处理 。
源代码如下:
#includeiostream
#includestring.h
using namespace std;
int main()
{
char *s1="abcdef";
char *s2="123456f";
int n=strlen(s1)+strlen(s2);//计算s1,和s2的总长度n
char *s3=new char[n+1];//定义S3并分配空间大小为n
strcpy(s3,s1);//将s1复制到s3中
strcat(s3,s2);//将s2追加到s3后面
cout"s3="s3endl;
delete []s3;//收回空间
s3=NULL;//将指针指向空
return 0;
}
(接上)
实验内容(算法、程序、步骤和方法)
结构是顺序存储结构,算法顺序链接法
数据记录
和计算数据有:字符串S1,S2;和一未知字符串S3
只需计算前两个字符串长度之和
结论
(结 果)利用字符数组可以顺序存储字符数据,并且能够顺序处理数据;
算法复杂度O(n+m);处于中性
小结字符数组能够带来很好的存储结构,便于操作,但是算法不是很好,只能顺序遍历数组 , 故复杂度不是很小
指导老师评议
成绩评定:指导教师签名:
C语言实训总结在初学C语言的一个学期后,我们进行了C语言实训阶段,尝试自己编写一个比较复杂的程序系统 。在为期两周的时间中,我们同组的同学共同的感受是:C语言实训和平时上课所接触的程序是有很大不同的,所经受的考验和克服的困难是平时所无法比拟的 。好在同组的搭档们精诚合作,分工明确,有问题共同解决,攻克了C语言实训的复杂程序 。在这里 , 我作为其中的参与者,自然感触良多 。
刚开始接触到C的时候 , 我已经学过一些有关VB的内容,这个在算法和思维上稍微有点帮助 。回想本学期的学习,首先,最基本的,是C的数据格式,让我们知道整数,浮点数以及字符常量在C中的运用 。然后,在学会了数据转化 , 以及熟练的可以对各种数据处理之后,我开始进行有关数据结构,像数组,结构体等的学习,因为有的东西从现有的知识来看都是非常简单的,还没有联系到指针等等一些复杂的概念 。可是,仅仅学会这些是远远不够的,C语言中,还有很多更加经典、重要、实用的知识 。
说说函数 。虽说很多程序语言都有函数这一内容,但我觉得C语言的函数是最有魅力的了 。学习函数的方法是比较简单的 , 只有两个字“牢记”,即:牢记函数的功能,牢记函数的用途以及如何输入输出 。函数从本质上讲是一段通用程序,用它可以帮助我们节约很多编程的时间,学习C语言的“高人”都说 , 一个聪明的编程者在编写程序前往往总是先找自己所编写的程序中有多少是可以用函数来代替的 。比如,大家可以作一个比较字符串的实验,用C语言中的strcmp()函数只要一句话,而自己编写的话,30句都很难实现,可想而知函数的实用和快捷 。在我们C语言实训的代码中,函数更是得到了充分的应用,可以说,实训题目的复杂代码 , 就是用无数个函数的调用和嵌套积累出来的 。
要注意的是,有的同学刚刚开始的时候,都是被一些大的程序激励的 , 所以当开始的时候看到繁琐的数据转化和简单的算法,都觉得很无聊,都想自己做几个自己满意的程序来看看,虽然这种想法很好,但是,我们说,没有基础,纯粹是搬照一些现成设计方法 , 是不足取的 。要知道,程序设计讲究的是个人的思维的 , 假如刚开始就被一些现成的思想束缚?。?以后就会觉得很无趣 。
推荐阅读
- 开放世界沙盒养成游戏下载,开放世界沙盒游戏推荐
- 如何看待国内跨境电商,如何看待国内跨境电商发展
- 电源硬盘怎么连接手机,电源硬盘怎么连接手机上
- 精细动作游戏关于小动物,精细动作训练游戏动物
- vb.net做文件树 vbnet writeline
- 主播直播混响,主播直播混响怎么设置
- go语言写一个小应用 go语言程序
- 进度条设计html5,进度条设计加文字
- 华为g5500服务器内存,华为服务器内存插法