自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 收藏
  • 关注

原创 齿轮,弹簧等常用件的规定画法与标记

本文介绍了机械传动中常见齿轮和弹簧的基本参数与制图规范。齿轮部分重点讲解了圆柱齿轮、圆锥齿轮和蜗轮蜗杆的三大基本参数(齿数、模数、压力角)、分度圆概念及各类齿轮的视图表达方法,特别强调啮合区域五线画法和分度圆必须相切的原则。弹簧部分则以圆柱螺旋弹簧为例,详细说明线径、中径、有效圈数等参数定义,图解了支撑圈与有效圈的区别,并介绍了装配图中弹簧被遮挡部分的简化画法。全文通过参数解析配合图示说明,系统阐述了机械制图中齿轮与弹簧的标准绘制方法。

2026-07-22 11:16:18 228

原创 螺纹紧固件,键,销,轴承的基本认识

本文介绍了常见螺纹紧固件、键、销、轴承等标准件的类型、标记方法及装配图画法要点。主要内容包括:1)螺栓、螺柱、螺钉三种螺纹连接方式的装配图画法规范,强调需体现配合间隙和接触面特征;2)键连接的工作原理及普通平键、楔键等常见键型的画法表达,指出花键与螺纹画法的区别;3)轴承代号解读方法(如6208表示深沟球轴承)及简化/规定两种画法特点。全文通过图示结合文字说明,着重阐述了这些标准件在装配图中的标准化表达规范。

2026-07-20 19:59:25 215

原创 《工程识图基本功:螺纹的规定画法与标记解析》

本文简要介绍了螺纹的基本知识,包括螺纹的分类(内/外螺纹)、五要素(牙型、直径、线数、螺距/导程、旋向)和规定画法。重点讲解了标准螺纹的特征标记规则,如粗牙螺纹不标螺距、公差带代号大小写区分内外螺纹等,并举例说明标记解读方法。同时提及管螺纹有独立标注标准,需注意区分。全文通过图文结合的方式,帮助读者理解螺纹的基本概念和工程制图表示方法。

2026-07-14 22:03:26 778

原创 队列和queue

本文介绍了队列及其变体的概念与实现。队列是一种FIFO(先进先出)的线性结构,支持在队尾插入、队头删除操作。文章展示了队列的模拟实现代码,包括入队、出队、获取队头队尾元素等功能。随后讲解了C++ STL中的queue容器,说明其创建方式及常用操作(push/pop/front等)。最后介绍了双端队列deque,它支持两端操作,包含push_front/push_back等特有方法,并提供了测试代码示例。全文通过具体代码演示了各种队列结构的基本操作和应用场景。

2026-03-03 15:37:51 350

原创 单链表的模拟实现(静态实现)

摘要:本文介绍了链表的基本概念和实现方法。链表通过存储数据元素和下一个元素的地址实现非连续存储,与数组的连续存储不同。文章详细讲解了链表的定义、初始化、头插法、遍历、按值查找、删除和插入操作,并提供了相应的C++代码实现。重点分析了如何通过空间换时间优化查找效率,以及链表操作中的关键逻辑和注意事项。对于初学者可能难以理解的部分,作者给出了详细解释和示例代码。

2026-03-03 10:40:49 630

原创 【数据结构】深入理解栈(Stack):从底层实现到 STL

本文介绍了栈的基本概念及其实现方式。栈是一种后进先出(LIFO)的线性表,只能在栈顶进行插入和删除操作。文章首先通过数组模拟实现栈的基本操作(进栈、出栈、查询栈顶等),并提供了测试代码。接着介绍了C++ STL中的stack容器及其常用接口。最后解释了栈存在的意义:虽然相比数组功能受限,但栈通过"后进先出"的契约简化了问题模型,避免了处理复杂情况的困扰。这种抽象逻辑在实际应用中能有效降低代码复杂度,体现了数据结构设计的智慧。

