2024-2025-1 20241408陈烨南《计算机基础与程序设计》第八周学习总结
这个作业属于哪个课程 | 2024-2025-1-计算机基础与程序设计) |
---|---|
这个作业要求在哪里 | https://www.cnblogs.com/rocedu/p/9577842.html#WEEK08 |
这个作业的目标 | 数组与链表、基于数组和基于链表实现数据结构、无序表与有序表、树、图、子程序与参数 |
作业正文 | 本博客链接 |
教材学习内容总结
《计算机科学概论》第9章:面向对象设计与高级程序设计语言
面向对象基础:介绍对象、类、封装、继承和多态的概念,这些是面向对象程序设计(OOP)的基石。
类与对象:深入探讨类的定义、对象的创建和类的成员,包括数据成员和成员函数。
继承与多态:讨论继承如何允许新类从现有类中派生,以及多态如何允许一个接口有多种实现。
UML类图:使用统一建模语言(UML)类图来可视化类、对象和它们之间的关系。
设计模式:概述常见的设计模式,如工厂模式、单例模式和观察者模式,这些模式帮助解决特定设计问题。
软件工程:强调软件工程原则和实践,包括需求分析、设计、实现、测试和维护。
《C语言程序设计》第7章:函数与模块化程序设计
函数基础:复习函数的定义、声明、调用和作用域,以及如何使用函数来模块化程序。
参数传递:详细说明值传递和地址传递(指针传递),以及它们对函数行为的影响。
递归与栈:探讨递归函数的工作原理,栈帧的创建和销毁,以及递归在程序设计中的应用。
模块化:讨论如何通过函数和模块来组织代码,提高代码的可读性和可维护性。
作用域:解释局部变量、全局变量和静态变量的作用域,以及它们在程序中的行为。
存储类:深入探讨程序中不同变量和数据结构的存储类,如自动、静态和动态存储。
编译与链接:介绍编译器和链接器如何将多个源文件编译和链接成可执行程序。
教材学习中的问题和解决过程
Q:如何倒序输出字符串?
A:
基于AI的学习
代码调试中的问题和解决过程
问题1:字符串没有正确倒序输出
症状: 程序输出的字符串顺序与预期相反,即从字符串的开头开始输出。
原因: 循环的起始条件设置错误,应该是 i = length - 1 而不是 i = 0。
解决: 检查循环的起始条件,并确保它是从字符串的最后一个字符开始。
问题2:输出包含字符串末尾的空字符
症状: 字符串正确倒序输出了,但是末尾多了一个空字符。
原因: 字符串在C语言中以空字符 '\0' 结尾,循环没有正确地排除这个空字符。
解决: 确保循环在遇到空字符之前停止。可以通过检查 str[i] != '\0' 来实现,或者更简单地,使用 length - 1 作为循环的上限,因为 strlen 函数返回的长度不包括空字符。
上周考试错题总结
捕鱼问题错误,主要是逻辑思维与理解没能跟上
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 18篇 | 400小时 |