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

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

时间:2024-12-29 21:22:37浏览次数:6  
标签:问题 20 一个 数据类型 2024 2025 数据 20241311 结构

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

作业信息

这个作业属于哪个课程 <班级的链接> 2024-2025-1-计算机基础与程序设计
这个作业要求在哪里 <作业要求的链接>2024-2025-1计算机基础与程序设计第一周作业
这个作业的目标 <写上具体方面>
作业正文 ... 本博客链接

教材学习内容总结

《C语言程序设计》第十三章的学习总结:

1. 结构体和数据结构基础

  • 从基本数据类型到抽象数据类型:介绍了为什么需要从基本数据类型转向抽象数据类型,以及它们的重要性。
  • 结构体的定义
    • 为什么要定义结构体类型。
    • 结构体变量的定义方法。
    • 使用 typedef 定义数据类型。
    • 结构体变量的初始化。
    • 嵌套结构体的使用。
    • 结构体变量的引用。
    • 结构体所占内存的字节数。
  • 结构体数组的定义和初始化
    • 结构体数组的定义。
    • 结构体数组的初始化。
  • 结构体指针的定义和初始化
    • 指向结构体变量的指针。
    • 指向结构体数组的指针。
  • 向函数传递结构体:介绍了如何将结构体作为参数传递给函数。
  • 共用体:介绍了共用体的概念和使用方法。
  • 枚举数据类型:介绍了枚举类型的定义和使用。
  • 动态数据结构单向链表
    • 问题的提出。
    • 链表的定义。
    • 单向链表的建立。
    • 单向链表的删除操作。
    • 单向链表的插入操作。
  • 本章扩充内容
    • 栈和队列。
    • 树和图。
    • 数据的逻辑结构和存储结构。

2. 嵌套结构体的定义和使用

  • 定义嵌套结构体:首先定义两个结构体,其中一个包含另一个结构体的成员。
  • 创建嵌套结构体变量:创建一个员工结构体变量和一个部门结构体变量,并使员工的 department 成员指向部门。
  • 使用动态内存分配:在实际应用中,我们经常需要动态地创建多个结构体实例。以下是如何使用动态内存分配来嵌套使用结构体。

3. 其他重要概念

  • 强制类型转换:将变量转换成不同的数据类型,例如 (double)aa 转换成 double 型。
  • 赋值运算:如果赋值运算符两侧的类型不一致,但都是基本类型时,在赋值时要进行类型转换。
  • scanf函数scanf(格式控制,地址表列); 用于从标准输入读取格式化输入。

《计算机科学概论》第十三章人工智能的学习总结:

第13章:人工智能

  1. 人工智能基础

    • 人工智能是研究如何使计算机模拟人类智能的领域,包括思考、推理、学习和解决问题的能力。
  2. 图灵测试

    • 图灵测试是评估机器是否能够展现出与人类相似智能行为的方法。通过模拟人类对话来测试机器是否能够像人一样思考。
  3. 知识表示

    • 知识表示的不同方式包括语义网和检索树等,这些都是AI领域中用于组织和存储信息的方法。语义网以图形化方式表示知识,捕捉对象间的真实关系;检索树用于表示对抗性移动等知识,如在比赛中的应用。
  4. 专家系统

    • 专家系统是一种模拟人类专家决策过程的软件系统。它们通常用于解决特定领域的复杂问题,并能够提供解决方案或建议。
  5. 神经网络

    • 生物神经网络介绍了大脑中神经元的工作方式。人工神经网络(ANN)是受生物神经网络启发的计算模型,旨在模拟人脑处理信息的方式。它们由大量相互连接的节点(称为神经元)组成,这些节点可以处理和传递信息。
  6. 自然语言处理

    • 自然语言处理(NLP)包括语音合成、语音识别和自然语言理解。这些技术使计算机能够理解和生成人类语言。
  7. 机器人学

    • 机器人学的基本概念,包括感知—规划—执行范型、包孕体系结构和物理部件。机器人学是AI的一个重要分支,涉及设计和制造能够自主执行任务的机器人。

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

