自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 编译和链接

翻译环境是由编译和链接组成的,而编译又可以分解成:预处理,编译,汇编三个过程。一个C语言中可能有很多个.c文件,通过编译器预处理生成对应文件,然后通过链接器整合处理生成最终的可执行程序。展开编译器。

2024-10-01 13:48:12 111

原创 文件操作

如果没有⽂件,我们写的程序的数据是存储在电脑的内存中,如果程序退出,内存回收,数据就丢失了,等再次运⾏程序,是看不到上次程序的数的,如果要将数据进⾏持久化的保存,我们可以使⽤⽂件。流是抽象出的概念,我们程序的数据需要输出到各种外部设备,也需要从外部设备获取数据,不同的外部设备的输入输出操作各不相同,为了方便程序员对各种设备进行方便操作而产生的概念。数据在内存中以二进制的形式存储,如果不加转换的输出到外存的文件中,就是二进制文件。根据文件指针的位置和偏移量来定位文件指针(文件内容的光标)。

2024-09-30 14:13:44 395

原创 动态内存管理

空间开辟的大小是固定的,数组在申明时必须指定数组的长度,数组空间一旦确定大小不能调整。但是我们对于空间的需求不仅仅是上面这种情况,有时我们需要的空间大小在程序运行时才能知道,那数组的编译时开辟空间的方式就不能满足了。情况2:原有空间没有足够多的空间时,会在堆空间上找另外一个合适大小的连续空间。这样函数返回的是一个新的地址。ptr是要调整的内存地址,size是调整之后的大小,返回值为调整之后的内存起始位置。情况1:当是情况1时,要扩展的内存直接在原有内存之后追加空间,原有空间的数据不变化。

2024-09-30 10:52:27 371

原创 自定义类型:联合和枚举

和结构体一样,联合体也是由一个或者多个成员构成,这些成员可以是不同类型。但是编译器只为最大的成员结构分配足够的内存空间,联合体的特点是所有成员共用一块内存空间。所以联合体也叫:共用体。给联合体其中一个成员赋值,其他成员也会跟着变化。输出结果为4,这是什么原因呢?

2024-09-30 09:59:31 162

原创 自定义类型:结构体

结构体是一些值的集合,这些值称为成员变量。结构体的每个成员可以是不同的类型的变量。

2024-09-29 14:21:14 273

原创 C语言内存函数

输出格式函数memcpy从source的位置开始向后复制num个字节的数据到destination指向的内存位置,当遇到\0时不会停止,source和destination有任何重叠,复制的结果都是未定义的。memcpy的模拟实现。

2024-09-29 10:08:11 448

原创 字符函数和字符串函数

C语言提供2个字符转换函数tolower toupper 他可以转换大小写。

2024-09-28 14:13:35 1089

原创 qsort函数

当你把函数的指针作为参数传递给另一个函数,当这个指针被调用其所指向的函数时,背调的函数就是回调函数。qsort(数组名,数组大小,数组类型,回调函数)使用qsort函数排列整型数据。2.qsort使用举例。

2024-09-28 12:28:05 104

原创 详解指针3

sizeof计算变量所占内存空间的大小,单位是字节,sizeof只关注内存空间大小不在乎数据。strlen是C语言中的库函数,计算到\0之前的字符串个数。1.sizeof和strlen的对比。

2024-09-28 12:27:51 209

原创 详解指针2

通过上面代码我们发现数组名和数组首元素地址打印出的结果一模一样,我们发现,数组名就是数组是数组首元素的地址。如果是这样那么可能会有人疑惑那这串代码的输出值应当是4才对啊,为什么是40呢?其实数组名是数组首元素地址是对的,但是有两个例外sizeof单独放数组名,这里的数组表示整个数组,计算的是整个数组的大小,单位是字节。&数组名,这里的数组名表示整个数组,取出的是整个数组的地址。除此之外任何地方的数组名都表示首元素地址。观察下面这段代码,我们发现&arr+1,跨过了整个数组长度;

2024-09-16 20:22:07 169

原创 指针详解1

内存对应的就是计算机中16GB/32GB等内存空间。其中把内存划分为一个一个单元,每个内存单元取一个字节。1个比特位可以存储一个二进制的1或者0。常见的单位如:bit--比特位 1byte=8bitbyte--字节 1KB=1024byte每个内存都会有一个编号 这就是地址,CPU可以通过这个编号快速找到一个内存空间。我们将其取名为指针。也就是说内存单元编号=地址=指针。

2024-09-16 19:20:34 827

原创 我嘞个大菱形

2024-08-22 17:15:33 304

原创 二分查找数字

