2023-2024-1 学号20231318《计算机基础与程序设计》第8周学习总结

发布时间 2023-11-19 20:24:18作者: 20231318傅述令

作业信息

这个作业属于哪个课程 2022-2023-1-计算机基础与程序设计
这个作业要求在哪里 2022-2023-1计算机基础与程序设计第八周作业
这个作业的目标 自学教材《计算机科学概论》第9章以及《C语言程序设计》第7章并完成云班课测试。
作业正文 2023-2024-1 学号20231318《计算机基础与程序设计》第八周学习总结

教材学习内容总结

1.《计算机科学概论》第九章:

主要介绍了

  • 面向对象方法,分解过程为头脑风暴、过滤、场景、责任算法;
  • 翻译过程(编译器、解释器);
  • 程序设计语言范型,有两种主要的范型分别为命令式范型(面向过程、面向对象)、声明式范型(函数式模型、逻辑编程);
  • 高级程序设计语言的功能性(布尔表达式、数据归类、输入\输出结构、控制结构);
  • 面向对象语言的功能性(封装、类、继承、多态);
  • 过程设计与面向对象设计的区别。

2.《C语言程序设计》第七章:

主要介绍了

  • 分而治之与信息隐藏;
  • 函数的定义与调用(函数的定义、调用、原型、返回值);
  • 函数封装和防御性程序设计;
  • 函数的递归调用和递归函数;
  • 变量的作用域和生存期(局部变量、全局变量;自动变量、静态变量、外部变量、寄存器变量);模块化程序设计(模块分解的基本原则、自顶向下和逐步求精、多文件编程);
  • 代码风格(代码行、对齐与缩进、空行及代码行内的空格、长行拆分、程序注释)。

教材学习中的问题和解决过程

  1. 函数为什么不能返回多个值?怎么达到类似效果?
    通过询问AI和课上学习,我知道了
    (1)在大多数编程语言中,函数通常只能返回一个值。这是因为函数的设计初衷是为了执行特定的任务并返回结果,这个结果可以是任何数据类型(整数、浮点数、对象、结构体等),但通常只能返回一个。

返回多个值会引入复杂性,并且可能会使代码难以理解和维护。因此,为了简化语言的设计和提高代码的清晰度,大多数编程语言限制了函数只能返回单个值。
(2)有一些方法可以实现类似返回多个值的效果:

  • (未学)使用数据结构:定义一个结构体或类,在其中封装多个值,然后将这个结构体或类的实例作为函数的返回值。这样,虽然从技术上来说只返回了一个对象,但这个对象可以包含多个属性或值。

  • 使用数组或集合:有些语言支持返回数组或集合类型,这些数组或集合可以包含多个元素,从而间接实现返回多个值的效果。

  • 使用指针参数:通过传递指向变量的指针作为函数参数,函数可以修改这些变量的值,间接实现返回多个值的效果。

  1. 数组为什么不需要指针?

    将数组作为参数传递给函数时,实际上传递的是数组的首地址,因此在函数内部可以通过这个地址来访问整个数组。这使得在函数内对数组的操作会影响到原始数组。
    这种数组的行为是 C 语言中的一个特例。当声明一个数组时,数组名实际上就是数组的地址。因此,在函数参数中,传递数组时,实际上是传递了数组的地址。

基于AI的学习

image
image
image
image
image
image
image

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 10篇 300小时
第一周 200/200 1/1 28/28 学会了markdown语法
第二周 100/300 1/2 10/38 学会了使用chatgpt
第三周 150/450 1/3 15/53 学习运用c语言编写简单程序
第四周 150/600 1/4 20/73 学习运用C语言输出数学计算程序,熟悉门电路知识
第五周 120/720 1/5 13/86 学习运用基本的机器语言、汇编语言和伪代码
第六周 180/900 1/6 20/106 学习综合运用分支结构与循环结构
第七周 200/1100 1/7 14/120 学习运用跳转结构与调用函数
第八周 300/1400 1/8 13/133 学习运用一维和二维数组以及基本的指针用法
预计学习时间:12小时
实际学习时间:13小时

参考资料