当前位置: 首页 > news >正文

『年度总结』逐梦编程之始:我的2023学习回顾与展望

目录

前言

我与Python

我与C语言

第一篇正式博客:

第二篇正式博客(扫雷):

 指针学习笔记:

C语言学习笔记:

我与数据结构:

yuan


这篇博客,我将回顾2023年编程之旅的起点,同时展望2024年的新征程。

前言

高考结束后,我因为未能达到期望已久的目标分数,经历了一段漫长而深沉的颓废时期。在那段时间里,心中充满了失落与迷茫。最终,因我兴趣所使及互联网上某考研名师的强烈推荐,我选择了计算机专业作为我重辟征途的开始。

高考的挫折,我已不愿再忆。而今,心中唯有一愿:

愿我与那些同行在编程这道路上的人们,都能怀着一颗无悔的心,坚定不移地走下去,直至成功抵达彼岸。

   

我与Python

实际上,我的编程之旅是从Python入门的。在暑假时,我断断续续地投入了一个月的时间来学习Python。正如网络上普遍的评价,Python的入门相较于C语言更为平易近人。它摒弃了C语言中那些繁琐的规定,确实是简洁语言的代表。这种简洁不仅降低了学习的门槛,更激发了我对编程的兴趣。虽然我粗略的学到了Python中的类与对象的那个部分,但现如今,我甚至忘记了基本语法。但是开学的时候,我听说学校大二才开始学python,学校的教学计划是先从C语言开始,于是乎,我暂停了python的学习,开始了C语言的学习。

我与C语言

C语言的学习,是从同学那推荐比特的视频开始的。刚开始学习C语言时,因为Python语法的给我的思维惯性,让我第一次感受到了什么是真正的难度。C语言的代码确实以其严谨性而著称,每一个细节都必须精确到位,相较于Python的简洁与直观,C语言的学习曲线更为陡峭。(还好鹏哥讲的细,不然我可能直接奔向Python的怀抱了!!!)

在正式加入比特的学习后,我便写知道写CSDN的重要性。

第一篇正式博客:

在学习了C语言的三种结构,顺序结构,选择结构,循环结构后,于是我写下了我的第一篇正式博客 :C语言对猜数游戏的优化(防止输入错误)-CSDN博客

   

与此篇博客同时发出的是:C语言中限定输入scanf的为整型(整数),浮点型_如何设置c语言中的输入全是浮点数-CSDN博客

这篇博客是第一篇博客与我学习写扫雷代码中遇到scanf输入错误时,错误的修正 。

   

第二篇正式博客(扫雷):

C语言实现扫雷(递归实现一扫一片,内含详解,附源码)-CSDN博客

在学习过函数和数组的相关知识后,我根据鹏哥的提供的思路,写出了这一个经典小游戏(虽然非常简陋就是了)“扫雷”,通过自己的研究,让画面变得更加充实,还添加了计数与选择雷数功能,于是我就把扫雷写成博客,分享自己的思路(虽然还是有小bug就是了(>﹏<)  )

写扫雷的时候,是我博客字数(包括代码)最多的一次

在写了这篇之后,我便开始控制博客字数,因为写得内容过多,确实可以分好几篇了。

(而且还没什么人看o(╥﹏╥)o,或许是我的扫雷不够好吧X﹏X  )

   

(之后的博客大多其中大部分内容是围绕C语言的学习展开,同时也分享了一些刷题的日志)

 指针学习笔记:

这里不得不感叹指针,这玩意老难了,我大概学了两个星期,还刷了一个星期的题,我逐渐领悟了指针的一些基本用法和技巧。然而,我不得不承认,尽管我现在对指针有了一定的理解和应用能力,但面对指针的深奥之处和高级应用,我仍然保持着一颗敬畏之心。毕竟,谁看到这样的代码都会惊叹吧 ╥﹏╥:

(*(void (*)())0)();

void(*)(int)  signal( int  , void(*)(int))

(!讲解在指针详解二,下面第三篇指针博客!)

初识指针(指针和指针变量、如何理解地址、指针类型的意义、void*指针、野指针、空指针)(笔记)-CSDN博客

指针详解(const、指针运算、数组名的理解、传址调用和传值调用、一维数组的本质​)(一)-CSDN博客

指针详解(二级指针、指针数组和数组指针、字符指针、二维数组传参、函数指针变量)(二)-CSDN博客

指针详解(冒泡排序、qsort、回调函数、转移表)(三)_指针访问的冒泡排序-CSDN博客

指针运算笔试题解析-CSDN博客

C语言学习笔记:

在学习扫雷之后,我便开始了解了一些内存知识和操作符用法: 