2026-03-03 10:40:18 903

原创 【数据结构】学习数据结构的第一课——顺序表(静态)

本文介绍了顺序表的基本概念和实现方法。顺序表是线性表的顺序存储结构,实际上就是数组。文章重点讲解了静态顺序表的实现方式,包括创建顺序表、插入元素(尾插、头插、任意位置插入)、删除元素(头删、尾删、任意位置删除)以及查找操作(按值查找、按位查找、按位修改)的实现方法。每种操作都提供了具体的代码示例和测试程序,帮助读者理解顺序表的基本操作原理。文章采用通俗易懂的语言,通过代码演示展示了顺序表的各种操作逻辑,适合初学者学习数据结构中的顺序表概念。

2026-02-24 18:43:48 410

原创 动态顺序表——vector

本文介绍了C++ STL中vector容器的基本用法,重点讲解了创建vector的多种方式(包括一维和二维vector)、size/empty判断、push_back/pop_back操作、front/back访问元素以及resize调整大小等接口。文章通过代码示例展示了vector的动态扩容特性,特别是二维vector可以单独调整某行大小的灵活性,并说明了clear操作会回收所有空间。这些接口可以帮助开发者在竞赛中高效使用vector,避免高耗时算法。

2026-02-24 09:53:05 547

原创 如何计算时间复杂度与空间复杂度

摘要:时间复杂度和空间复杂度是衡量算法效率的核心指标。时间复杂度T(n)描述语句执行次数,通常取最高阶项(如O(n²)),忽略低阶项和系数。空间复杂度反映内存需求,主要关注数组等大规模数据结构。常见复杂度增长关系为O(1)<O(logn)<O(n)<O(n²)。算法竞赛中需控制时间复杂度在10⁷-10⁸次/秒内,空间限制通常允许创建3×10⁷大小的int数组。理解这些概念对优化算法性能至关重要。

2026-02-21 15:54:24 620

原创 结构体详解

大家千万不要觉得这个函数会很复杂,只是它这里的英文写的过于的冗长了我下面呢就来简单的介绍一下这个函数,首先要使用这个函数必须要包含头文件 <algorithm>,也就是算法头文件,其次这个函数不返回任何值,并且默认是将给定的内容进行升序排序,也就是从小到大排,第一个参数是第一个数据的指针或迭代器, 第二个参数是最后一个数据之后的迭代器或指针int main()i < 10;i++)//输出 0 1 2 3 4 5 6 7 8 9return 0;

2026-02-14 09:47:50 765

原创 【C / C++】位运算符详解

按位与,都为 1 则为 1,其他情况均为 0| 按位或, 有1 则为1,全 0 才为 0^ 按位异或, 相反则为 1,相同 则为 0~ 按位取反,0变为1,1变为0。

2026-02-12 08:37:27 1118 1

原创 【C / C++】引用和函数重载的介绍

摘要:本文介绍了C++中的引用和函数重载两个重要概念。引用是为变量创建别名,与原变量共享内存空间,必须初始化且不可更改引用对象,其值改变会影响原变量。引用调用能提高函数传参效率并允许修改原变量值。函数重载允许在同一作用域中定义多个同名函数,通过参数数量、类型或顺序的不同来区分,编译器会根据实际参数自动选择对应的函数版本。文章通过代码示例展示了引用调用的效率优势以及函数重载的实际应用,为编程提供了更灵活高效的操作方式。

2026-02-04 16:19:48 842

原创 【C / C++ 】带你系统认识 string(下)

本文介绍了C++中string类的几个重要函数用法。substr函数用于截取字符串,有三种传参方式,与C语言的strcpy相比更安全且自动管理内存。string支持关系运算,通过逐字符比较ASCII码值来判断大小。stoi/stol/stof/stod函数可将字符串转换为数值类型,支持指定进制和错误位置记录。to_string函数则实现数值到字符串的转换,支持多种数值类型。这些函数为字符串处理提供了强大支持,相比C语言更安全便捷。

