版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、河南理工大学c语言课程设计报告河南理工大学计算机科学与技术学院c语言课程设计报告课程名称: c 语言课程设计 题 目: 字符串类 设 计 者: 余小敏 专业班级: 网络1103 学 号: 311109040311指导教师: 刘 洁 2012年6月26日河南理工大学一、设计目的本程序旨在训练基本编程能力,了解字符串的相关操作以及函数调用及形参传递的方法。本程序中涉及函数的定义、声明、调用,以及关于形参的传递,又涉及到指针的运用和字符串函数的使用。通过练习,对c语言中字符串的应用有更深的了解,进一步提高编程能力。二、功能描述实现字符串的常用的五个功能。(1) 初始化字符串(2) 获得字符串长度(3
2、) 查找字符或字符串(4) 字符串连接(5) 字符串比较三、总体设计功能模块设计(1) 主控main()函数执行流程 首先是两种字符串的初始化;然后调用测字符串长度函数;接着根据输入的需查找的字符串或字符,返回查找到的个数,从而知道是否查找到;接着执行字符串连接;最后进行两个字符串的比较。(2) 初始化字符串模块 利用gets();语句来实现,从而初始化字符串。源程序如下:printf(input string1:n);gets(str1);printf(input string2:n);gets(str2);(3)获得字符串长度利用strlen( );语句来实现,从而测量字符串的长度。原程序
3、如下:k=strlen(str1);printf(%d,k);(4)查找字符或字符串 利用fun1()函数来调用,其中利用指针来依次访问要查找的字符串与原来的字符串所对应字符是否相等,若查找到,返回查找的次数;若果没有查找到,则返回0。源程序如下:intfun1(char*str1,char*t)intn;char*p,*r;n=0;while(*str1)p=str1;r=t;while(*r)if(*r=*p)r+;p+;elsebreak;if(*r=0)n+;str1+;returnn;(5)字符串连接 方法一:利用fun2()函数来实现。先定义两个字符串数组,然后利用for循环计算出
4、第一个字符串的长度,再依次把第二个字符串的字符依次连接到它的后面,最后在其后加上字符串结束标志。源程序如下:voidfun2(charp1,charp2)inti,j;for(i=0;p1i!=0;i+);for(j=0;p2j!=0;j+)p1i+=p2j;p1i=0;方法二:利用字符串连接函数strcat来实现。把字符串2连接到字符数组1中字符串得后面,并删去字符串1的串标志0,结果字符串的长度是两个字符串长度之和。源程序如下:strcat(str1,str2);puts(str1);(6)字符串比较 方法一:利用字符串比较函数strcmp()函数来实现。函数返回值为整数:如果字符串1=字
5、符串2,函数返回值为0;如果字符串1字符串2,函数返回值为一个正整数;如果字符串10)printf(str1str2n);if(d0)printf(str1str2n);/*字符串的比较方法一*/方法二:利用编写函数scmp完成字符串的比较。形参是变量名的方法:源程序如下:int scmp(chars1,chars2)inti;for(i=0;s1i!=0;i+)if(s1i!=s2i)break;return(s1i-s2i);形参是指针变量:源程序如下:intscmp(char*s1,char*s2) for(;*s1!=0;s1+,s2+)if(*s1!=*s2)break;return
6、(*s1-*s2);四、运行结果如下图所示:五、设计总结通过这次设计,我得到了很大的锻炼。从中发现了许多自己在编程过程中没注意的问题,通过不断的改善和总结,对编程的严谨有了更高的认识。从中吸取了血多宝贵的经验,为以后更加深入的学习,开好了头。我发现自己有很多知识还理解的不够到位,需要自己课下好好下功夫,这样才会使自己的编程能力更上一层台阶。虽然编程的过程也许会很枯燥,但成功的喜悦能带给我们很强的成就感。我决定以后要多注意良好的编程习惯,从而使自己养成严谨的作风 参考文献【01】贾宗璞 许合利 c程序设计 人民邮电出版社 2011.8【02】c语言程序设计精品课程网站 2012.6【03】覃征,
7、王志敏 程序设计方法与优化 西安交通大学出版社 2004【04】彭四伟,赵彤洲,高巍 c语言程序设计 清华大学出版社 2002 六、源程序如下#include#includevoidfun2(charp1,charp2)inti,j;for(i=0;p1i!=0;i+);for(j=0;p2j!=0;j+)p1i+=p2j;p1i=0;intfun1(char*str1,char*t)intn;char*p,*r;n=0;while(*str1)p=str1;r=t;while(*r)if(*r=*p)r+;p+;elsebreak;if(*r=0)n+;str1+;returnn;/*int
8、scmp(chars1,chars2)inti;for(i=0;s1i!=0;i+)if(s1i!=s2i)break;return(s1i-s2i);*/intscmp(char*s1,char*s2) for(;*s1!=0;s1+,s2+)if(*s1!=*s2)break;return(*s1-*s2);main()intk,m,d;charstr1100,str240,t50;printf(input string1:n);gets(str1);printf(input string2:n);gets(str2);/* 字符串的初始化*/k=strlen(str1);printf(%d,k);/*侧字符串的长度*/printf(n please enter substring t:);gets(t);m=fun1(str1,t);printf(n the result is :m=%dn,m);/*字符串的查找*/*strcat(str1,str2);puts(str1);*/*字符串的连接*/printf(n);printf(invoke fun2(str1,str2):n);fun2(str1,str2);printf(after invoking:n);printf(%sn,str1);/*d=strcmp(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国金融出版社有限公司2026校园招聘4人笔试历年典型考点题库附带答案详解
- 秀山土家族苗族自治县2025二季度重庆秀山事业单位招聘132人笔试历年参考题库典型考点附带答案详解(3卷合一)
- 松原市2025年吉林松原市事业单位招聘入伍高校毕业生(11人)笔试历年参考题库典型考点附带答案详解(3卷合一)
- 国家事业单位招聘2025商务部中国国际电子商务中心招聘1人笔试历年参考题库典型考点附带答案详解(3卷合一)
- 北京市2025商务部国际经济合作事务局招聘应届毕业生2人笔试历年参考题库典型考点附带答案详解(3卷合一)
- 2025年六安安徽和襄高速公路有限公司招聘费收人员管护队人员192人笔试参考题库附带答案详解
- 2026年反洗钱远程培训终结性考试题库含答案(考试直接用)
- 2026年时事政治测试题库【研优卷】
- 2026年摩托车科目一测试题库及答案(各地真题)
- 2026年交管12123驾照学法减分题库及答案【典优】
- 11116《机电控制工程基础》国家开放大学期末考试题库
- 2025年机关工会工作总结及2025年工作计划
- 2026年扎兰屯职业学院单招职业适应性测试题库及参考答案详解
- 广西贵百河2025-2026学年高一上学期12月联考化学试题
- 2025年初级海外优化师面试题库及答案
- 雨课堂在线学堂《医学科研设计》作业单元考核答案
- 新闻的定义与特点课件
- 模 具 成 本 分 析 表
- 高中历史选修一 第13课 当代中国的民族政策 教学设计
- 发电机出口断路器GCB介绍
- 医院清洗服务方案
评论
0/150
提交评论