C语言编程:通讯录处理与字符串操作

需积分: 9 0 下载量 21 浏览量 更新于2024-07-26 收藏 262KB DOC 举报
本资源主要涵盖了C语言编程中的几个关键知识点,包括文件操作、数据结构以及字符串处理。 首先,关于【填空】部分,涉及到的是C语言文件I/O操作。题目要求在BLANK1.c中的`fun`函数中实现班级通讯录的存储。`fun`函数接收一个`STYPE`类型的指针数组`std`,用于存储学生信息(如编号、姓名和电话)。程序中提到要使用`fwrite`函数将数组`std`中的每个元素按照`STYPE`类型大小写入到`myfile5.dat`二进制文件中,这里`___1___`应填入`STYPE`,表示参数类型。`fwrite`的第三个参数是`1`,表示一次写入一个元素,`___3___`应填入`fp`,因为需要将数据写入文件指针指向的位置,即`fp`。 第二个填空部分在MODI1.C的`fun`函数中,其功能是处理字符串。函数接收两个字符指针`s`和`t`,将`s`中的字符按正序存放到`t`中,并将`s`中的字符逆序连接到`t`的末尾。这里,`strlen`函数计算`s`的长度,`sl`是`s`的长度,`for`循环中`i<=sl`应该是`i<sl+1`,因为`strlen`不包括字符串结束符,所以应该遍历到`sl`而不是`sl-1`。因此,`___2___`处应填写`char`,`___6___`处应填写`sl+1`。 最后,第三个填空部分涉及字符串拼接。在`PROG1.C`中的`fun`函数用于将两个两位数正整数`a`和`b`合并为一个整数`c`。这里的关键在于理解如何组合两个数的十位和个位。由于题目中给出的例子`a=45`和`b=12`合并后得到`4152`,说明了合并规则。因此,这里的代码没有明显错误,但为了完整性,可以在注释中提及`c`的定义和初始化,比如`int c = 0;`。不过这并不是填空部分,不影响函数本身。 总结来说,这段资源涵盖了C语言的文件操作(通过`fopen`和`fwrite`)、数据结构(通过`STYPE`类型的指针数组)以及字符串处理(正序和逆序遍历,字符串拼接)。学习者可以通过解答这些填空题目,深入理解C语言的这些核心概念。同时,需要注意保持代码结构不变,仅修复错误并添加必要的注释。