2026-01-31 08:45:41 1068

原创 【C / C++】带你系统的认识 string(中)

本文介绍了C++ string类中的几个常用函数:1. push_back和pop_back函数,分别用于在字符串尾部添加和删除字符,并提供了示例代码和使用技巧;2. insert函数,用于在指定位置插入字符串,介绍了三种常用传参方式;3. find函数,用于查找字符串中的内容,详细说明了参数含义和返回值处理,特别介绍了npos的用法。文章通过代码示例展示了这些函数的具体使用方法,并提醒注意空字符串调用pop_back等特殊情况。

2026-01-30 09:42:40 1003

原创 【C / C++】带你系统的认识 string(上)

C++中的string类型是对字符数组的高级封装,提供了更便捷的字符串操作方式。与字符数组相比,string支持直接加和与赋值操作,结尾不自动添加\0。使用string需要包含<string>头文件,可通过cin和getline进行输入,并提供了size()方法获取字符串长度。此外,string还支持迭代器(iterator)操作,如begin()和end(),可以像指针一样遍历和修改字符串内容。这些特性使string比字符数组更易用,是C++处理字符串的首选方式。

2026-01-29 09:33:56 1414

原创 【C / C++】如何在不记 ASCII 码值的情况下,判断字母大小写,是否为数字(库函数)

本文介绍了C++中几个常用的字符处理函数。islower/isupper函数用于判断字符大小写,可接受字符或ASCII码值作为参数,返回非0值表示判断成立。tolower/toupper函数实现大小写转换,同样支持字符和ASCII码输入。isdigit函数用于判断字符是否为数字。这些函数均包含在<cctype>头文件中,其特点是将输入自动转换为ASCII码处理,解决了记忆ASCII码值的困扰。使用时既可直接传入字符,也可传入对应的ASCII码值,为字符处理提供了便利。

2026-01-28 15:38:55 813

原创 【C / C++】fgets, gets, getchar,和 scanf 的对比及使用建议

本文对比分析了C/C++中常见的输入函数及其特性。首先指出scanf作为C语言基础输入函数存在格式必须预先确认、VS编译警告、无法读取空格等问题,其设计源于C语言的过程式弱类型特性,而C++的cin通过运算符重载实现了类型自动识别。针对scanf的安全隐患,建议使用"%9s"等格式限定输入长度或改用VS专有的scanf_s函数。对于带空格的输入,介绍了"%[^\n]s"格式和更推荐的fgets函数,后者可限制读取长度并自动处理换行符。文章还提及已被废弃的gets函数的

2026-01-27 10:01:48 979

原创 【C / C++】和数组有关的几个函数(范围 for,auto 关键字, memset, memcpy)

本文介绍了C++中几个实用的编程技巧:1.范围for循环(基于范围的for循环),用于简化数组遍历;2.auto关键字实现变量类型的自动推导;3.memset函数用于批量设置内存值,需注意字节数计算;4.memcpy函数实现数组内容拷贝。文章还特别提供了在DevC++中启用C++11标准的方法(添加-std=c++11编译选项),以支持这些新特性。这些技巧能提升代码简洁性和效率,但使用时需注意数据类型和内存操作的细节。

2026-01-24 12:42:26 1072

原创 【C++】 刷题一星期的小总结(包括求最大值,用数组储存包含空格的字符串、向上取整)

本文介绍了C++编程中三个常见问题的解决方案:1. 求最大值/最小值的三种方法:传统比较法、利用algorithm库的max函数(支持嵌套调用或初始化列表)和三目运算符法;2. 读取带空格字符串的技巧,对比cin和getline的区别,强调使用getline前需清除缓冲区;3. 向上/向下取整的两种实现:整数除法技巧((a+b-1)/b)和使用cmath库的ceil/floor函数,特别提醒参数需转换为浮点数。文章通过代码示例展示了不同方法的实现细节和使用场景,适合初学者参考学习。

