自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 蓝桥杯!经验分享~(24年15届省一)

首先说明一下本篇文章并非比赛复盘与题目讲解,而是作者比赛做题时自己的思想路程,以给其他人一些切实的比赛体验与经验,而不会拥有具体的解题代码等本文章文字很多,请耐心阅读,不需要看懂,就是通过我做题时的一些心路历程来了解了解比赛大概是怎么一会事,希望能帮助到你。

2024-05-04 09:00:00 1032

原创 内联函数 讲解

修饰的函数叫做内联函数,编译时C++编译器会在调用内联函数的地方将函数在这展开,没有函数调用建立栈帧的开销,内联函数可以提升程序运行的效率。

2024-04-28 11:18:14 163

原创 C++引用 讲解

引用是给已存在的变量取了一个别名,语法概念上编译器不会为引用变量开辟内存空间,它和它引用的变量共用同一块内存空间,把这个别名当作本身直接使用即可注意:引用类型(int&)必须和引用的实体(int)是同种类型引用在定义时必须初始化一个变量可以有多个引用一个引用一旦引用一个实体,就不能再引用其他实体底层:在语法概念上引用就是一个别名,没有独立空间,和其引用实体共用同一块空间在底层实现上实际是有空间的,因为引用底层就是按照指针方式来实现的从某方面来说,引用其实就是自动把等号右边表达式的

2024-04-23 08:00:00 427

原创 函数重载讲解

函数重载是一种特殊情况,C++运行在 同一作用域 中声明几个功能类似的 同名函数,这些同名函数的形参列表(参数个数 或 类型 或类型顺序) 不同,常用来处理实现功能类似数据类型不同的问题。让 C++ 支持函数重载的原因是 C++ 中调用函数时,查找链接函数时符号表中使用的是修饰后的函数名,这样函数的形参样式不同,修饰词缀也不同,就能一一区分开名字相同但形参不同的函数了。只有满足函数重载的概念才构成重载,像两个函数函数名和参数是一样的,返回值不同是不构成重载的,因为调用时编译器没办法区分。

2024-04-08 14:44:55 150

原创 缺省参数讲解

声明或定义函数时为参数指定一个缺省值,在调用该函数时,如果没有指定实参则采用该形参的缺省值,否则使用指定的实参。就是先给形参一个默认值,若后续传参时你没有给它传参的话,它就使用这个默认值。// 不传参默认 10。// 不传参默认 20。// 不传参默认 30。// 不传参默认 10。// 不传参默认 20。

2024-04-08 13:59:12 116

原创 命名空间讲解

概念:命名空间用来定义一个新的作用域,命名空间中的所有内容都局限于该命名空间中。使用命名空间的目的是对标识符进行本地化,它可以。其实就像是一个包装盒子, 即使是一模一样的东西,放在不同盒子里也可以直接分辨出来了,就是使用时要从盒子里取出来。定义:需要使用关键字,后面跟命名空间的名字,然后接一对 { } 即可,其中即为命名空间的成员例:... // 命名空间可以定义变量/函数/类型} // 这里不需要分号哦。

2024-04-08 12:29:14 371

原创 非比较排序之计数排序

先统计数据的大小范围,开辟一个大小为范围的数组( 最大值 - 最小值 )遍历待排数据,每次将数据所对应的新数组的映像(相对于最小数据的位置)加一,也就是计数然后根据所记录的个数,再将新数组映像所对应的数据一个一个按顺序放进原数组,排序完成注意:计数排序只适用于排整型,因为其他各种数据都没法根据映射而计数排序

2024-04-03 20:03:55 142 1

原创 七大常见排序算法

需知:几个重要概念:时间复杂度:空间复杂度:稳定性:七大常见排序概览插入排序(直接)插入排序希尔排序选择排序直接插入排序堆排序交换排序冒泡排序快速排序hoare版本挖坑法前后指针法归并排序

2024-04-03 18:26:08 660 1

原创 编译过程中的词法分析、语法分析、语义分析的简单讲解