接着我们便要开始寻找数字,暂且将要找的数字设为key,如果中间量小于要找的数字则将左侧坐标移至中间,同理若中间量大于要找的数,就将右边坐标移至中间(mid)。最后套上while循环。至此我们成功表示了left和right,那么中间量则用mid表示,(left+right)/2即可表示。你会1,2,3,4...这样猜吗?⼀般你都会猜中间数字,⽐如:150,然。⽐如我买了⼀双鞋,你好奇问我多少钱,我说不超过300元。在⼀个升序的数组中查找指定的数字n,很容易想到的⽅法就是遍历数组,但是这种⽅法效率⽐较低。

2024-08-21 16:04:09 194

原创 使用C语言输出9*9乘法表

首先输出乘法表需要两个变量,暂且设置为a和b,接着a和b需要不停地变换打印出1到9的数字。在这里我们便可以使用循环,通过for循环嵌套可以获得1到9的数字。要注意式子之间的距离用%-4d来控制距离,没一行需要换行用换行符号。最后一步只需要使用printf函数打印出乘法表即可。

2024-08-19 13:19:36 440

原创 操作符详解

其实我们经常能听到 2进制、8进制、10进制、16进制 这样的讲法,那是什么意思呢?其实2进制、8进制、10进制、16进制是数值的不同表⽰形式⽽已。⽐如:数值15的各种进制的表⽰形式:15的2进制:111115的8进制:1715的10进制:1515的16进制:F16进制的数值前写:0x 8进制的数值前写:0。

2024-08-18 21:34:53 392

原创 函数递归与应用

递归是一种解决方法,就是函数自己调用自己。它可以将一个大型问题层层转化为一个与原问题相似的子问题,将大事化小的过程。递就是递推的意思归就是回归的意思。例如求函数的阶乘n!=n*(n-1)!当n==0时,函数等于1当n>0,函数n!=n*(n-1)!

2024-08-17 16:46:10 260

原创 扫雷游戏C语言

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

2024-08-17 15:52:04 931

原创 猜数字游戏

在使用rand函数前先调用srand函数,通过srand函数的参数seed设置rand函数随机生成的种子,只要种子在变化,每次生成的随机数列也就变化起来了。rand函数会返回一个伪随机数,这个随机数范围是在0~RAND_MAX之间,不是真正的随机数,它是通过算法生成的随机数,对一个叫“种子”的基准值进行运算生成的随机数。time函数其实返回的是1970年1月1日0时0点0分到现在程序运行的差值,单位是秒。2.玩家猜数字,根据猜测数据的大小给出大了或者小了的反馈,直到猜对。1.4生成0~99之间的随机数。

2024-08-01 20:25:48 646

原创 分支与循环

首先执行表达式1,接着执行表达式2判断,若判断为0则结束语句,若不为0则进入循环语句,然后进行调整后重新回到表达式2判断进行循环。当a=0时第一条if语句不满足,此时不会执行第二条if语句了,会直接走到return上,其中的else语句是和第二个if语句相联系,也就是说第一条if语句是没有else情况输出的。在循环中至少会执行一次,首先执行语句,若语句等于0那么循环结束,如果语句非0则进入判断表达进行循环。根据表达式中不同的值执行不同的case分支,如果找不到相应的值,就执行default分支。

2024-07-29 14:43:51 623

原创 printf函数 与 scanf函数

printf函数printf函数基本用法1.此函数为库函数,在使用前需要引入头文件2.printf()在括号中输入文字,用 " " 框住,可以在屏幕中打印出来,当需要换行时只需在末尾打上\n,光标会自动移到下一行占位符所谓占位符就是这个位置可以由其他值代入,如下图图中的%d就是占位符,可以用其他值来替换。首先占位符的第一个字符一律为%,其次%d代入的值必须为整数。除了%d表示整型外还有其他的占位符,如下输出格式1.占位符的输出格式可以定制,例如。

2024-07-27 22:56:24 677

原创 C语言第一站

电脑小白电子文盲,第一次接触C语言记录一下第一次写代码写的有点丑,不过无所谓写给自己看的。本来想选电气的,选了一个哈尔滨的大学结果没录上掉到了一个安徽的软件工程,可能就是与计算机的缘分吧(●'◡'●)今天学了一些C语言基础main函数main函数也称为主函数,是程序的入口,代码通常在main函数开始处执行,且有且只有一个。such(可加前缀不一定由第一行开始)int main() int----integer整型结尾由return 0结束每一句代码语言解释完需要在后面打上;

2024-07-25 22:21:37 269

空空如也

空空如也

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

TA关注的人

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