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

news/2024/12/29 10:39:10/文章来源:https://www.cnblogs.com/zhaoshaoning/p/18638504

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

作业信息

这个作业属于哪个课程 2024-2025-1-计算机基础与程序设计
这个作业要求在哪里 2024-2025-1计算机基础与程序设计第十四周作业
这个作业的目标 自学《C语言程序设计》第13-14章
作业正文 https://www.cnblogs.com/zhaoshaoning/p/18638504

教材学习内容总结

以下是对《C语言程序设计(第五版)》第13 - 14章内容的总结:

第13章:文件

文件概述

介绍了文件的概念,在程序设计中,文件是存储在外部介质(如磁盘)上的数据集合,可分为文本文件(以ASCII码形式存储,便于阅读和处理文本信息)和二进制文件(以数据在内存中的存储形式原样存储,更节省空间且适合存储数值型数据等)。

文件类型指针

详细讲解了 FILE 类型,它是系统定义用于存放文件有关信息的结构体类型,通过定义 FILE * 类型的指针变量(如 FILE *fp; )来指向某个文件,借助这个指针实现对文件的各种操作。

文件的打开与关闭

  • 打开文件:使用 fopen 函数,其一般形式为 FILE *fp = fopen("文件名", "文件使用方式"); ,文件使用方式包含多种,例如 “r”(只读方式打开文本文件)、“w”(只写方式打开文本文件,若文件不存在则创建,存在则覆盖原有内容)、“a”(追加方式打开文本文件,在文件末尾添加内容)等,还介绍了对应的二进制文件打开方式(如“rb”“wb”“ab”等),同时强调打开文件操作需要进行返回值判断,若返回 NULL 表示打开失败。
  • 关闭文件:通过 fclose 函数关闭文件,格式为 fclose(fp); ,及时关闭文件能防止文件数据丢失、释放文件相关资源等,关闭成功返回值为0,失败返回 EOF

文件的读写

  • 字符读写函数
    • fgetc 函数用于从指定文件中读取一个字符,其一般形式为 ch = fgetc(fp);ch 为字符变量,fp 为文件指针),读到文件末尾返回 EOF
    • fputc 函数用于将一个字符写入指定文件,如 fputc(ch, fp);ch 为要写入的字符,fp 为文件指针)。
  • 字符串读写函数
    • fgets 函数从文件中读取一行字符串,格式为 fgets(str, n, fp);str 为存放字符串的字符数组,n 为最多读取的字符个数,fp 为文件指针),读取成功返回 str 指针,失败或读到文件末尾返回 NULL
    • fputs 函数把字符串写入文件,如 fputs(str, fp);str 为要写入的字符串,fp 为文件指针)。
  • 格式化读写函数
    • fscanf 函数按照指定格式从文件中读取数据,和 scanf 函数使用类似,不过多了文件指针参数,例如 fscanf(fp, "%d %s", &num, name); 用于从文件读取整数和字符串到相应变量中。
    • fprintf 函数按格式向文件中写入数据,像 fprintf(fp, "%d %s", num, name); 可以把变量的值按格式写入文件。
  • 数据块读写函数freadfwrite 函数用于读写数据块,常用来处理二进制文件中结构体等类型的数据整体读写,例如 fread(buffer, size, count, fp);buffer 为存放数据的内存地址,size 为每个数据项的字节数,count 为要读写的数据项个数,fp 为文件指针)以及 fwrite 与之对应的参数格式。

文件的定位

讲述了文件位置指针的概念,它指示当前读写操作的位置,通过 fseek 函数可改变文件位置指针,其一般形式为 fseek(fp, offset, origin);fp 为文件指针,offset 为偏移量,origin 为起始位置,有 SEEK_SET (文件开头)、SEEK_CUR (当前位置)、SEEK_END (文件末尾)等),另外还有 ftell 函数可获取文件位置指针当前的位置(返回值为相对于文件开头的偏移字节数)以及 rewind 函数用于把文件位置指针移到文件开头。

第14章:常见错误和程序调试

常见错误类型

  • 语法错误:指编写代码时不符合C语言语法规则的错误,例如缺少分号、括号不匹配、关键字拼写错误等,这类错误在编译阶段就能被编译器检测出来,并给出相应错误提示信息帮助定位和修正。
  • 逻辑错误:代码语法正确但运行结果不符合预期,比如算法设计错误、循环条件设置不当、变量初始化错误等,逻辑错误较难发现,通常需要通过分析程序运行过程、输出中间结果等调试手段来排查。
  • 运行时错误:程序在运行过程中出现的错误,例如除数为0、数组越界访问、内存非法访问等,可能导致程序崩溃或者产生异常结果,有些运行时错误可以通过添加适当的错误处理代码来避免程序异常终止。

程序调试方法

  • 调试工具介绍:像 Visual C++等集成开发环境自带调试工具,可进行单步执行(逐行执行代码查看每一步的执行效果)、设置断点(让程序运行到指定位置暂停,便于观察变量值等情况)、查看变量值(实时监测程序运行中各变量的变化情况)等操作来帮助分析程序错误所在。
  • 利用输出语句调试:在程序关键位置添加 printf 等输出语句,输出变量的值、程序执行到的位置等关键信息,通过分析输出结果来判断程序逻辑是否正确,虽然这种方法相对原始但比较直观且容易实施,尤其对于简单程序或者初步排查问题很有用。

