自定义博客皮肤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)
  • 收藏
  • 关注

原创 C语言:顺序表的实现和通迅录项目实现

顺序表是数据结构中的一种基本线性表的存储结构,它使用一段地址连续的存储单元依次存储线性表中的各元素。在顺序表中,线性表中的元素在存储空间中的位置关系与它们的逻辑关系一致,即逻辑上相邻的元素在物理存储中也相邻。

2024-08-20 20:44:35 768

原创 C语言中的预处理详解

预处理是C语言编译过程中的一个早期阶段,由预处理器执行。预处理器在编译器对源代码进行词法分析和语法分析之前,对源代码进行预处理。预处理涉及以下操作1. 宏定义(#define):宏定义允许你定义一个符号常量2. 条件编译(#if,#ifdef,#ifndef,#else,#elif,#endif)条件编译允许你根据某些条件来决定是否编译代码的某些部分3. 文件包含(#include)4. 行号和文件名控制(#line,#pragma)预处理器的主要作用是简化代码的编写和维护,以及提高代码的可读性和

2024-08-20 18:21:50 818

原创 C语言中编译和链接

C语言中的编译和链接过程是将源代码转换为可执行程序的关键步骤,具有重要的意义。编译过程将源代码转换为机器语言,使得计算机能够理解并执行程序。这一过程还包括对源代码的语法和语义检查,帮助开发者发现并修复代码中的错误。链接过程则是将编译生成的目标文件以及所需的库文件合并成一个可执行文件,解决目标文件间的符号引用问题,使得程序能够正确调用库函数和全局变量。通过编译和链接,C语言程序能够被转换为具体硬件平台上的可执行代码,实现从抽象的源代码到具体机器指令的转换,是程序开发和运行的基础。

2024-08-16 20:48:02 983

原创 C语言中的⽂件操作

C语言中的文件操作具有重要的意义,主要体现在以下几个方面:数据持久性:文件操作允许程序将数据保存到磁盘上,即使在程序关闭或计算机重启后,数据仍然存在。这使得程序能够在多次运行之间保持状态。数据共享:通过文件,不同的程序或同一程序的不同实例之间可以共享数据。数据备份和恢复:文件操作可以用于创建数据备份,防止数据丢失。当数据丢失或损坏时,可以通过恢复备份文件来恢复数据。数据传输:文件可以作为一种数据传输的媒介。数据处理:文件操作允许程序对大量数据进行处理。因此,掌握C中的文件操作对于开发

2024-08-16 12:38:38 998

原创 C语言中的动态内存管理

动态内存管理是C语言中重要的概念,涉及到在程序运行时动态地分配和释放内存。与静态内存分配相比,动态内存管理提供了更大的灵活性,允许程序在运行时根据需要分配和释放内存。而动态内存管理主要通过四个函数实现:malloc这个函数用于在程序运行时分配内存。 calloc这个函数也用于在程序运行时分配内存,但它会将分配的内存初始化为0。realloc这个函数用于在程序运行时重新分配内存。它可以扩大或缩小已分配的内存块的大小。 free这个函数用于在程序运行时释放存。通过使用动态内存管理可以使C语言程序更加灵活和高效

2024-08-14 17:18:01 996

原创 C语言中的⾃定义类型:联合和枚举

在C语言中,联合体(union)和枚举(enum)是两种特殊的数据类型,它们各有独特的用途和特性。联合体(union):联合体是一种特殊的数据类型,允许在相同的内存位置存储不同类型的变量。在联合体中,所有成员共享同一段内存空间,因此,同一时间只能有一个成员的值是有效的。这使得联合体非常适合用来处理需要共享同一内存空间的情况,例如在处理硬件接口时,可能需要将一组位解释为不同的数据类型。枚举(enum):枚举是一种用户定义的整型数据类型,它由一组命名的整型常量组成。每个枚举值都有一个整数值,从0开始,

2024-08-14 16:33:45 1071

原创 C语言中的结构体和位移段

在C语言中,结构体(struct)是一种用户自定义的数据类型,允许我们将不同类型的变量组合在一起,形成一个复合数据类型。结构体可以包含整型、浮点型、字符型等多种数据类型的成员。位域(或位移)是C语言结构体的一个特殊功能,它允许我们在结构体中定义一个成员占用的位数,而非字节。位域可以用来节省空间,或者用来访问硬件寄存器中的某些特定位。位域和结构体的结合使用,使得C语言能够更灵活地处理和存储数据,特别是在嵌入式系统开发中,位域的使用非常常见。

2024-08-13 14:09:53 618

原创 C语言中的整数和浮点数在内存中存储

在C语言中,整形和浮点型数据的存储方式有所不同。对于整形数据,C语言使用补码表示法存储。补码表示法可以方便地进行二进制加减法运算,同时能够简化硬件设计。对于正整数,其补码与原码相同,即直接存储其二进制表示。对于负整数,其补码表示为:将原码的符号位保持不变,其余位取反,然后加1.对于浮点型数据,C语言遵循IEEE 754标准存储。该标准定义了单精度(float)和双精度(double)两种类型。

2024-08-13 12:49:47 1260

原创 C语言中的字符函数和字符串函数

在编程的过程中,我们经常要处理字符和字符串,为了⽅便操作字符和字符串,C语⾔标准库中提供了⼀系列库函数,接下来我们就学习⼀下这些函数。

2024-08-12 14:53:10 1002

原创 回调函数(qsort函数的冒泡的⽅式模拟实现,计算器的实现)

回调函数就是⼀个通过函数指针调⽤的函数。如果把函数的指针(地址)作为参数传递给另⼀个函数,当这个指针被⽤来调⽤其所指向的函数时,被调⽤的函数就是回调函数。回调函数不是由该函数的实现⽅直接调⽤,⽽是在特定的事件或条件发⽣时由另外的⼀⽅调⽤的,⽤于对该事件或条件进⾏响应。因此回归调数往往能帮我们简化代码和让代码应用更加广泛高效。

2024-08-12 13:57:26 840

原创 C语言指针与数组详解(指针数组,数组指针,⼆级指针)

C语言指针学习中,指针数组,数组指针,⼆级指针 等等是非常迷惑的一部分,而本文章重点介绍C语言中指针与数组的关系,包涵了各种常见的用法。看完本文章上面的疑惑自然也就有了答案。

2024-08-10 16:21:24 741

原创 C语言指针变量详解(函数指针,函数指针数组,转移表)

C语言指针学习中,函数指针,函数指针数组,转移表等等是非常迷惑的一部分,而本文章重点介绍C语言中指针与变量的关系和组合,包涵了各种常见的用法。看完本文章上面的疑惑自然也就有了答案。

2024-08-10 16:21:04 818

原创 C语言指针与变量详解(指针数组,数组指针,函数指针,函数指针数组,转移表)

C语言指针学习中,指针数组,数组指针,函数指针,函数指针数组,转移表等等是非常迷惑的一部分,而本文章重点介绍C语言中指针与变量的关系和组合,包涵了各种常见的用法。看完本文章上面的疑惑自然也就有了答案。

2024-08-10 16:18:00 851

原创 C语言深⼊理解指针1之指针的基本概念

指针在C语言里面属于比较难的一部分,同时也属于最好用的一部地方,理解好指针,你的C语言代码能力会大大提升,下面我就在几章的篇幅内给大家详细介绍C语言的指针。

2024-08-08 20:45:53 431

原创 C语言操作符详解(异或,求二进制1的个数,n&n-1算法)

即使有了操作符的优先级和结合性,我们写出的表达式依然有可能不能通过操作符的属性确定唯⼀的计算路径,那这个表达式就是存在潜在⻛险的,建议不要写出特别负责的表达式。

2024-08-08 20:26:57 1011

原创 超详细明了的C语言函数递归,望周知。(包含求n的阶乘顺序打印⼀个整数的每⼀位求第n个斐波那契数递归代码详解)

把Print(123) 打印123每⼀位,拆解为⾸先Print(12)打印12的每⼀位,再打印得到的3直到Print打印的是⼀位数,直接打印就⾏。当我们n输⼊为50的时候,需要很⻓时间才能算出结果,这个计算所花费的时间,是我们很难接受的, 这也说明递归的写法是⾮常低效的,那是为什么呢?事实上,我们看到的许多问题是以递归的形式进⾏解释的,这只是因为它⽐⾮递归的形式更加清晰, 但是这些问题的迭代实现往往⽐递归实现效率更⾼。这样的思路就是把⼀个较⼤的问题,转换为⼀个与原问题相似,但规模较⼩的问题来求解的。

2024-08-07 12:59:24 1109

原创 超清晰明了VS实⽤调试技巧,望周知。

bug本意是“昆⾍”或“⾍⼦”,现在⼀般是指在电脑系统或程序中,隐藏着的⼀些未被发现的缺陷或 问题,简称程序漏洞。“Bug” 的创始⼈格蕾丝·赫柏(Grace Murray Hopper),她是⼀位为美国海军⼯作的电脑专家, 1947年9⽉9⽇,格蕾丝·赫柏对Harvard Mark II设置好17000个继电器进⾏编程后,技术⼈员正在进⾏ 整机运⾏时,它突然停⽌了⼯作。

2024-08-07 12:43:33 719

原创 超详细的C语言函数详解,望周知

数学中我们其实就⻅过函数的概念,⽐如:⼀次函数 y=kx+b ,k和b都是常数,给⼀个任意的x,就 得到⼀个y值。 其实在C语⾔也引⼊函数(function)的概念,有些翻译为:⼦程序,⼦程序这种翻译更加准确⼀些。 C语⾔中的函数就是⼀个完成某项特定的任务的⼀⼩段代码。这段代码是有特殊的写法和调⽤⽅法的。 C语⾔的程序其实是由⽆数个⼩的函数组合⽽成的,也可以说:⼀个⼤的计算任务可以分解成若⼲个较⼩的函数(对应较⼩的任务)完成。同时⼀个函数如果能完成某项特定任务的话,这个函数也是可以 复⽤的。

2024-08-05 19:51:58 638

原创 C语言数组详解(包含变长数组),望周知

有⼀个⽐较迷惑的点,变⻓数组的意思是数组的⼤⼩是可以使⽤变量来指定的,在程序运⾏的时候,根据变量的⼤⼩来指定数组的元素个数,⽽不是说数组的⼤⼩是可变的。从输出的结果来看,每⼀⾏内部的每个元素都是相邻的,地址之间相差4个字节,跨⾏位置处的两个元素(如:arr[0][4]和arr[1][0])之间也是差4个字节,所以⼆维数组中的每个元素都是连续存放的。其实我们只要能够按照⼀定的规律产⽣所有的⾏和列的数字就⾏;了解⼀维数组的基本语法,⼀维数组可以存放数据,存放数据的⽬的是对数据的操作,那我们如何使⽤⼀维数组呢?

2024-08-05 19:08:40 493

原创 超清晰眀了喝汽水问题,望周知。(文章末尾附完整代码)

一般来说,空瓶换水问题就是给你一个明确的条件,例如几个空瓶能换来一瓶水,然后去求空瓶数量,求能换多少水等等……这类问题不仅出现在C语言入门考试中,也出现在小学奥数里,如今在公务员行测考试中也能时常看到!喝汽水问题喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以喝多少汽水(编程实现)

2024-08-04 22:12:49 316

原创 全网超详细的scanf和printf介绍,包含vs上scanf警告的解决方法,望周知

这两个函数是我们日常使用最多的函数之一,但你真的了解它吗?知道它们一些不为人知的小细节吗?本文将详细介绍scanf和printf用法

2024-08-04 15:11:38 1173

原创 超详细的扫雷游戏望周知(文章后附完整代码)

扫雷游戏的功能说明• 使⽤控制台实现经典的扫雷游戏• 游戏可以通过菜单实现继续玩或者退出游戏• 扫雷的棋盘是9*9的格⼦• 默认随机布置10个雷• 可以排查雷◦ 如果位置不是雷,就显⽰周围有⼏个雷◦ 如果位置是雷,就炸死游戏结束◦ 把除10个雷之外的所有⾮雷都找出来,排雷成功,游戏结束

2024-08-03 23:18:22 1128

原创 超详细的猜数字游戏望周知(文章后附完整代码)

游戏要求:1. 电脑⾃动⽣成1~100的随机数2. 玩家猜数字,猜数字的过程中,根据猜测数据的⼤⼩给出⼤了或⼩了的反馈,直到猜对,游戏结束。

2024-08-03 19:26:10 1113

原创 超简单详细C语言循环语句(while,for,do...while)望周知

C语⾔是结构化的程序设计语⾔,这⾥的结构指的是顺序结构、选择结构、循环结构,C语⾔是能够实现这三种结构的,其实我们如果仔细分析,我们⽇常所⻅的事情都可以拆分为这三种结构或者这三种结构的组合。本文使⽤ for 、 while 、 do while 实现循环结构。

2024-08-02 15:44:03 963 1

原创 超简单详细C语言分支语句(if,switch)望周知

C语⾔是结构化的程序设计语⾔,这⾥的结构指的是顺序结构、选择结构、循环结构,C语⾔是能够实现这三种结构的,其实我们如果仔细分析,我们⽇常所⻅的事情都可以拆分为这三种结构或者这三种结构的组合。呃本文关于 if 、 switch 实现分⽀结构

2024-08-02 12:43:25 808

原创 自我介绍和目标

但是,我对生活有着无限的热情和好奇心,我喜欢尝试新事物,喜欢探索未知的领域。我希望通过博客这个平台,能够和大家分享我的成长和思考。最后,我想说的是,写博客对我来说是一件非常有意义的事情。同时,我也可以通过博客这个平台,与更多的人分享我的想法和见解。我相信,在这个过程中,我能够收获更多的成长和进步。其次,我想强调的是,我并不是一个完美的写作者。但我相信,正是这些不足之处,可以让我不断进步,不断超越自己。总之,作为一个新手博客写作者,我有着很多不足之处,但我相信通过不断的努力和学习,我会变得越来越好。

2023-12-03 18:44:49 339

C语言顺序表,通讯录实现

C语言顺序表,通讯录实现

2024-08-20

空空如也

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

TA关注的人

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