初识函数栈帧的创建与销毁(笔记)-CSDN博客

操作符(笔记)-CSDN博客

 而后便是字符函数与字符串函数的学习,在学习C语言的过程中,字符函数与字符串函数的部分无疑是一大挑战。这部分的函数之多、用法之细致、记忆之困难,导致在实际应用时经常出现错误。

深入理解字符串函数和字符函数(islower和isupper、tolower和toupper、strlen、strcpy、strcat、strcmp)(一)-CSDN博客

深入理解字符串函数(strstr、strtok、strerror)(二)-CSDN博客

之后则是内存函数、结构体、数据存储和大小端的学习了,这些概念相对抽象,需要细致的理解和扎实的实践。内存函数直接关乎程序的效率和稳定性;

内存函数​(memcpy、memmove、memset、memcmp)_memcpy mmap内存 framebuffer-CSDN博客
结构体则是组织复杂数据的得力助手,它们允许我们将不同类型的数据组合在一起,形成一个自定义的数据结构,从而方便地管理和操作这些数据。;

而大小端问题则是跨平台编程时必须面对的挑战;理解整数和浮点数的存储方式对于编写高效、可靠的代码至关重要,因为它们直接影响着程序处理数值数据的方式和性能。

自定义类型:联合体和枚举类型(联合体与结构体的区别)-CSDN博客

整数和浮点数在内存中的存储​(大小端详解)-CSDN博客

柔性数组详解-CSDN博客

 文件操作是C语言的基本技能,通过标准库函数实现打开、读写和关闭文件。需注意文件路径、权限和格式,确保数据安全。掌握文件操作对编写程序至关重要。(虽然我现在刷题的时候也很少用上(>﹏<),但是还是坚持学完了)

文件操作(一、fgets和fputs、fscanf和fprintf、fread 和 fwrite、fopen和fclose、fgetc和fputc)-CSDN博客

文件操作(二、scanf/fscanf/sscanf​与printf/fprintf/sprintf​、fseek与ftell与rewind、feof)-CSDN博客

我与数据结构:

对于数据结构的学习,我更是怀着一颗敬畏、钦佩之心。每当我深入研究那些前人留下的代码时,都会被它们所展现出的出神入化的技巧和深邃的思维所震撼。常常会感概到:这是人能想出来的???这一部分的学习我暂时只能接触最基础的部分,因为C语言缺少库函数,实现起来相较于C++等高级语言更困难

链表基础知识(一、单链表、头插、尾插、头删、尾删、查找、删除、插入)-CSDN博客

链表基础知识(二、双向链表头插、尾插、头删、尾删、查找、删除、插入)-CSDN博客

顺序表的实现(头插、尾插、头删、尾删、查找、删除、插入)-CSDN博客

环形链表、环形链表 II、有效的括号【LeetCode刷题日志】-CSDN博客

反转链表、链表的中间结点、合并两个有序链表【LeetCode刷题日志】-CSDN博客

二叉树详解(深度优先遍历、前序,中序,后序、广度优先遍历、二叉树所有节点的个数、叶节点的个数)-CSDN博客

二叉树的前序遍历 、二叉树的最大深度、平衡二叉树、二叉树遍历【LeetCode刷题日志】-CSDN博客

总结

回顾C语言学习之旅,我收获满满。从对C语言的懵懂无知,到如今至少略知一二,感谢这段旅程,它教会了我探索与坚持,每一步都充满挑战,但也带来成长的喜悦,也让我对未来充满期待。

尽管网络上充斥着“计算机领域已难以取得成就”的声音,我依旧选择坚定地在这条道路上迈进,这不仅仅是无奈之举,更是对我而言的最后的机会。毕竟,我的家人们并不支持我走这条道路(在他们看来,计算机对学历的要求很高),但因种种因素下,仍怀有“纵使困顿难行,亦当砥砺奋进”的决心。因为我对计算机所掀起的革命性浪潮充满了无尽的钦佩与向往。我渴望能够融入这场革命,尽自己那绵薄之力,为计算机领域的发展贡献一份力量。

回首2023年,我感到无比庆幸和自豪。有幸有大家的支持与陪伴,我才能无畏前行,度过每一个难关。感谢你们,让我的这一年意义非凡。

愿那漫天繁星能为编程之途中的旅人们,照亮前路。

大家,新年快乐!!!

相关文章:

『年度总结』逐梦编程之始:我的2023学习回顾与展望