最后将由语义分析器来完成语义分析,即对表达式的语法层面分析。编译器所能做的分析是语义的静态分析。静态语义分析通常包括声明和类型的匹配,类型的转换等。当源代码被输入扫描器,扫描器的任务就是简单的进行词法分析,词法分析将会把代码中的字符分割成一系列的记号(关键字、标识符、字面量、特殊字符等)。接下来,语法分析器将会对扫描产生的记号进行语法分析,从而产生语法树。这些语法树是以表达式为节点的树。当代码被被编译时将会进行 词法分析、语法分析、语义分析 ,当上面各分析中有不过关的,便会编译错误。

2024-03-05 12:23:53 415 1

原创 编译链接的简单详解(预处理(预编译)、编译、汇编)(宏)

总体概括了解编译预处理(预编译):编译:汇编:链接预处理详解预定义符号:define 定义常量和宏:宏与函数的对比:#和## 运算符 :条件编译:将预处理后的文件进行一系列的:词法分析、语法分析、语义分析及优化,生成相应的汇编代码文件,而本篇讲的就是此流程中的编译和链接,而编译又分为 预处理(预编译)、编译、汇编 三个步骤 ,这里一定要区分前一个编译和后一个编译,

2024-03-04 22:14:25 836 1

原创 自定义类型——联合体类型、枚举类型

本篇将讲解联合体和枚举的基本知识,这两个类型相对于结构体要简单一些,只要了解了结构体,它们学起来会非常容易。

2023-12-17 17:19:58 869 1

原创 C语言数组知识讲解

数组的概念一维数组一维数组的初始化二维数组二维数组的初始化数组名数组的使用下标引用操作符:[ ] (一维数组的使用)二维数组的使用变长数组柔性数组所以像上面,arr[0][0] 是等于 int* pa = arr[0] + pa[0] 的下标引用操作符的底层还是使用的指针,这里说明一下:

2023-12-16 14:57:51 878 1

原创 关于文件操作相关详解

本篇将讲解C/C++中文件相关的基本知识和与文件操作相关的函数注意:关于流,打开文件方式的不同其实就是打开的流不同,你打开的什么流,就只能进行与其相关的操作(例,你用 "w" 的方式打开文本流,就只能对这个流进行写入操作(文件的打开的知识点在后面))注意:同一个文件不能同时进行读写操作,因为就是不能同时对同一个文件的输入流和输出流进行赋值上面讲了如何打开/关闭文件,下面讲解对文件的读写再给大家补充个额外小知识:像上面我的文件名是 " ./../text.txt ",这其实是相对文件的写法

2023-12-16 00:48:05 853 1

原创 自定义类型——结构体类型

本篇将讲解结构体的基本知识,及其的注意点和基本使用结构体结构体定义结构体变量的定义和初始化结构访问操作符结构体内存对齐(计算结构体大小)内存对齐存在原因修改默认对齐数变量的初始化分两种:默认顺序初始化 和 指定顺序初始化;结构体是存在一个叫内存对齐的规则的,它规定了结构体内的成员是如何分配空间的,并决定了整个结构体的大小

2023-12-11 21:05:30 938

原创 整型、浮点型在内存中的存储和大小端存储模式

本篇将讲解整型数据和浮点型数据在内存中的存储方式,要注意内存存储都是以二进制的形式存储的大小端存储模式:大端模式:小端模式:整数在内存中的存储:浮点数在内存中的存储:浮点数存储方式:浮点数存储过程:浮点数取出过程(三种情况):这里再讲解一下为什么十进制 5.5 写成二进制是 101.1:

2023-12-08 19:41:18 946

原创 超超详细的指针讲解

本篇将先初步介绍指针的各种有关知识,然后再讲解指针与数组、指针与函数等首先在正式讲解指针前先将三个注意点:指针变量里放的是地址指针变量也是变量,拥有自己的地址*p 是 p 指向的空间内存指针基本有关知识指针有关操作符:指针变量的定义:指针变量的大小:指针变量类型的意义:指针运算:野指针:二级指针:特殊点的指针类型数组指针:函数指针空指针

