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

news/2024/12/21 16:12:01/文章来源:https://www.cnblogs.com/lry666666/p/18620853

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

作业信息

这个作业属于哪个课程 <班级的链接>(如2024-2025-1-计算机基础与程序设计)
这个作业要求在哪里 <作业要求的链接>2024-2025-1计算机基础与程序设计第十三周作业
这个作业的目标 <复习前面所学,完成云班课作业>
作业正文 https://www.cnblogs.com/lry666666/p/18620853

教材学习内容总结

结构体的基础概念

  • 结构体是C语言里用户自定义的数据类型,能将不同类型数据成员组合,用于描述复杂实体,是处理多样化数据、构建复杂数据结构的重要基础。

结构体的核心操作

  • 定义与声明操作
    • struct 关键字定义结构体,写明结构体名及成员变量与类型,声明变量可紧跟定义或单独进行。
  • 成员访问操作
    • 普通结构体变量用 . 访问成员,结构体指针则用 -> 访问成员。
  • 结构体数组操作
    • 定义类似普通数组但元素为结构体类型,初始化可部分或全部赋值,通过 .-> 结合下标访问成员。

结构体与函数的交互

  • 结构体作为函数参数传递
    • 传结构体变量是值传递,传结构体指针是地址传递,按需选择传递方式。
  • 函数返回结构体类型
    • 函数可返回结构体类型,但要考虑复杂程度与效率,选择合适返回形式。

数据结构基础相关内容

  • 数据结构引入意义
    • 处理复杂数据时需合理数据结构来提高操作效率,结构体是构建数据结构的基础元素。
  • 常见简单数据结构提及
    • 介绍线性表、栈、队列等简单数据结构概念,为后续深入学习打基础。

结构体与数据结构基础的学习拓展与应用方向

  • 掌握这部分内容利于后续学习复杂数据结构及项目开发,在多领域有广泛应用,可优化程序性能与提高代码质量。

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

  • 问题 1:结构体变量在函数传递时数据修改异常
  • 问题 1 解决方案:当结构体变量作为函数参数传递时,默认是值传递。这意味着在函数内部操作的是结构体变量的副本,对副本的修改不会影响到原始结构体变量。如果需要在函数内修改原始结构体变量,应传递结构体指针。例如,有结构体 struct Student { char name[20]; int age; }; ,定义函数 void modifyStudent(struct Student *s) { s->age = 20; } ,在主函数中 struct Student stu = {"张三", 18}; modifyStudent(&stu); ,这样就能正确修改原始结构体变量 stu 的成员 age 。若错误地写成 void wrongModifyStudent(struct Student s) { s.age = 20; } 并在主函数中调用 wrongModifyStudent(stu); ,则不会改变原始 stu 的 age 值。
  • 问题 2:结构体数组初始化后部分成员值异常
  • 问题 2 解决方案:结构体数组初始化时,如果没有对所有成员进行初始化,数值型成员默认初始化为 0,字符型成员默认初始化为空字符。但如果初始化格式不正确,可能导致部分成员值异常。比如 struct Book { char title[50]; int page_num; }; struct Book library[2] = {{"C 语言教程"}}; ,这里只初始化了第一个结构体元素的 title 成员,第二个结构体元素的 page_num 会被初始化为 0,但 title 成员是未定义的值。正确的做法应该是 struct Book library[2] = {{"C 语言教程", 0}, {""}}; ,确保每个结构体元素的每个成员都有合适的初始化值或者明确的默认值设定。
  • 问题 3:结构体嵌套时成员访问出现混乱
  • 问题 3 解决方案:当存在结构体嵌套时,需要正确使用成员访问运算符来访问嵌套结构体的成员。例如有 struct Date { int year; int month; int day; }; struct Student { char name[20]; struct Date birthday; }; ,要访问学生结构体中的生日年份,应使用 student.birthday.year (这里 student 是 Student 类型结构体变量)。如果错误地写成 student.year 就会出现访问错误。在编写代码时,要仔细理清结构体的嵌套层次关系,确保成员访问的准确性。

基于AI的学习

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

  • 问题1:定义字符数组时忘记给'\0'分配位置,导致编译错误
  • 问题1解决方案:回顾并检查课本中字符数组定义
  • 问题2:使用有关字符串的函数时,忘记添加string的头文件
  • 问题2解决方案:提前加好

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 200/200 2/2 20/20
第二周 300/500 0/2 18/38
第三周 500/1000 1/3 22/60
第四周 300/1300 1/4 30/90
第五周 300/1600 1/5 30/120
第六周 300/1900 1/6 30/150
第七周 300/2200 1/7 30/180
第八周 300/2500 1/8 30/210
第九周 300/2800 1/9 30/240
第十周 300/3100 1/10 30/270
第十一周 300/3400 1/11 30/300
第十二周 300/3700 1/12 30/330
第十三周 300/4000 1/13 30/360

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

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

