1、 计算机科学与技术学院计算机科学与技术学院 C 语言语言课程设计报告课程设计报告 课程名称课程名称: C 语言课程设计语言课程设计 题题 目目: 字符串类字符串类 一、一、设计目的设计目的 本程序旨在训练基本编程能力,了解字符串的相关操作 以及函数调用及形参传递的方法。本程序中涉及函数的定 义、声明、调用,以及关于形参的传递,又涉及到指针的运 用和字符串函数的使用。通过练习,对 C 语言中字符串的应 用有更深的了解,进一步提高编程能力。 二、功能描述二、功能描述 实现字符串的常用的五个功能。 (1) 初始化字符串 (2) 获得字符串长度 (3) 查找字符或字符串 (4) 字符串连接 (5) 字
2、符串比较 三三、总体设计、总体设计 功能模块设计 (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。 源程序如下: int fun1(char *str1,char*t) int n;char *p,*r; n=0; while(*str1) p=str1; r=t; while(*r) if(*r=*p) r+;p+; else break; if(*r=0) n+; str1+; return n; (5)字符串连接 方法一:利用
4、 fun2()函数来实现。先定义两个字符串数 组,然后利用 for 循环计算出第一个字符串的长度,再依次 把第二个字符串的字符依次连接到它的后面,最后在其后加 上字符串结束标志。 源程序如下: void fun2(char p1,char p2) int i,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=字符串 2,函数返回值为 0;如 果字符串 1字符串 2,函数返回值为一个正整数;如果字符 串 10) printf(“str1st