首页 > 编程语言 >2024-2025-1 20241319 《计算机基础与程序设计》第十二周学习总结

2024-2025-1 20241319 《计算机基础与程序设计》第十二周学习总结

时间:2024-12-14 19:21:28浏览次数:6  
标签:文件 struct 示例 20241319 2024 2025 file Student 结构

作业信息

这个作业属于哪个课程 2024-2025-1-计算机基础与程序设计
这个作业要求在哪里 https://www.cnblogs.com/rocedu/p/9577842.html#WEEK12
这个作业的目标 结构体和数据结构基础 文件操作
作业正文 https://www.cnblogs.com/wchxx/p/18607077

教材学习内容总结

结构体(Structures)

  1. 结构体定义

    • 定义结构体使用 struct 关键字,后跟结构体名称和一对花括号,其中包含一系列声明,称为结构体的成员。
    • 示例:
      struct Student {
          char name[50];
          int age;
          float gpa;
      };
      
  2. 结构体变量的声明

    • 声明结构体变量可以直接使用结构体类型。
    • 示例:
      struct Student student1;
      
  3. 结构体数组

    • 声明结构体数组与普通数组类似,但需要指定结构体类型。
    • 示例:
      struct Student students[100];
      
  4. 结构体与函数

    • 将结构体作为参数传递给函数,需要在函数定义中指定结构体类型。
    • 示例:
      void printStudent(struct Student s) {
          printf("Name: %s, Age: %d, GPA: %.2f\n", s.name, s.age, s.gpa);
      }
      
  5. 指针与结构体

    • 使用指向结构体的指针可以访问和修改结构体成员。
    • 示例:
      struct Student *ptr = &student1;
      ptr->age = 20; // 使用箭头操作符访问成员
      
  6. 动态内存分配

    • 使用 malloc 分配结构体内存,并使用 free 释放。
    • 示例:
      struct Student *dynamicStudent = malloc(sizeof(struct Student));
      if (dynamicStudent != NULL) {
          dynamicStudent->age = 22;
      }
      free(dynamicStudent);
      
  7. 嵌套结构体

    • 一个结构体可以作为另一个结构体的成员。
    • 示例:
      struct Address {
          char street[100];
          int pinCode;
      };
      
      struct Student {
          char name[50];
          struct Address homeAddress;
      };
      
  8. 结构体与链表

    • 使用结构体创建链表节点,包含数据和指向下一个节点的指针。
    • 示例:
      struct Node {
          int data;
          struct Node *next;
      };
      

文件(Files)

  1. 文件操作基础

    • 使用 fopen 打开文件,fclose 关闭文件。
    • 示例:
      FILE *file = fopen("example.txt", "w");
      if (file == NULL) {
          perror("Error opening file");
          return;
      }
      fclose(file);
      
  2. 文件指针

    • FILE* 是指向文件的指针,用于文件操作。
  3. 文件打开模式

    • 模式包括 "r"(只读)、"w"(只写,文件会被截断)、"a"(追加)等。
    • 示例:
      FILE *file = fopen("example.txt", "r+");
      
  4. 字符和字符串的读写

    • fgetc 读取一个字符,fputc 写入一个字符。
    • fgets 读取一行,fputs 写入字符串。
    • 示例:
      char ch = fgetc(file);
      fputs("Hello, World!", file);
      char buffer[100];
      fgets(buffer, sizeof(buffer), file);
      
  5. 数据块的读写

    • freadfwrite 用于读写数据块。
    • 示例:
      int data[100];
      fwrite(data, sizeof(int), 100, file);
      fread(data, sizeof(int), 100, file);
      
  6. 文件位置指针

    • rewind 重置文件指针到文件开头,ftell 获取当前位置,fseek 移动文件指针。
    • 示例:
      rewind(file);
      long position = ftell(file);
      fseek(file, position, SEEK_SET);
      
  7. 文件的错误检测

    • ferror 检查文件操作是否出错,clearerr 清除错误标志。
    • 示例:
      if (ferror(file)) {
          printf("Error occurred\n");
          clearerr(file);
      }
      
  8. 二进制文件操作

    • 使用 "rb"、"wb"、"ab"、"rb+" 等模式以二进制方式打开文件。
    • 示例:
      FILE *file = fopen("example.bin", "wb");
      
  9. 临时文件

    • 使用 tmpfile 创建临时文件,该文件在关闭时自动删除。
    • 示例:
      FILE *temp = tmpfile();
      fwrite(data, sizeof(int), 100, temp);
      fclose(temp);
      