2026-01-22 20:37:03 632

原创 [C++] getchar 和 putchar 两个在竞赛中必不可少的函数

又因为 char 类型的变量所占的空间大小是一个字节,而 putchar 这个函数所接收的是4个字节的 int 类型,在这里就需要整形提升,把 char 类型的提升为 int 类型,然后再去输出的这个 a。putchar 和 getchar,是相对应的函数,在使用它的时候需要调用一个字符作为参数。我们已知大写 A 的 ASCII 码值是65,那我们传过去一个 ASCII 码值的情况下,它就会直接输出对应的字符。这确实是一个读取字符的函数,并且只会读取你所输入的第一个字符,并且不会忽略起首的空白字符。

2026-01-19 17:32:16 667

原创 【C++】带你从 C语言 入门 C++

最近我开始学习了 C++。这本语言。我博客的内容会从之前 c 语言相关的内容转向 C++的,但是这两门语言中重复的内容我会告诉你应该去哪一篇文章上看,就不再重复的赘述了。这篇文章适合学过C语言,但没学过或者初学C++的人学习。

2026-01-18 10:48:39 700

原创 【C语言】手把手教你实现strcpy和strlen基础版到进阶版(附assert 和 assert 的介绍)

文章摘要: strcpy是C语言中用于字符串复制的库函数,功能是将源字符串(含\0)复制到目标位置。基础实现通过循环逐个字符复制直到遇到\0。进阶版本通过const修饰源指针防止误修改,使用assert检查空指针避免运行时错误,并采用while(*dest++=*sour++)的简洁写法。文章还介绍了strlen函数的实现原理,包括指针相减法和计数器法两种实现方式。文中强调良好的编程习惯应包含防御性设计(如const和assert),这种编码风格能有效提升代码的健壮性和可维护性。

2026-01-12 15:12:31 1297

原创 VS 实用调试技巧

摘要: 调试是程序员必备的核心技能,能帮助开发者直观理解代码运行逻辑。文章通过一个阶乘求和的错误代码案例,演示了VS调试的具体操作(F10、断点设置、监视窗口等),并分析了问题根源在于未重置累乘变量。调试不仅能快速定位错误,更能培养对代码执行过程的敏感度。常用快捷键(F9/F10/F11)和技巧(条件断点)可提升效率。调试并非浪费时间,而是通过逆向"解剖"代码,帮助开发者建立严谨的编程思维,避免低级错误,从本质上提升代码能力。坚持调试训练,能让编程水平实现质的飞跃。

2026-01-10 16:10:43 985

原创 【C语言】结构体初阶

本文介绍了结构体的基本概念和使用方法。结构体是由不同类型成员变量组成的集合,可以包含整型、数组、指针等数据类型。文章详细说明了结构体的声明、变量定义和初始化方法,以及三种访问结构体成员的途径:直接访问、指针解引用访问和指针箭头访问。对于嵌套结构体,需要注意为内层结构体命名才能访问其成员。在结构体传参方面,推荐使用传递指针的方式,既节省内存空间(仅需4/8字节),又可以直接修改原结构体内容,相比直接传递结构体变量更高效实用。

2026-01-08 17:45:08 590

原创 [C语言] 指针初阶

指针可以理解为内存中最小存储单元的编号,通过指针我们可以完成各种操作,如赋值。我们在编程时,每创建一个变量,完成一次运算,都会被电脑所记录,每个变量都会向内存申请空间,而每字节大小的空间都有相应的编号。而指针变量就是通过创建一个变量把地址存储起来。

2026-01-07 16:44:46 1243

原创 一篇博客带你通关操作符(下)

