C语言 实验4 数组程序设计(二).doc

preview
需积分: 0 0 下载量 58 浏览量 更新于2023-11-27 收藏 497KB DOC 举报
实验报告——C语言程序设计(二) 实验4的主题聚焦于字符数组和字符串的处理,旨在深化对字符数组的定义、初始化以及相关函数的应用的理解。字符数组是C语言中存储字符串的基础,而字符串则是由字符组成的序列,以空字符'\0'作为结束标志。 **一、实验内容与分析** 1. **程序分析与验证** - **程序1** 的功能是将两个输入的字符串拼接在一起。使用`gets()`函数分别读取两个字符串`s1`和`s2`,然后通过循环找到`s1`的结束位置,并将`s2`的字符逐个添加到`s1`的末尾,最后添加结束符`\0`。运行结果将显示拼接后的字符串。 - **程序2** 则用于演示`sizeof()`和`strlen()`的区别。`sizeof(a)`返回整个数组占用的内存字节数,而`strlen(a)`计算的是字符串的实际长度,不包括结束符`\0`。所以,尽管两个字符串内容相同,但`sizeof(a)`和`strlen(a)`的值不同,因为数组`a`在内存中占据的空间比只包含实际字符的`b`要大。 **二、程序填空** 1. **程序1** 的空白处应填写`m[k][i]`,使得程序能够正确输出数组的第三列,即3, 6, 9。 2. **程序2** 的填空部分: - 【a】应填写`1`,表示数组的主对角线元素初始化为1。 - 【b】和【c】组合起来表示对角线下方的元素值,应填写`a[i-1][j-1]`和`a[i-1][j]`,构建一个下三角矩阵。 - 【d】应填写`j<=i`,确保内层循环在行的边界内进行。 **三、编程题** 这个编程任务是寻找字符数组中特定字符的首次出现位置。程序通过遍历数组,用`if`语句检查每个元素是否等于目标字符。如果找到匹配项,立即输出下标并结束循环。未找到时,输出-1。 **四、实验体会** 在实验过程中,重点学习了字符数组的使用和字符串处理函数,如`gets()`和`strlen()`。易错点可能在于忘记在字符串末尾添加`\0`,或者在处理数组时越界。此外,理解和运用二维数组也是关键,需要清楚数组的索引是如何工作的。 通过这个实验,我们加深了对C语言数据结构的理解,特别是字符数组和字符串的操作,同时也锻炼了逻辑思维和编程技巧。多做练习确实有助于巩固知识,C语言的魅力在于其简洁性和强大的底层控制能力,它让编程变得既富有挑战性又充满乐趣。