当前位置: 首页 > 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 状态码的一种。由于服务器…...

【JavaEE】-- HTTP

1. HTTP是什么&#xff1f; HTTP&#xff08;全称为"超文本传输协议"&#xff09;是一种应用非常广泛的应用层协议&#xff0c;HTTP是基于TCP协议的一种应用层协议。 应用层协议&#xff1a;是计算机网络协议栈中最高层的协议&#xff0c;它定义了运行在不同主机上…...

从WWDC看苹果产品发展的规律

WWDC 是苹果公司一年一度面向全球开发者的盛会&#xff0c;其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具&#xff0c;对过去十年 WWDC 主题演讲内容进行了系统化分析&#xff0c;形成了这份…...

Android15默认授权浮窗权限

我们经常有那种需求&#xff0c;客户需要定制的apk集成在ROM中&#xff0c;并且默认授予其【显示在其他应用的上层】权限&#xff0c;也就是我们常说的浮窗权限&#xff0c;那么我们就可以通过以下方法在wms、ams等系统服务的systemReady()方法中调用即可实现预置应用默认授权浮…...

NXP S32K146 T-Box 携手 SD NAND(贴片式TF卡):驱动汽车智能革新的黄金组合

在汽车智能化的汹涌浪潮中&#xff0c;车辆不再仅仅是传统的交通工具&#xff0c;而是逐步演变为高度智能的移动终端。这一转变的核心支撑&#xff0c;来自于车内关键技术的深度融合与协同创新。车载远程信息处理盒&#xff08;T-Box&#xff09;方案&#xff1a;NXP S32K146 与…...

基于SpringBoot在线拍卖系统的设计和实现

摘 要 随着社会的发展&#xff0c;社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 在线拍卖系统&#xff0c;主要的模块包括管理员&#xff1b;首页、个人中心、用户管理、商品类型管理、拍卖商品管理、历史竞拍管理、竞拍订单…...

Linux nano命令的基本使用

参考资料 GNU nanoを使いこなすnano基础 目录 一. 简介二. 文件打开2.1 普通方式打开文件2.2 只读方式打开文件 三. 文件查看3.1 打开文件时&#xff0c;显示行号3.2 翻页查看 四. 文件编辑4.1 Ctrl K 复制 和 Ctrl U 粘贴4.2 Alt/Esc U 撤回 五. 文件保存与退出5.1 Ctrl …...

(一)单例模式

一、前言 单例模式属于六大创建型模式,即在软件设计过程中,主要关注创建对象的结果,并不关心创建对象的过程及细节。创建型设计模式将类对象的实例化过程进行抽象化接口设计,从而隐藏了类对象的实例是如何被创建的,封装了软件系统使用的具体对象类型。 六大创建型模式包括…...

django blank 与 null的区别

1.blank blank控制表单验证时是否允许字段为空 2.null null控制数据库层面是否为空 但是&#xff0c;要注意以下几点&#xff1a; Django的表单验证与null无关&#xff1a;null参数控制的是数据库层面字段是否可以为NULL&#xff0c;而blank参数控制的是Django表单验证时字…...

论文阅读:LLM4Drive: A Survey of Large Language Models for Autonomous Driving

地址&#xff1a;LLM4Drive: A Survey of Large Language Models for Autonomous Driving 摘要翻译 自动驾驶技术作为推动交通和城市出行变革的催化剂&#xff0c;正从基于规则的系统向数据驱动策略转变。传统的模块化系统受限于级联模块间的累积误差和缺乏灵活性的预设规则。…...

【Java多线程从青铜到王者】单例设计模式(八)

wait和sleep的区别 我们的wait也是提供了一个还有超时时间的版本&#xff0c;sleep也是可以指定时间的&#xff0c;也就是说时间一到就会解除阻塞&#xff0c;继续执行 wait和sleep都能被提前唤醒(虽然时间还没有到也可以提前唤醒)&#xff0c;wait能被notify提前唤醒&#xf…...