(一个模板:我看了这一段文字 (引用文字),有这个问题 (提出问题)。 我查了资料,有这些说法(引用说法),根据我的实践,我得到这些经验(描述自己的经验)。 但是我还是不太懂,我的困惑是(说明困惑)。【或者】我反对作者的观点(提出作者的观点,自己的观点,以及理由)。 )

  • 问题1:什么是图灵测试,它如何评估机器的智能?
  • 问题1解决方案:图灵测试是一种评估机器是否展现出与人类相似智能行为的方法。由艾伦·图灵提出,测试包括一个人类评判员通过键盘和显示屏与两个隐藏的对话者(一个是人类,另一个是机器)进行交流。如果评判员无法一致地判断出哪个对话者是机器,那么机器就可以说通过了图灵测试,表明它具有类似人类的智能。
  • 问题2:专家系统在人工智能中扮演什么角色?
  • 问题2解决方案:专家系统是一种模拟人类专家决策过程的软件系统。它们通常集成了大量的专门知识,并能够模拟专家的推理过程来解决特定领域的复杂问题。专家系统在医疗诊断、法律咨询、金融分析等领域有广泛应用,它们能够提供解决方案或建议,辅助人类专家的工作。
  • ...

基于AI的学习

我正在学习结构体的知识点请你以苏格拉底的方式对我进行提问,一次一个问题

当然可以,让我们以苏格拉底式的提问法来探讨结构体的概念。
问题1: 你能告诉我什么是结构体吗?
(等待你的回答,然后根据你的回答提出下一个问题。)


将多个不同数据类型结合成一个数据类型的数据类型

问题2: 那么,为什么我们需要将多个不同的数据类型结合成一个数据类型呢?这样做有什么好处?
(等待你的回答,然后根据你的回答提出下一个问题。)


方便处理复杂的数据

问题3: 既然你说这样做方便处理复杂的数据,你能具体说明一下,在哪些情况下,使用结构体比单独使用基本数据类型更加方便吗?
(等待你的回答,然后根据你的回答提出下一个问题。)


学生成绩登记,记录学生成绩,学号,姓名

问题4: 很好,学生成绩登记是一个典型的应用场景。那么,如果我们不使用结构体,而是单独使用基本数据类型来记录学生的成绩、学号和姓名,你觉得会遇到哪些问题或不便?
(等待你的回答,然后根据你的回答提出下一个问题。)


不好将这些数据整合起来

问题5: 你提到了不使用结构体时,数据整合会遇到困难。那么,具体来说,当我们尝试将这些数据整合起来时,会遇到哪些具体的困难或挑战呢?
(等待你的回答,然后根据你的回答提出下一个问题。)


容易将每个数据对错

问题6: 确实,将数据对错是一个严重的问题。那么,你能进一步解释一下,为什么在没有结构体的情况下,数据容易对错?是因为数据之间的关联性丢失了吗?
(等待你的回答,然后根据你的回答提出下一个问题。)


是的,数据之间没有关联性

问题7: 既然数据之间缺乏关联性会导致数据对错,那么使用结构体来创建一个包含学号、姓名和成绩的学生记录,是如何帮助我们保持这些数据之间的关联性的呢?
(等待你的回答,然后根据你的回答提出下一个问题。)


将不同的数据类型整合到一个数据类型里

问题8: 你提到将不同的数据类型整合到一个数据类型里,这确实是一种保持数据关联性的方法。那么,具体来说,当我们创建一个结构体来整合这些数据时,我们是如何确保每个部分都正确地对应到它应该表示的属性,比如学号、姓名和成绩的?
(等待你的回答,然后根据你的回答提出下一个问题。)


不知道请你解答

好的,我来解释一下。
当我们创建一个结构体来整合学生信息时,我们实际上是在定义一个新的数据类型,这个数据类型包含了多个不同的字段,每个字段对应一个特定的数据属性。例如,我们可以定义一个名为Student的结构体,它包含三个字段:student_id(学号)、name(姓名)和score(成绩)。这样,每个Student类型的变量都会包含这三个属性,它们之间自然就有了关联性。
以下是用C语言定义这样一个结构体的例子:
c
typedef struct {
int student_id; // 学号
char name[50]; // 姓名
float score; // 成绩
} Student;
在这个结构体中,每个字段都有一个明确的名称和类型,这样当我们创建一个Student类型的变量时,就可以通过字段名来访问和操作这些数据:
c
Student student1;
student1
.student_id = 12345;
strcpy(student1.name, "张三");
student1
.score = 89.5;
通过这种方式,我们确保了数据的整合性和关联性,因为每个Student变量都包含了一个学生的所有相关信息,而且这些信息都是组织在一起的。这样,当我们处理学生信息时,就不容易将数据对错,因为每个学生的所有信息都是作为一个整体来处理的。这也使得数据的管理和操作变得更加直观和方便。

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

  • 问题1:交换字符时,应该使用 str[n-1-i] 而不是 str[n-i]
  • 问题1解决方案:字符串的索引是从 0 开始的
  • 问题2:gets函数在读取输入时,它不会检查输入缓冲区的大小,容易导致缓冲区溢出。这可能会引起未定义行为,并且可能会影响后续对输入字符串的比较操作。
  • 问题2解决方案:应该使用fgets函数来代替gets函数。
  • ...

