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

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

时间:2023-12-22 22:44:18浏览次数:63  
标签:20231309 12 来自 AI 2024 消息 2023 程序设计 结构

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

作业信息

这个作业属于哪个课程 2023-2024-1-计算机基础与程序设计
这个作业要求在哪里 2023-2024-1计算机基础与程序设计第十三周作业
这个作业的目标 自学教材《C语言程序设计》第12章并完成云班课测试
作业正文 2023-2024-1 20231309 《计算机基础与程序设计》第十三周学习总结

教材学习内容总结

下图为《C语言程序设计》第12章梳理

基于AI的学习

(以下为对话记录)

来自你的消息:

今天我学习了C语言程序设计关于结构体的知识,请你以苏格拉底的方式向我提问,一次一个问题

来自AI的消息:

当然,我会尽力以苏格拉底的方式向你提问。那么,让我们开始吧:

问题 1:什么是结构体(structure)?

来自你的消息:

可自定义的复合数据类型

来自AI的消息:

很好!你的回答基本正确。

问题 2:在 C 语言中,我们可以使用结构体来组合多个不同类型的变量。那么,请问结构体的定义语法是什么样的呢?

来自你的消息:

struct name
{
int a;
char b;
}

来自AI的消息:

正确!你给出了结构体的定义语法。

问题 3:结构体变量可以通过成员(member)来访问其中的数据。请问如何通过结构体变量访问成员?

来自你的消息:

使用原点运算符,如stu.Score

来自AI的消息:

很好,你的回答准确。

问题 4:除了访问结构体成员,我们还可以在结构体内部定义函数,这被称为什么类型的函数?

来自你的消息:

这个我不太清楚,你能告诉我吗

来自AI的消息:

当然可以!在结构体内部定义的函数被称为成员函数(member functions)。正如成员变量一样,成员函数也属于结构体的一部分,可以直接通过结构体变量来调用。成员函数可以访问结构体中的成员变量,并且可以对其进行操作。成员函数的定义语法类似于普通函数,但在定义时需要使用结构体的名称作为函数名的前缀。

来自你的消息:

继续问

来自AI的消息:

当你学习C语言中的结构体时,你觉得最吸引你的是什么特点呢?

来自你的消息:

可以自定义并复合多种数据类型

来自AI的消息:

那么,你认为结构体中能够自定义并复合多种数据类型的特点对于解决哪些编程问题特别有帮助呢?

来自你的消息:

同时需要处理不同种类数据时,如学生成绩管理系统

来自AI的消息:

那么,你认为在学生成绩管理系统中,使用结构体来处理不同种类数据有什么优势呢?

来自你的消息:

方便易于操作且数据再内存空间中较为集中

来自AI的消息:

非常好!使用结构体来处理学生成绩管理系统中的不同种类数据的确能够方便地进行操作,并且让数据在内存空间中更加集中。这样做不仅使得代码更加简洁、易读,还能提高程序的执行效率。还有其他你觉得使用结构体处理学生成绩管理系统的优势吗?

来自你的消息:

你的理解是?

来自AI的消息:

当涉及到学生成绩管理系统时,使用结构体的优势在于能够将不同类型的数据(比如学生信息、课程信息、成绩等)组合成一个单独的数据结构。这样做有助于简化代码逻辑,方便进行操作和管理,并且能够更加高效地利用内存空间。此外,结构体还可以帮助我们更容易地定义和维护系统中的实体和关联信息,使得系统更加易于扩展和维护。

来自你的消息:

那你认为我掌握C语言程序设计关于结构体的知识了吗

来自AI的消息:

根据你之前提出的观点,我觉得你在C语言程序设计中掌握了有关结构体的知识。你已经意识到了结构体的优势,包括处理不同种类数据、方便操作以及对内存空间的有效利用。如果你还有任何关于结构体或者其他C语言相关的问题,我都会尽力帮助你。

来自你的消息:

那请你对我的回答进行评价总结,谢谢

来自AI的消息:

你在对结构体的使用优势进行了准确的描述,包括简化代码逻辑、方便操作与管理、高效利用内存空间以及定义和维护系统实体和关联信息等方面。你已经展现了对C语言中结构体知识的理解,并且能够应用到实际问题中进行讨论。总的来说,你对结构体的认识是准确的,并且能够清晰地表达其优势。希望我的回答能够为你提供帮助,若有其他问题,也欢迎随时提出。

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

  • 问题1:函数参数用STU结构体出错
    解决方案:错误信息显示未定义结构体STU,但是我已经typedef了,然后发现是因为typedef在函数之后导致还未加载,于是讲typedef前置即解决问题

  • 问题2:进行排序时交换数据产生疑问,只换一个数据会导致错位混乱,全换又太麻烦。
    解决方案:翻看教材想起来可以直接整体交换,stu[]数组41位留一个临时空位即可解决问题

  • 问题3:按姓名检索后输出分数为0
    解决方案:发现相应代码处printf以%f浮点型输出整型数值导致错误,改为%d即可解决问题

  • 问题4:进行排序时突然出错,错误信息显示Segmentation Fault
    解决方案:debug时发现一进函数就数据错乱,但多次检查函数并无问题,上网查找资料只说是因为内存访问错误,最后才发现在定义结构体是姓名本应是字符串类型(即字符数组),但我大意用的字符类型,改回字符串即解决问题

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 2/2 12/12
第二周 10/10 1/3 7/19
第三周 60/70 4/7 12/31
第四周 120/190 3/10 12/43
第五周 260/450 2/12 16/59
第六周 250/700 4/16 12/71
第七周 400/1100 1/17 14/85 学习程序编写规范
第八周 400/1500 2/19 10/95 学习模块化编程
第九周 500/2000 1/20 7/102 学习指针的使用
第十周 500/2500 1/21 11/103 学习字符串函数
第十一周 500/3000 1/22 12/115 学习结构体的使用
第十二周 500/3500 1/23 10/125 学习文件相关操作
第十三周 750/4250 2/25 12/137 学习OpenEuler下使用GPG
  • 计划学习时间:15小时

  • 实际学习时间:12小时

  • 改进情况:本周计划水平较上周有所进步

参考资料

标签:20231309,12,来自,AI,2024,消息,2023,程序设计,结构
From: https://www.cnblogs.com/zzz12138/p/17919439.html

相关文章

  • 2023.12.22——每日总结
    学习所花时间(包括上课):9h代码量(行):0行博客量(篇):1篇今天,上午学习,下午学习;我了解到的知识点:1.设计模式明日计划:学习......
  • “做开源犹如养护花朵,花开需要时间”|2023年度总结
    你好,我是Kagol。2023年已经接近尾声,OpenTiny从一颗种子......
  • [Halcon] 2023.2月license分享(关注持续更新)
    作者:丶布布友情提示:Halcon18以下版本不再提供HDevelop试用授权License(只有运行License需要配合加密狗),请大家升级到最新版本!Halcon是一款商业化的视觉程序,它封装了很多方便的强大的图像处理算法,很多视觉项目都有用它,与visionpro一样,都是一款商业化的软件,加密狗相当的贵,不过Halcon......
  • 2023常见自动化测试工具集合
    1、Appium------->AppUI自动化测试官网:http://appium.ioAppium是一个移动端自动化测试开源工具,支持iOS和Android平台,支持Python、Java等语言,即同一套Java或Python脚本可以同时运行在iOS和Android平台,Appium是一个C/S架构,核心是一个Web服务器,它提供了一套REST的......
  • AtCoder 杂题精选(2023 年末)
    [ABC324G]GenerateArrays第一次知道AtCoder还有这种数据结构题。首先,所谓的“切分序列”是假,实际上只需要记录每个操作后,具体取到的原始数组的值域、下标域是什么。对于给定的下标域,求值域内数的个数,可以使用可持久化线段树,很类似区间第\(k\)大数的思路。对于操作一,考虑......
  • 2023最新高级难度Rust面试题,包含答案。刷题必备!记录一下。
    好记性不如烂笔头内容来自面试宝典-高级难度Rust面试题合集问:请解释Rust中的并行计算模型和分布式计算模型。在Rust中,你可以利用语言的并发特性来实现并行计算和分布式计算。虽然这些概念是不同的,但它们可以一起使用以提高系统的性能和扩展性。并行计算并行计算是......
  • 2023最新初级难度Ruby面试题,包含答案。刷题必备!记录一下。
    好记性不如烂笔头内容来自面试宝典-初级难度Ruby面试题合集问:什么是Ruby语言?请简要介绍一下Ruby的特点和用途。Ruby是一种面向对象的、动态类型的脚本语言,由日本人松本行弘(YukihiroMatsumoto)于1993年开发。它的设计目标是简单、易读和易于编写,同时具有强大的功能和优雅......
  • [2024深圳市考][计算机素质测试考纲](二)算法和数据结构
    前言因篇幅有限,本文仅对考纲中的考点做基本介绍。更详细的内容请自行学习:【双语字幕】CS61B数据结构|整合版|UCBDataStructureSpring2021【中英双字】普林斯顿大学-算法分析AlgorithmAnalysis2015COS423一、基本概念二、数组三、链表四、栈和队列五、递......
  • ISCTF2023部分题解
    WEB:圣杯战争!!!(题解:结局别说遗憾Zn.)解题思路:打开题目链接,代码如下:<?phphighlight_file(__FILE__);error_reporting(0);classartifact{public$excalibuer;public$arrow;publicfunction__toString(){echo"为Saber选择了对的武器!<br>";return$this->excal......
  • 强网杯2023 谍影重重3.0 wp
    参考文章:[使用主动探测方法识别U2hhZG93c29ja3M=(base64)服务-Phuker'sBlog]:https://phuker.github.io/posts/U2hhZG93c29ja3M=-active-probing.html(自行修改url中base64后的敏感词)题目描述:小明被我国抓获之后对所作所为供认不讳,在对他个人电脑监控的过程中,发现存在通......