基于AI的学习





标签:文件,struct,示例,20241319,2024,2025,file,Student,结构
From: https://www.cnblogs.com/wchxx/p/18607077

相关文章

  • 学期2024-2025-1 学号20241317 《计算机基础与程序设计》第十二周学习总结
    学期2024-2025-1学号20241317《计算机基础与程序设计》第十二周学习总结作业信息这个作业属于哪个课程<班级的链接>(如2024-2025-1-计算机基础与程序设计)这个作业要求在哪里<作业要求的链接>(如2024-2025-1计算机基础与程序设计第一周作业)这个作业的目标<写上具......
  • 图生3d 快报2025
    目录微软开源的:TripoSRSee3D:智源开源3D生成模型微软开源的:GitHub-microsoft/TRELLIS:Officialrepoforpaper"Structured3DLatentsforScalableandVersatile3DGeneration".TripoSRhttps://2sj.com/3421.htmlSee3D:智源开源3D生成模型快速阅读功能......
  • NOIP2024 及后续一段时间的总结及未来计划
    NOIP冲刺阶段停课阶段我觉得没什么好写的了,大家基本上状况都差不多。中间的几场模拟赛成绩飘飘浮浮的,但是题也都认真补了,也没有什么好说的。主要还是写一下考场上犯的一些错。做第一题的时候比较正常,花了大概90min做出来了,做得有点慢。原因是最开始想到做法后,没有去推细节......
  • 2024最新Python学习路线图来了!附学习资料(建议收藏)
     前言作为在软件开发领域摸爬滚打十多年的Python老码农,我见证了Python从一个小众语言成长为如今在数据科学、Web开发、自动化运维、人工智能等多个领域占据重要地位的明星语言。今天,我将基于自己的经验,为Python零基础的学习者规划一条清晰的学习路线,全篇干货,建议大家动动手......
  • 历年英语四六级真题+解析合集【2015-2024.6】
    前言英语四六级考试,犹如一座横亘在众多学子求学道路上的重要关卡,其重要性不言而喻。回首自己的备考历程,那是一段充满挑战与汗水的时光。在备考期间,我深知优质学习资源对于提升成绩的关键作用,于是四处寻觅,如同在知识的海洋中奋力打捞珍贵的宝藏。幸运的是,经过不懈努力,我终......
  • 2024-2025-1学号20241309《计算机基础与程序设计》第十二周学习总结
    作业信息这个作业属于哪个课程2024-2025-1-计算机基础与程序设计这个作业要求在哪里2024-2025-1计算机基础与程序设计第十二周作业这个作业的目标作业正文2024-2025-1学号20241309《计算机基础与程序设计》第十二周学习总结教材学习内容总结《C语言程序设......
  • 2024生命科学前沿技术
    前沿技术是指高技术领域中具有前瞻性、先导性和探索性的重大技术,是未来高技术更新换代和新兴产业发展的重要基础,是国家高技术创新能力的综合体现。选择前沿技术的主要原则一是代表世界高技术前沿的发展方向。二是对国家未来新兴产业的形成和发展具有引领作用三是有利于产业......
  • 学期:2024-2025-1 学号:20241303 《计算机基础与程序设计》第十二周学习总结
    作业信息这个作业属于哪个课程<班级的链接>(如2024-2025-1-计算机基础与程序设计)这个作业要求在哪里<作业要求的链接>(如2024-2025-1计算机基础与程序设计第十二周作业)这个作业的目标<写上具体方面>加入云班课,参考本周学习资源自学教材《C语言程序设计》第11章......
  • 2024-2025-1 20241305《计算机基础与程序设计》第十二周学习总结
    ------------恢复内容开始------------作业信息这个作业属于哪个课程2024-2025-1-计算机基础与程序设计(https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP))这个作业要求在哪里2024-2025-1计算机基础与程序设计第十二周作业这个作业的目标指针和数组作业......
  • Threejs教程,2024全新系统threejs入门教程
    Threejs教程,2024全新系统threejs入门教程https://www.bilibili.com/video/BV1Zm421g7oi/?spm_id_from=333.999.0.02401-theejs三要素WebGL顶点数据顶点索引矩阵三要素场景Scene容器相机Camera观察渲染器Renderer组合透视相机(PerspectiveCamera)http://www.we......