其他(感悟、思考等,可选)

菜就多练

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 200/200 2/2 20/20
第二周 300/500 2/4 18/38
第三周 500/1000 3/7 22/60
第四周 300/1300 2/9 30/90
第五周 600/1200 2/2 20/20
第六周 900/1500 2/4 18/38
第七周 1000/1000 3/7 22/60
第八周 900/1300 2/9 30/90
第九周 800/1200 2/2 20/20
第十周 1300/1500 2/4 18/38
第十一周 900/1000 3/7 22/60
第十二周 800/1300 2/9 30/90
第十三周 900/1200 2/2 20/20
第十四周 1000/1500 2/4 18/38

标签:问题,20,一个,数据类型,2024,2025,数据,20241311,结构
From: https://www.cnblogs.com/SuoneShen/p/18639553

相关文章

  • 2024-2025-1 20241319 《计算机基础与程序设计》第十四周学习总结
    作业信息这个作业属于哪个课程2024-2025-1-计算机基础与程序设计这个作业要求在哪里https://www.cnblogs.com/rocedu/p/9577842.html#WEEK14这个作业的目标《C语言程序设计》第13章作业正文https://www.cnblogs.com/wchxx/p/18639513**教材学习内容总结1.......
  • 学期2024-2025-1学号202413177 《计算机基础与程序设计》第十四周学习总结
    学期2024-2025-1学号202413177《计算机基础与程序设计》第十四周学习总结作业信息这个作业属于哪个课程<班级的链接>(如2024-2025-1-计算机基础与程序设计)这个作业要求在哪里<作业要求的链接>(如2024-2025-1计算机基础与程序设计第一周作业)这个作业的目标<写上具......
  • 2024-2025-1(20241321)《计算机基础与程序设计》第十四周学习总结
    这个作业属于哪个课程<班级的链接>(2024-2025-1-计算机基础与程序设计)这个作业要求在哪里<作业要求的链接>(2024-2025-1计算机基础与程序设计第十四周作业)这个作业的目标<深刻学习C语言,反思一周学习,温故知新>作业正文...本博客链接https://www.cnblogs.com/guc......
  • 20241313刘鸣宇《计算机基础与程序设计》第14周学习总结
    2024-2025-120241313《计算机基础与程序设计》第14周学习总结作业信息这个作业属于哪个课程<班级的链接>(如2024-2025-1-计算机基础与程序设计)这个作业要求在哪里<作业要求的链接>(如2024-2025-1计算机基础与程序设计第一周作业)这个作业的目标<写上具体方面>......
  • 最新智能科学与技术专业毕业设计选题推荐 2025
    目录毕设选题选题迷茫选题的重要性更多选题指导最后     大四是整个大学期间最忙碌的时光,一边要忙着准备考研,考公,考教资或者实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。大四的同学马上要开始毕业设计,对选题有疑问可以问学长哦!以下......
  • 2024-2025-1 20241403《计算机基础与程序设计》第十四周学习总结
    2024-2025-120241403《计算机基础与程序设计》第十四周学习总结作业信息这个作业属于哪个课程<班级的链接>(2024-2025-1-计算机基础与程序设计)这个作业要求在哪里<作业要求的链接>(2024-2025-1计算机基础与程序设计第十四周作业)这个作业的目标二进制文件和文本文......
  • 轻舟已过万重山——2024秋软工实践个人总结
    ......
  • 2024.12.28 Good Bye 2024: 2025 is NEAR
    比赛链接Solved:5/10Rank:1565-90又-90,好不容易上点分两场全掉没了……A.TenderCarpenter题意:\(n\)个数,问能否有多于一种划分方案,使得划分出的每组数中任选三个数(可以相同)都能构成三角形。显然全划分成一个是合法的;那么只需考虑任意的相邻两个数能否分成一组即可。......
  • 2024.12.28 周六
    2024.12.28周六Q1.1100Youaregiventwointegers$l\ler$.Youneedtofindpositiveintegers$a$and$b$suchthatthefollowingconditionsaresimultaneouslysatisfied:$l\lea+b\ler$$\gcd(a,b)\neq1$orreportthattheydonotexist.......
  • 磨砺以成——2024秋软工实践个人总结
    一、学期回顾1.1回顾你对于软件工程课程的想象最初的期待与目标:你对软件工程课程的理解和期待是什么?软件工程是一门系统化、工程化地解决软件开发和维护问题的学科。我对该课程的理解是,它不仅教授理论知识,例如软件开发生命周期、需求分析、架构设计、质量保障等内容,还注......