2024-2025 20241425 第15周学习总结
第一周作业
1.学习了有关专业的技能培养方向
2.对《计算机基础与程序设计》进行了大致的浏览,大概了解了计算机的相关理论知识
3.学习了有关2进制、8进制、10进制、16进制之间的转换
第二周作业
1.《计算机科学概论》:第一章向我们介绍了计算机科学这门学科的内容以及其基本概念,计算机科学是一门研究计算机及其周围各种现象和规律的科学,涵盖计算机系统结构、程序系统(即软件)、人工智能以及计算本身的性质和问题的学科。算机科学的基本概念包括图灵机和冯·诺依曼模型。在计算机科学的基本概念中,布尔运算是一个重要的概念。
2.《C语言程序设计》:第一章作为C语言程序设计的开篇,主要介绍了C语言的历史背景、特点、应用领域以及学习C语言的重要性。
第三周作业
1.《计算机科学概论》:主要学习了进制之间的转换,以及其他算法在计算机领域的应用。并且还学习了数据在计算机中的表示方式
2.《C语言程序设计》:主要学习了常量与变量,以及二者如何在计算机中被计算和使用。
第四周作业
学习了CPU和嵌入式系统的相关知识
第五周作业
《C语言程序设计》:本周我们学习了如何正确使用循环语句,以及“while","for","do-while"
循环控制表达式。老师向我们介绍了如何编写猜数程序,也就是循环语句的具体实际应用。
字符常量与转义字符:介绍了字符常量是用单引号括起来的一个字符,转义字符是以反斜线(\)开头的字符序列,用于描述特定的控制字符,如换行符(\n)、回车符(\r)、水平制表符(\t)等。 字符输入输出函数:介绍了字符输入函数getchar()和字符输出函数putchar()的使用。 格式化输入输出函数:介绍了数据的格式化输出函数printf()和数据的格式化输入函数scanf()的使用。
第六周作业
本周我们继续强化学习了循环结构的应用,并通过实验课的学习进行了语句的实践操作
第七周作业
学习了数组和链表
第八周作业
学习了数组的相关知识
第九周作业
学习了指针的相关知识
第十周作业
学习了字符串和指针的相关知识
第十一周作业
学习了结构体以及网络分层模型的相关知识
第十二周作业
学习了文件的相关知识
第十三周作业
继续学习了结构体相关知识
第十四周作业
学习了文件的知识以及C语言编程中的常见错误
实验报告链接汇总
实验一:Linux 基础命令实践
实验二:基本控制结构编程练习
实验四:函数与数组编程练习
实验六:文件与结构体编程练习
实验七:缓冲区溢出实验
实验八:基于 LAMP 部署 WordPress
课程收获与不足
在深入研习计算机科学概论这门课程的过程中,我仿若踏入了一个全新的科技世界,系统且全面地认识了计算机硬件那精妙复杂的基本组成架构。其中,作为计算机 “大脑” 的中央处理器(CPU),其高速的数据处理能力和指令执行能力令我惊叹不已,它有条不紊地调度着计算机内的各项任务,掌控着整个系统的运行节奏。而存储器宛如一座巨大的知识宝库,分为内存与外存,内存为计算机当下运行程序和数据提供临时存储的空间,保障系统的流畅运行;外存则像一个海量的档案库,负责长久保存各类资料,以供随时调取使用。再者,输入 / 输出设备充当了计算机与外界沟通的桥梁,键盘、鼠标精准地将我们的指令传递给计算机,显示器、打印机又把计算机处理后的结果直观地反馈出来。我深入探究了它们之间那种紧密无间、环环相扣的协同工作模式,深刻领悟到每一个组件虽各司其职,却又相互依存,共同推动计算机系统高效运转。
与此同时,我还熟练掌握了在计算机中表示不同类型数据的方法。对于整数,无论是正整数、负整数还是零,计算机都能依据特定规则精准存储与运算;浮点数的表示则巧妙涵盖了小数部分,让高精度的数值计算成为可能;字符与字符串的表示更是丰富多彩,每一个字符都对应着独一无二的编码,这背后涉及到二进制、十进制、十六进制等多种数制之间灵活自如的转换。我潜心钻研,熟练掌握了它们之间相互转换的技巧,比如二进制与十进制的快速换算,以及十六进制在特定场景下简洁表示数据的优势。并且,我对数据编码方式也有了深入了解,ASCII 码作为早期广泛应用的字符编码标准,为英文字符赋予了对应的数字编码,使得计算机能够识别和处理文本;而 Unicode 的出现更为全球范围内的字符统一编码提供了强大支持,不同国家、不同语言的字符都能在计算机世界里和谐共处、准确呈现。
在算法与数据结构的启蒙学习中,我初次接触到算法那神秘而迷人的领域,初步理解了时间复杂度与空间复杂度这两个衡量算法优劣的关键指标。时间复杂度如同一场赛跑中的速度记录,反映算法运行所需时间随数据规模增长的变化趋势;空间复杂度恰似运动员的装备背包大小,展示算法执行过程中所需存储空间的增减情况。我还结识了一些常见的数据结构 “小伙伴”,数组像是排列整齐的置物架,能按照顺序存放多个同类型的数据,通过索引便可迅速定位访问;链表则似一条灵动的链条,每个节点自由连接,动态地增减元素,为数据存储提供了更多灵活性;栈宛如一个只进不出的神秘盒子,遵循后进先出原则,数据依次堆叠,在特定场景如函数调用、表达式求值中发挥关键作用;队列仿若有序排队的人群,先进先出,在任务调度、消息传递等系统中有诸多应用。这些基础知识的积累,为我后续深入挖掘算法与数据结构的宝藏筑牢了根基,让我逐步明晰如何巧妙地组织数据、高效地处理信息,开启编程智慧的大门。
随后开启的 C 语言程序设计学习之旅同样精彩非凡。我全身心沉浸于 C 语言那简洁而强大的语法结构之中,从基础的数据类型开始摸索,如同辨别不同形状的积木,整型、浮点型、字符型等各有特点与用途,精准选择合适的数据类型是构建稳固程序大厦的基石。变量声明环节,就像是为即将入住的信息 “居民” 安排房间,赋予它们名称与类型,确保程序运行时有条不紊地存取数据。运算符则像神奇的魔法符号,算术运算符让数字在程序中欢快运算,关系运算符巧妙判断条件真假,逻辑运算符编织复杂的判断网络,它们相互配合,让程序具备了思考决策的能力。控制语句更是掌控程序流程的 “指挥官”,if 语句像一位严谨的裁判,依据条件决定程序走向;for 循环宛如一台高效的复读机,按照设定规则多次重复执行任务,轻松处理批量数据;while 循环则似一位执着的守望者,只要条件满足便持续运行,灵活应对各种动态场景。函数定义与调用仿若打造一个个功能各异的工具模块,封装好特定功能,按需取用,极大提高了代码的复用性与可读性。通过反复练习与实践,我逐渐能够运用这些知识编写出结构清晰、逻辑严谨的程序,看着一行行代码如灵动音符奏响预期的功能乐章,内心满是成就感。
然而,回顾学习历程,我也察觉到自身存在的不足之处。在编写程序遇到难题时,我过于依赖 AI,常常一碰到障碍,下意识的反应就是向 AI 求助。这看似走了捷径,实则错失了许多宝贵的自主探索机会。今后,我决心改变策略,当问题出现,首先要做的是自己静下心来尝试解决。翻开厚重的教材,那里面沉淀着前辈们的智慧结晶,逐字逐句研读相关章节,或许就能在字里行间找到问题的突破口;开启 debug 模式,如同侦探勘查现场,一步步排查程序错误,从变量赋值的偏差、逻辑判断的漏洞,到函数调用的失误,不放过任何蛛丝马迹。通过这样深度的自主钻研,即便最终仍未攻克难题,彼时再向 AI 求助,收获的也绝不仅仅是问题的答案,更是探索过程中积累的经验与成长。毕竟,学习编程正如谚语 “熟能生巧” 所揭示的那般,是一场需要持之以恒、坚持不懈精神的马拉松,每一次自我挑战、每一回独立解决问题,都是在这场征程中坚实有力的脚印。