# 学期2024-2025-1学号20241300 《计算机基础与程序设计》第12周学习总结

作业信息

|这个作业属于哪个课程|https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP|
|这个作业要求在哪里|https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP/homework/13276|
|这个作业的目标|《C语言程序设计》第11章并完成云班课测试|
|作业正文|https://i.cnblogs.com/posts/edit;postId=18607744|

教材学习内容总结

C语言中的文件操作是编程中的一个重要部分,涉及到文件的打开、读取、写入、关闭等操作。以下是C语言中文件操作的一些关键知识点:

  1. 文件指针

    • C语言中使用FILE类型定义文件指针,用于指向文件。
  2. 文件打开

    • 使用fopen()函数打开文件,格式为FILE *fopen(const char *filename, const char *mode);
    • filename是文件的名称,mode是打开文件的模式(如"r"读模式,"w"写模式,"a"追加模式等)。
  3. 文件关闭

    • 使用fclose()函数关闭文件,格式为int fclose(FILE *stream);
  4. 文件读取

    • fgetc():读取文件的下一个字节。
    • getc():宏定义,等同于fgetc()
    • fgets():读取一行字符串。
    • fread():读取多个数据项。
    • fscanf():格式化读取。
  5. 文件写入

    • fputc():写入一个字节。
    • putc():宏定义,等同于fputc()
    • fputs():写入一个字符串。
    • fwrite():写入多个数据项。
    • fprintf():格式化写入。
  6. 文件定位

    • rewind():将文件指针重新指向文件的开头。
    • ftell():获取当前文件位置指针的位置。
    • fseek():移动文件位置指针到指定位置。
  7. 文件检测

    • feof():检查是否到达文件末尾。
    • ferror():检查文件是否发生错误。
  8. 文件删除和重命名

    • remove():删除文件。
    • rename():重命名文件。
  9. 文件属性

    • fflush():强制将缓冲区内容写入文件。
    • setbuf():设置文件的缓冲区。
    • setvbuf():设置文件的缓冲区,可以指定缓冲区的大小和类型。
  10. 二进制文件操作

    • C语言中的文件操作默认是文本模式,但可以通过在文件模式字符串前加上"b"(如"rb""wb")来以二进制模式打开文件。
  11. 缓冲区

    • C语言中的文件操作默认是带缓冲的,这意味着数据可能不会立即写入磁盘,而是存储在内存中,直到缓冲区满或者显式调用fflush()
  12. 文件权限

    • 在Unix/Linux系统中,文件权限可以通过chmod()函数设置。

这些是C语言文件操作的一些基础和重要的知识点。在实际编程中,正确地使用这些函数和理解它们的行为对于处理文件数据至关重要。

教材学习中的问题和解决过程

指针就可以用数组替换么?
指针和数组在C语言中都是用来访问和操作内存中的数据,但它们之间有一些关键的区别,不能简单地互相替换。以下是指针和数组的一些基本区别:

  1. 定义和使用

    • 数组:数组是一种数据结构,用于存储相同类型的多个元素。数组在定义时必须指定其大小,并且这个大小在编译时是固定的。
    • 指针:指针是一种变量,它存储了另一个变量的内存地址。指针的大小是固定的,与它指向的数据类型有关,但指向的数据大小可以是动态的。
  2. 内存分配

    • 数组:数组在定义时分配一块连续的内存空间,其大小是固定的。
    • 指针:指针可以指向任何大小的内存块,包括动态分配的内存。
  3. 灵活性

    • 数组:数组的大小在编译时确定,因此在运行时不能改变。
    • 指针:指针可以重新指向不同的内存地址,包括不同大小的内存块,这提供了更大的灵活性。
  4. 内存管理

    • 数组:数组的内存管理是自动的,不需要程序员显式释放。
    • 指针:使用指针时,程序员需要负责内存的分配和释放,这增加了灵活性但也增加了复杂性。
  5. 传递给函数

    • 数组:当数组作为参数传递给函数时,实际上是传递数组首元素的地址,函数内部使用的是数组的副本。
    • 指针:指针作为参数传递给函数时,函数可以直接修改指针指向的数据。
  6. 数组名和指针的关系

    • 在C语言中,数组名在大多数情况下可以被看作指向数组首元素的指针。例如,int arr[10];int *ptr = arr; 中的 arrptr 都指向相同的内存地址。
  7. 数组下标和指针运算

    • 数组:可以通过下标访问数组元素,如 arr[3]
    • 指针:可以通过指针运算符 +- 来访问元素,如 *(ptr + 3)
posted @ 2024-12-15 10:39  孙梓桐  阅读(9)  评论(0编辑  收藏  举报