相关文章

28.Python基础篇-logging模块

介绍: logging 模块是Python内置的强大日志记录工具,支持多种输出方式、格式化选项及多进程支持。 日志的级别 logging 模块有五个内置的日志级别,从低到高:DEBUG:详细信息,用于诊断问题。 INFO:常规信息,表示程序正常运行的状态。 WARNING:警告信息,表示潜在问题或即…

Redis安装配置

安装gcc环境sudo yum install -y gcc-c++查看gcc环境gcc -v

我们的电视Our tv 3.6.0安卓+TV 一款全新电视直播软件-内置稳定直播源

应用简介 我们的电视(ourtv)是一款完全无广告的电视直播软件,清晰度可选择高清,超清,蓝光等播放。安装即可使用,再也不用费劲去找各种不稳定的直播源了。 “我们的电视”播放线路(直播源)是来自央视频,因此画质和稳定性还可以。不过随之而来的问题是跟央视频 App 不兼…

[HTML/Web] HTML5之`Video`元素

概述:video 元素 核心属性:playbackRate/播放速率在HTML5中,<video> 元素提供了一个 playbackRate 属性,可以用来设置视频的播放速度。这个属性允许你设置视频的倍速播放,比如正常速度、慢速或快速。以下是如何设置 <video> 元素的倍速播放:html<video id…

鸿蒙HarmonyOS应用开发 | HarmonyOS Next-从应用开发到上架全流程解析

HarmonyOS Next-从应用开发到上架全流程解析 随着智能设备的不断普及,操作系统的竞争变得愈加激烈。在这个背景下,华为推出的HarmonyOS(鸿蒙操作系统)逐渐崭露头角,成为一个引人注目的新兴平台。本文将深入探讨HarmonyOS Next的应用开发流程,并特别关注鸿蒙应用上架的全过…

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

作业信息这个作业属于哪个课程 (2024-2025-1-计算机基础与程序设计)这个作业要求在哪里 ([2024-2025-1计算机基础与程序设计第十三周作业]这个作业的目标作业正文 (2024-2025-1 学号20241307《计算机基础与程序设计》第十三周学习总结)教材学习内容总结 C语言程序设计第十二…

移动端笔记应用,markdown应用选用

要求不能有广告。作为使用频率较高的软件,有广告就是恶心人。 支持markdown,包括且不限于代码块、标题、图片等格式。 支持同步,至少拥有WebDav云同步,或者本地导入导出。 全局搜索功能。以上功能必须免费,至少我不明白导入导出有什么好付费的。云同步这种付费理所当然。背…

一个.NET开源、易于使用的屏幕录制工具

前言 一款高效、易用的屏幕录制工具能够极大地提升我们的工作效率和用户体验,今天大姚给大家分享一个.NET开源、免费、易于使用的屏幕录制工具:Captura。 工具介绍 Captura是一款基于.NET开源、免费、易于使用的屏幕录制、截图工具,允许用户录制屏幕活动、捕获屏幕截图、录制…

CDN信息收集

引子:这篇是对架构信息收集中CDN部分的补充,由于Web应用先得注册域名才能使用CDN服务,而我国境内的域名注册需先要备案。又因为笔者目前并没有这方面的需求,因此本文仅简单介绍该如何识别CDN,以及一些常见的CDN绕过方式。免责声明:本文章仅用于交流学习,因文章内容而产生…

20结构伪类-borderz制图-网络字体-字体图标

一、结构伪类-:nth-child 在一些特殊的场景使用结构伪类还是非常方便的。 是真正有用的东西。 之前使用最主要的东西是nth-child() :nth-child(1)这个是选择父元素中的第一个子元素如果是下图这样就不能选中了。这里需要使用另外一个东西,叫做:nth-of-type()用这个东西可以选择…

【关节电机专栏】小米 CyberGear 电机和大然 PDA-04 CAN接口的区别

小米电机CAN接口:大然PDA-04 CAN接口:可见两家的CAN接口 CANL 和 CANH 是相反的。

BBU-Python期末考试复习题目总结

临近期末,抽个时间把BBU - python期末考试会考的题型(原题?)哈哈总结一下,放到我的个人bolg上供大家参考,祝考试高分通过————临近期末,抽个时间把BBU - python期末考试会考的题型(原题?)哈哈总结一下,python考试是比较简单的,题型分为选择题,判断题,填空题,程序…