目录 前言 我与Python 我与C语言 第一篇正式博客&#xff1a; 第二篇正式博客&#xff08;扫雷&#xff09;&#xff1a; 指针学习笔记: C语言学习笔记&#xff1a; 我与数据结构&#xff1a; yuan 这篇博客&#xff0c;我将回顾2023年编程之旅的起点&#xff0c;同时展…...

MyBatis学习二:Mapper代理开发、配置文件完成增删改查、注解开发

前言 公司要求没办法&#xff0c;前端也要了解一下后端知识&#xff0c;这里记录一下自己的学习 学习教程&#xff1a;黑马mybatis教程全套视频教程&#xff0c;2天Mybatis框架从入门到精通 文档&#xff1a; https://mybatis.net.cn/index.html Mapper代理开发 目的 解决…...

【React系列】受控非受控组件

本文来自#React系列教程&#xff1a;https://mp.weixin.qq.com/mp/appmsgalbum?__bizMzg5MDAzNzkwNA&actiongetalbum&album_id1566025152667107329) 一. refs 的使用 在React的开发模式中&#xff0c;通常情况下不需要、也不建议直接操作DOM原生&#xff0c;但是某些…...

OpenCV-Python(22):2D直方图

目标 了解图像的2D直方图绘制2D直方图 介绍 在前面的部分我们介绍了如何绘制一维直方图&#xff0c;之所以称为一维&#xff0c;是因为我们只考虑了图像的一个特征&#xff1a;灰度值。但是在2D 直方图中我们就需要考虑两个图像特征。对于彩色图像的直方图通常情况下我们需要…...

Kubernetes 100个常用命令

本文简单总结关于使用 Kubectl 进行 Kubernetes 诊断的指南。列出了 100 个 Kubectl 命令&#xff0c;这些命令对于诊断 Kubernetes 集群中的问题非常有用。这些问题包括但不限于&#xff1a; 集群信息 Pod 诊断 服务诊断 部署诊断 网络诊断 持久卷和持久卷声明诊断 资源…...

labuladong日常刷题-差分数组 | LeetCode 1109航班预定统计 | 花式遍历 151反转字符串里的单词

