《计算机基础与程序设计》第13周学习总结

学期(如2024-2025-16) 学号(如:20241404) 《计算机基础与程序设计》第13周学习总结

作业信息

这个作业属于哪个课程 https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP
这个作业要求在哪里 https://msg.cnblogs.com/item/4308888
作业正文 https://www.cnblogs.com/wangsiwen666/p/18621435

教材学习内容总结

《C语言程序设计》第十二章通常涉及的是C语言中的高级主题,不同版本的教材可能会有所不同,但一般会包括以下几个方面的内容:

  1. 文件操作

    • 文件的打开与关闭:fopen, fclose 函数的使用。
    • 文件的读写:fgetc, fputc, fgets, fputs, fprintf, fscanf 等函数。
    • 文件的定位:rewind, fseek, ftell 函数。
    • 文件的错误检测:feof, ferror 函数。
  2. 动态内存分配

    • 内存分配:malloc, calloc 函数。
    • 内存释放:free 函数。
    • 内存重新分配:realloc 函数。
    • 动态内存分配的注意事项和常见错误。
  3. 结构体和联合

    • 结构体的定义和使用。
    • 结构体数组和指针。
    • 结构体与函数。
    • 联合(Union)的定义和使用。
    • 枚举类型(Enumeration)。
  4. 位操作

    • 位运算符:&(位与)、|(位或)、^(位异或)、~(位取反)。
    • 位域(Bit Fields)。
    • 位操作的应用场景。
  5. 预处理器指令

    • #define 宏定义。
    • #include 指令。
    • #ifdef, #ifndef, #if, #endif 条件编译。
    • #undef 取消宏定义。
    • #pragma 指令。
  6. C语言标准库函数

    • 字符串处理函数:strcpy, strcat, strlen, strcmp, strncmp 等。
    • 数学函数:sin, cos, sqrt, pow 等。
    • 时间和日期函数:time, localtime, strftime 等。
  7. 错误处理和调试

    • 错误处理机制:assert 宏。
    • 调试技巧和工具的使用。
  8. C语言中的高级特性

    • 变长数组(VLA)。
    • 匿名函数(在C99中引入)。
  9. C语言与操作系统的交互

    • 系统调用和库函数。
    • 进程控制和信号处理。

这个总结是基于常见的C语言教材内容,具体章节内容可能会根据教材的不同有所差异。如果你有具体的教材或者想要了解某个特定主题的详细信息,可以提供更多的信息或者上传文件,我可以帮助你更详细地总结。

教材学习中的问题和解决过程(先问 AI)

(一个模板:我看了这一段文字 (引用文字),有这个问题 (提出问题)。 我查了资料,有这些说法(引用说法),根据我的实践,我得到这些经验(描述自己的经验)。 但是我还是不太懂,我的困惑是(说明困惑)。【或者】我反对作者的观点(提出作者的观点,自己的观点,以及理由)。 )

  • 问题1:如何使用malloc分配内存?
  • 问题1解决方案:malloc函数用于动态分配内存。它的原型是void *malloc(size_t size);,你需要传递需要分配的字节数。例如,分配一个整数的内存可以写作:
    int *ptr =(int *)malloc(sizeof(int));
  • 问题2:如何检查malloc是否成功分配了内存?
  • 问题2解决方案:在使用malloc后,应该检查返回的指针是否为NULL,因为如果内存分配失败,malloc会返回NULL。
    int *ptr = (int *)malloc(sizeof(int));
    if (ptr == NULL) {
    处理内存分配失败的情况
    }

基于AI的学习



代码调试中的问题和解决过程

  • 问题1:不会将数据块写入文件
  • 问题1解决方案:FILE *fp
    fp=fopen(“demo.txt””w”);
    Fscanf(fp,“%d”,stu[i].xh...)
  • 问题2:定义的函数中含有结构体时:
  • 问题2解决方案:Void 函数名(struct student stu[],...)

其他(感悟、思考等,可选)

  我在编写程序之前对结构体及文件,尤其是文件,掌握非常不牢固,但在做实验的过程中,我不断地翻书,学习例题,从理解例题、抄例题到自己独立写例题,我掌握了文件的相关知识。并且我发现了很多小问题,如函数中的结构体如何写,我之前一直认为是void 函数名(struct student...),在自己编写后才发现问题:应该是void 函数名(sturct student stu[])。最后为了提高程序的效率和可读性,我学会了如何优化代码。也在编程过程中的挑战学会了耐心和坚持。
posted @ 2024-12-21 21:57  王思文666  阅读(2)  评论(0编辑  收藏  举报