基于AI的学习






本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/860753.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

kubectl 命令行快速操作-2

9、对外暴露服务 参考:详解kubernetes五种暴露服务的方式 - 滴滴滴 - 博客园 前面只介绍了Nodeport方式,还有NodePort、LoadBalancer、ExternalName、Ingress方式,重点讲解Ingress方式。 nginx-ingress:GitHub - kubernetes/ingress-nginx: Ingress NGINX Controller for K…

主动式AI(代理式)与生成式AI的关键差异与影响

大型语言模型(LLMs)如GPT可以生成文本、回答问题并协助完成许多任务。然而,它们是被动的,这意味着它们仅根据已学到的模式对接收到的输入作出响应。LLMs无法自行决策;除此之外,它们无法规划或适应变化的环境。 主动式AI(代理式)的出现正是为了解决这一问题。与生成式AI…

docker之旅

物理机上部署:1 部署复杂,成本高; 会造成资源的浪费 ; 不支持跨平台部署 ;无法支持进行服务的迁移 虚拟化:1 在一台宿主机上虚拟出多台虚拟机, 虚拟机会部署一个完整的操作系统,要分配系统资源。部署缺点: 部署复杂,无法进行迁移3 虚拟化与容器对比容器直接使用的宿主…

kubernetes之旅

k8s 架构 https://kubernetes.io/核心组件ETCD 分布式高性能键值数据库,存储整个集群的所有元数据 Apiserver 集群的资源访问控制入口,提供restAPI 和安全访问控制 scheduler: 调度器,负责将业务pod调度到合适的节点上 controller manager : 控制器,确保集群 按照期望方式…

asdfasdfasdf

阿斯蒂芬 阿萨德发生的发生阿斯蒂芬 阿萨德发生的发生代发收到飞 阿斯蒂芬 撒旦法撒地方 阿萨德发生的发生 金阿奎猎杀对决菲拉斯代发件 unit main;interfaceusesWinapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,Vcl.Contro…

Blazor 渲染当前语言区小数点格式对应编辑组件

环境: 使用西班牙语文化, 组件: 表格 显示格式对的, 小数点西班牙这边是逗号(,) , 0.99 显示为 0,99 重现 编辑商品, 显示变成了0.99而不是正确的区域格式 0,99, 直接保存没事的 如果手动改了一下数字为 0.99 只要焦点变化了 就会格式化为 99 , 这个时候保存数据就出问题了 经…

两均值比较R

1. 两个均值比较校验 1.1 两独立样本均值检验 1.1.1 检验理论依据 两样本均值差: \(\bar{x}_1-\bar{x}_2\) 两总体均值差: \(\mu_1 - \mu_2\) 则两样本均值差服从正态分布: \[\overline{x}_1-\overline{x}_2\sim N(\mu_1-\mu_2,\sigma_{\overline{x}_1-\overline{x}_2}^2) …

Khronos和EMVA便携式应用程序结构

Kamaros便携式应用程序结构 Kamaros便携式应用程序结构,如图1-11所示。图1-11Kamaros便携式应用程序结构 Khronos和EMVA合作 Khronos和EMVA合作,如图1-12所示。图1-12 Khronos和EMVA合作人工智能芯片与自动驾驶

Intel oneAPI DPC++和UXL基础与对并行处理的需求

Intel oneAPI DPC++和UXL基础 1)Intel oneAPI DPC++符合SYCL 2020规范 ①统一共享内存、并行约简、工作组算法、类模板。 ②论证推理、访问优化、扩展互操作性等。 2)UXL统一加速基础 ①加速计算开放生态系统。 ②工具和库。 ③编译器和开发工具。 ④API和规范。 3)Khronos和…

《智能汽车传感器:原理设计应用》《AI芯片开发核心技术详解》两本专著书推荐

两本书推荐《AI芯片开发核心技术详解》、《智能汽车传感器:原理设计应用》由清华大学出版社资深编辑赵佳霓老师策划编辑的新书《AI芯片开发核心技术详解》已经出版,京东、淘宝天猫、当当等网上,相应陆陆续续可以购买。该书强力解析AI芯片的核心技术开发,内容翔实、知识点新…

《智能汽车传感器:原理设计应用》《AI芯片开发核心技术详解》专著书推荐

两本书推荐《AI芯片开发核心技术详解》、《智能汽车传感器:原理设计应用》由清华大学出版社资深编辑赵佳霓老师策划编辑的新书《AI芯片开发核心技术详解》已经出版,京东、淘宝天猫、当当等网上,相应陆陆续续可以购买。该书强力解析AI芯片的核心技术开发,内容翔实、知识点新…

Diffusion Model-Stable Diffusion(一)

Stable Diffusion 是一个基于扩散模型的图像生成模型,可以用于生成高质量图像。其传统实现主要基于 PyTorch,最常用的开源实现是 CompVis/stable-diffusion 和 Hugging Face 的 diffusers 库。 如果你需要一个可以直接调用 Stable Diffusion 的接口,可以选择以下方法:1. 使…