差分数组–前缀和数组的升级 LeetCode 1109 航班预定统计 2024.1.1 题目链接labuladong讲解[链接] class Solution { public:vector<int> corpFlightBookings(vector<vector<int>>& bookings, int n) {//构建航班人数数组&#xff0c;数组大小为n,初…...

HbuilderX中的git的使用

原文链接https://blog.csdn.net/Aom_yt/article/details/119924356...

LeetCode每日一题 | 1944. 队列中可以看到的人数

文章目录 队列中可以看到的人数题目描述问题分析程序代码&#xff08;Golang 版本&#xff09; 队列中可以看到的人数 题目描述 原题链接 有 n 个人排成一个队列&#xff0c;从左到右 编号为 0 到 n - 1 。给你以一个整数数组 heights &#xff0c;每个整数 互不相同&#xff…...

React16源码: JSX2JS及React.createElement源码实现

JSX 到 Javascript 的转换 React中的 JSX 类似于 Vue中的template模板文件&#xff0c;Vue是基于编译时将template模板转换成render函数在React中&#xff0c;JSX是类似于html和javascript混编的语法&#xff0c;而javascript是真的javascript, html并非真的html它的可阅读性可…...

整理composer安装版本的python脚本

整理composer安装版本的python脚本 脚本实现的功能是去除composer安装命令后的版本号 def remove_version_numbers(commands):"""Remove version numbers from composer require commands.Args:commands (list of str): List of composer require commands.Retu…...

十、基本对话框大集合(Qt5 GUI系列)

目录 一、设计需求 二、实现代码 三、代码解析 四、总结 一、设计需求 Qt提供了很多标准的对话框。例如标准文件对话框(QFileDialog)、标准颜色对话框(QColorDialog)、标准字体对话框 (QFontDialog)、标准输入对话框 (QInputDialog) 及消息对话框 (QMessageBox)。本文展示各…...

大A又跌了

才开盘几天&#xff0c;又开始下跌了。生活更加苦难。期待高深算法。...

This error originates from a subprocess, and is likely not a problem with pip

我遇这个问题是的原因是包名错误 注意检查包名...

数据库基础知识1

关系模型的程序员不需熟悉数据库的存取路径 在3层模式结构中,___I___是数据库的核心和关键,___Ⅱ___通常是模式的子集,数据库模式的描述提供给用户,____Ⅲ__的描述存储在硬盘上。Ⅰ.模式Ⅱ. 外模式Ⅲ. 内模式 数据库中,数据的物理独立性是指用户的应用程序与存储在磁盘上数据库…...

【GO语言卵细胞级别教程】01.GO基础知识

01.GO基础知识 目录 01.GO基础知识1.GO语言的发展历程2.发展历程3.Windowns安装4.VSCode配置5.基础语法5.1 第一段代码5.2 GO执行的流程5.3 语法规则5.4 代码风格5.5 学习网址 1.GO语言的发展历程 Go语言是谷歌公司于2007年开始开发的一种编程语言&#xff0c;由Robert Griese…...

215.【2023年华为OD机试真题(C卷)】按身高和体重排排队(排序题-JavaPythonC++JS实现)

🚀点击这里可直接跳转到本专栏,可查阅顶置最新的华为OD机试宝典~ 本专栏所有题目均包含优质解题思路,高质量解题代码(Java&Python&C++&JS分别实现),详细代码讲解,助你深入学习,深度掌握! 文章目录 一. 题目-按身高和体重排排队二.解题思路三.题解代码Pyt…...

虚函数(C++)

四、多态4.1 虚函数 四、多态 多态性是面向对象程序设计语言的又一重要特征&#xff0c;多态&#xff08;polymorphism&#xff09;通俗的讲&#xff0c;就是用一个相同的名字定义许多不同的函数&#xff0c;这些函数可以针对不同数据类型实现相同或类似的功能&#xff0c;即所…...

力扣25题: K 个一组翻转链表

【题目链接】力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台&#xff0c;解题代码如下&#xff1a; class Solution {public ListNode reverseKGroup(ListNode head, int k) {ListNode curNode head;ListNode groupHead, groupTail head, lastGrou…...

网络安全应急响应工具之-流量安全取证NetworkMiner

在前面的一些文章中&#xff0c;用了很多的章节介绍流量分析和捕获工具wireshark。Wireshark是一款通用的网络协议分析工具&#xff0c;非常强大&#xff0c;关于wireshark的更多介绍&#xff0c;请关注专栏&#xff0c;wireshark从入门到精通。本文将介绍一个专注于网络流量取…...

http 401 错误

HTTP 401 错误表示未被授权&#xff0c;指客户端通过请求头中的身份验证数据进行身份验证&#xff0c;服务器返回401状态码表示身份验证失败。HTTP 401 错误通常与身份验证和授权相关的 Web 请求有关。 一、HTTP 401错误的定义 HTTP 401 错误是 HTTP 状态码的一种。由于服务器…...

conda相比python好处

Conda 作为 Python 的环境和包管理工具&#xff0c;相比原生 Python 生态&#xff08;如 pip 虚拟环境&#xff09;有许多独特优势&#xff0c;尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处&#xff1a; 一、一站式环境管理&#xff1a…...

阿里云ACP云计算备考笔记 (5)——弹性伸缩

目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...

JavaScript 中的 ES|QL:利用 Apache Arrow 工具

作者&#xff1a;来自 Elastic Jeffrey Rengifo 学习如何将 ES|QL 与 JavaScript 的 Apache Arrow 客户端工具一起使用。 想获得 Elastic 认证吗&#xff1f;了解下一期 Elasticsearch Engineer 培训的时间吧&#xff01; Elasticsearch 拥有众多新功能&#xff0c;助你为自己…...

《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析 (一)

CSI-2 协议详细解析 (一&#xff09; 1. CSI-2层定义&#xff08;CSI-2 Layer Definitions&#xff09; 分层结构 &#xff1a;CSI-2协议分为6层&#xff1a; 物理层&#xff08;PHY Layer&#xff09; &#xff1a; 定义电气特性、时钟机制和传输介质&#xff08;导线&#…...

深入理解JavaScript设计模式之单例模式

目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式&#xff08;Singleton Pattern&#…...

基础测试工具使用经验

背景 vtune&#xff0c;perf, nsight system等基础测试工具&#xff0c;都是用过的&#xff0c;但是没有记录&#xff0c;都逐渐忘了。所以写这篇博客总结记录一下&#xff0c;只要以后发现新的用法&#xff0c;就记得来编辑补充一下 perf 比较基础的用法&#xff1a; 先改这…...

SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现

摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序&#xff0c;以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务&#xff0c;提供稳定高效的数据处理与业务逻辑支持&#xff1b;利用 uniapp 实现跨平台前…...

汇编常见指令

汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX&#xff08;不访问内存&#xff09;XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...

初学 pytest 记录

安装 pip install pytest用例可以是函数也可以是类中的方法 def test_func():print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...

Netty从入门到进阶(二)

二、Netty入门 1. 概述 1.1 Netty是什么 Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients. Netty是一个异步的、基于事件驱动的网络应用框架&#xff0c;用于…...