2023-12-08 09:13:26 832

原创 简单扫雷游戏实现(递归展开)

本文章将通过vs使用字母、数字等简单符号等实现扫雷游戏。1.开始菜单2.初始化布雷棋盘 与 玩家所能看见的棋盘3.随机布置雷,0 为非雷,1 为雷4.扫雷,是雷炸,不是雷显示九宫格范围内雷的个数(clr清除屏幕达到更好的效果)5.如果排查的不是雷,周围也没有雷,利用递归显示周围一片6.计算雷剩余个数判断胜利

2023-11-12 17:06:56 68 1

原创 随机数生成(rand函数、srand函数、time函数)

1. 通过 time(NULL) 根据现在的时间戳生成一个一直在变化的数字2. srand 函数将上面变化的数字设置为 rand 函数的种子3.rand 函数通过这个种子生成一组伪随机数因为时间戳一直在变化,所以致使以它为基准的 种子 一直变化,然后又致使以种子为基准的 rand 函数生成一个真正的随机值了首先介绍三个函数 :rand函数声明:intrand(void);rand函数的使用需要头文件:rand函数是对⼀个叫“种子”的基准值进行运算生成的随机

2023-11-12 16:08:02 71 1

原创 strcmp函数

因为两数组首先第三个元素字符不同,所以比较 A 和 B 的大小,并且不会再去比较之后的字符,A 的 ASCII 码值为 65 ,B 的 ASCII 码值为 66,65 < 66 ,所以输出 arr1 < arr2。如果它们彼此相等,则继续比较下一对字符,直到字符不同或达到终止 null 字符为止。1.两字符串比较时,是从左往右以次比较,当出现不同字符时,比较他们的 ASCII 码中值的大小。当 str1 < str2 时,返回一个负数。当 str1 = str2 时,返回 0。此函数执行字符的二进制比较。

2023-11-11 13:49:28 36 1

原创 两个整数二进制位不同个数

首先理清思路,要我们判断两个数的二进制每位上不同的数的个数,因为二进制只有 0 和 1 ,所以我们判断两个数的最后一位是否相同,相同的话计数加一,然后用位移操作符( >> )判断下一位,以此类推将两个数的 32 位全一一比较即可。

2023-11-07 15:23:30 60

原创 c语言分支与循环

本篇介绍 if、switch、for、while、do while 等语句用法 及 其语句中 使用的其他语句

2023-10-22 21:02:39 61 1

原创 实现四舍五入/浮点数与整数的转换

神奇的事情发生了,代码直接自带四舍五入

2023-10-16 20:24:16 70 1

原创 测试case后面能否使用&&、||

从以上现象可以看出,不论编译器是否报错,case 后面的常量表达式中都不能包括 && 和 || ,或者说,对于 && 和 || 及其后面的值,编译器都会选择忽略,并且还会因某种原因导致后面 case 标签的报错。只用一个数字的话就不会报错。

2023-10-15 13:40:34 161 1

原创 这是我的自我介绍

自我介绍

2023-10-11 19:55:26 25

原创 git和GitHub的简单使用

这里介绍两类的简单使用,一是如何将代码储存到GitHub(git的使用),二是如何在GitHub找到自己喜欢的代码并搬到自己库里,或GitHub的其他的小功能(GitHub的使用)

2023-10-11 17:41:06 30 1

原创 新的开始!~作为程序员的第一步!

然后是使用git,git是一个可以将你的本地代码上传到网上的云储存库里的一个工具,而这个储存库的网站我知道两个,一是GitHub(全世界最出名的程序员的代码天堂,网站加载慢,需要科学上网),二是gitee(相当于国内的GitHub),对于新人我推荐gitee,因为新人也用不到GitHub的许多功能,对于大部分人gitee的功能完全足够了,即便后期进入专业行业需要用GitHub的功能,到时候再去学也不迟。我是一个即将进入代码行业的正在学习的新人,这里将记录下我的学习经历和一些心得。

2023-10-10 14:35:24 42 1

空空如也

空空如也

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

TA关注的人

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