本文介绍了C语言中几种重要的操作符及其使用场景。主要内容包括:1.单目操作符(~、&、*)的二进制取反、取地址和解引用功能;2.关系操作符和逻辑操作符(&&、||)的特性及逻辑短路现象;3.条件操作符(三目运算符)的简洁语法;4.逗号表达式的执行顺序和结果取值规则;5.下标引用、函数调用和结构体成员访问操作符;6.表达式求值中的优先级问题和隐式类型转换(包括算术转换和整形提升)。文章通过代码示例详细说明了各种操作符的使用方法和注意事项,特别强调了逻辑短路和类型转换等容易出错的概念。

2026-01-06 08:37:58 1025

原创 [C语言]一篇博客带你通关操作符(上)

这篇博客旨在梳理所有的操作符,并介绍其中的重难点。

2025-12-31 19:46:29 1197

原创 C语言数组从入门到精通

本文介绍了C语言中数组的基本概念和使用方法。首先讲解了一维数组的创建、初始化及使用技巧,包括不完全初始化、数组下标从0开始、内存连续存储等特点。然后介绍了二维数组的创建和初始化方法,建议初学者将其理解为表格形式。文章还演示了冒泡排序的实现原理,并重点解释了数组名的特殊含义:数组名本质是首元素地址,但在&数组名和sizeof(数组名)两种情况下例外。最后提供了计算数组长度的实用技巧,即用sizeof(数组总大小)/sizeof(单个元素大小)的方法。

2025-12-27 10:11:15 1135

原创 [c语言]关于函数递归,你必须要知道的几个点

递归是一种函数调用自身的技术,其核心在于必须满足两个条件:存在终止条件和每次调用都更接近终止条件。递归的优点是代码简洁易懂,适合解决特定问题(如逐位打印数字),但其缺点是可能产生大量函数调用,导致栈溢出和计算效率低下(如斐波那契数列递归解法会重复计算大量子问题)。相比之下,循环解法虽然代码较复杂,但执行效率更高。因此,使用递归需权衡其简洁性与性能损耗,确保在合适场景下应用。

2025-12-21 10:09:30 976

原创 初识指针和结构体

指针可谓是 c 语言中的一个重难点了。那我就在这里,以一个初学者的身份浅谈一下自己的理解。我认为指针就像是我们现实生活中的或者说是,在生活中为了寻找某个地方,为了快速了解某个人的信息,我们赋予了区域予地名,赋予了每个人予编号。在 c 语言中同样如此。我们为了解我们程序中的每一个变量,在内存中的储存。便给了每一个变量、一个地址,而指针就是c 语言中地址的说法。

2025-12-19 20:11:15 586

原创 C语言入门:与计算机对话的艺术

如果说我们人类日常交流的语言是自然语言,那C语言就是和计算机交流的语言,我的老师如是说。我觉得我们老师说的非常正确,并且极其易于新手的理解。但在学习了两周之后,我对他。有了一些额外的理解。我们日常和人交流的时候,我们。就是用我们日常在使用的,比如汉字单词。连成一句话。以此来表达我们的意思。计算机语言。在这个方面也是异曲同工。创造计算机语言的人赋予了一些特定的关键词与特定的含义。而我们只需要去调用这些关键词,去完成我们的程序,达到我们的目的。这就是我们与计算机的交流。

2025-12-18 20:19:52 1016

原创 学习C语言的第一篇博客

在我有课程的时候,我希望我能做到最少三天一节课,并且能把我的代码敲出来。而且我希望我能把每天就是很重要的知识通过截屏,笔记,或者是构建一个思维导图的方式记录下来,然后在晚上的时候再复习一遍,然后在第二天白天再复习一遍,做到尽可能的少忘记。如果再加上我自己敲代码的时间,很有可能会超过6个小时。那我的计划就是每天至少花两个半小时,因为我并不确定我把其中的代码敲出来需要多长时间。a.自我介绍:我目前是一名大一上的学生,我叫刘琦沛,专业是机械设计制造及其自动化,爱好reading,sporting。

2025-11-18 20:32:53 228

一篇博客带你通关操作符(下)

C语言优先级

2026-01-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除