![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
文章平均质量分 85
ChinaRainbowSea
一个人的资金一定是与他(她)的能力相匹配的,无一例外。
展开
-
图文并茂,让你一探究竟—— 二叉树(附有源码实现)
在实现生活中,存在很多的一对多 的情况需要处理,所以我们需要研究这种一对多的数据结构 —— “树” ,树: 是一种非线性的数据结构,它是由 n (N >= 0 ) 个有限的节点组成的一个具有层次关系的集合,把它叫做树,是因为它看起来像一个倒挂的树,也就是说它是根朝上,而叶朝下的。树的一些特点树的结构相对线性表而言是比较复杂的,要存储表示起来也比较麻烦,在实际中树的有许多种表示的方式:如:双亲表示法,孩子表示法,孩子兄弟表示法等等 ,这里我们只简单介绍一种 孩子兄弟表示法所谓的孩子兄弟表示法 ,其实就是创建一原创 2022-08-07 08:13:23 · 191 阅读 · 0 评论 -
C语言中 continue,goto, void(空类型),你不知道的事情 ???
continue 跳出循环后,又是跳出到了循环的什么位置处循环语句的注意点在 Linux内核代码中存在这大量的 goto语句 ,所以我们并不能太过片面的忽略掉它,如下:一般来说,编码的水平与 goto 使用的次数成反比。有的人主张慎用但不禁用 goto 语句,但我个人主张禁用的,自从提倡结构化设计以来,goto 就成了有争议的语句,首先,由于 goto 语句可以灵活跳转,但如果不加以限制的话,它的确会破坏结构化的设计;其次 goto 语句经常带来错误或隐患,它可能跳过了变量的初始化,重要的计算语句等,如下:原创 2022-08-04 16:33:47 · 261 阅读 · 0 评论 -
图文并茂 ,栈的实现 —— C语言
一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作一端称为栈顶,另一端称为栈底。不含任何数据的栈称为空栈,栈中的数据元素遵守后进先出LIFO(LastInFirstOut)的原则。压栈栈的插入操作叫作压栈,也称为进栈,入栈、入数据在栈顶出栈栈的删除操作叫作出栈,也称为弹栈,出数据也是在栈顶httpshttpshttpshttpshttpshttpshttpshttpshttpshttps。.........原创 2022-07-17 21:22:27 · 323 阅读 · 0 评论 -
分支与循环语句 鲜为人知的一面
分支与循环语句的深度探究原创 2022-07-17 12:08:01 · 121 阅读 · 0 评论 -
stdin、stdout、stderr 这些你认识吗?
stdin、stdout、stderr 的认识原创 2022-07-16 20:06:46 · 374 阅读 · 0 评论 -
Scanf 不安全报错问题
Scanf 不安全报错问题原创 2022-07-05 22:48:42 · 2775 阅读 · 1 评论 -
你不知道的环形链表 ??
这是 力扣上的一道非常有意思的题目: 🔜🔜🔜 141. 环形链表 - 力扣(LeetCode)原创 2022-07-05 22:34:14 · 141 阅读 · 0 评论 -
你真的了解C语言 if - else 、bool(布尔值)、浮点数损失吗 ?
了解C语言 if - else 、bool(布尔值)、浮点数损失吗 ?原创 2022-06-29 11:12:15 · 561 阅读 · 0 评论 -
关于数据存储的三道面试题,你会吗?
关于存储的三道面试题原创 2022-06-28 22:32:28 · 508 阅读 · 0 评论 -
数据是:如何在 ”内存“中的 ”存“ 和 ”取“ 的
数据是:如何在 ”内存“中的 ”存“ 和 ”取“ 的原创 2022-06-14 11:42:43 · 169 阅读 · 0 评论 -
整形在内存中的存储的方式
整形在内存中的存储的方式文章目录整形在内存中的存储的方式介绍一个被误会的操作符—— sizeof类型的意义整形的存放原码,反码,补码补码负数的存放表示:补码转原码的两种方法:方法一:方法二:代码实践:解析:二进制快速转换的口诀:最后:每博一文案:介绍一个被误会的操作符—— sizeofsizeof 计算大小,单位字节 的操作符我们的 sizeof 是操作符,不是函数;主要是因为它打上了,括号( ),被误会了,其实我们也可以不使用括号的,因为它是操作符,但是不建议;带上括号,这是代原创 2022-04-18 23:09:56 · 209 阅读 · 0 评论 -
求一个数的二进制中有多少了 1 的三种算法 ——C语言篇
求一个数的二进制中有多少了 1 的三种算法 ——C语言篇如图:判断一个数值的二进制中包含有多少个 1算法一:通过取模 % 运算就取出每一比特位数值,再判断思路:通过取模 num % 2 == 1 运算取出该数的每一个二进制位数,再判断是否等于 1;我们定义一个变量计数:再通过 num /= 2; 的方式位移其数值的一个比特位;最后打印数值代码:#include<stdio.h>// 一. 通过数学上的取模(%)该数二进制的每一位,比较原创 2022-04-11 23:31:18 · 1212 阅读 · 0 评论 -
求素数的三大算法 —— C 语言 篇
求素数的三大算法 —— C 语言 篇素数又叫质数(prime number),有无限个。质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数。算法一 :暴力遍历思路:素数我们运用两个循环的遍历的方式,首先根据素数的定义:质数定义为在大于1的自然数中,除了1和它本身以外不再被其数整除了。因为任何数都可以被 1 整除的,所以我们的第一个for( )循环语句的初始值从 2 开始进行,到你所需的范围。我们的第二个for()循环语句,的判断条件是:从上个for()循环语句的 变化值开始,原创 2022-04-11 23:27:13 · 2514 阅读 · 0 评论 -
一点都不安静的 ——static
一点都不安静的 ——static介绍头文件抛砖引玉一下为什么要有头文件单纯的使用源文件,组织项目结构的时候,项目越大就会越复杂,维护成本变得越来越高,有一定规模的项目,一定是多文件的,多文件之间,后续一定进行数据“交互”的,而且一个项目一般都不是一个人单独开发的,所以更加要进行数据“交互”的**( #include.h : test.h --> main.c --> test.c )** 函数,如果不能跨文件,“交互” 成本比较高,所以C语言本身就设计好了。文件:组织项目结构的原创 2022-04-10 22:51:49 · 706 阅读 · 0 评论 -
浮点型与整形的比较问题
浮点型与整形的比较问题目前本人的理解是:与浮点数的存储方式有关有些浮点数在内存中不能准确的保存不能旦旦是你所看到的数字的来进行四舍五入,比如 上面的代码中 2.335 ——》在内存中可能是 2.333499995 的(并不能完全精确的保存),这个数值( 2.333499995 )四舍五入的结果就是 2.33 了代码:#include<stdio.h>/** float 与 int 类型比较判断中的问题*/int main() { int num = 9;原创 2022-04-02 22:40:31 · 2777 阅读 · 0 评论 -
“ # ” 修饰符
“ # ” 修饰符printf 可以使用使用格式控制串“%o”、“%X”分别输出八进制整数和十六进制整数,并使用修饰符“#”控制前导显示对于%c, %d ,%u 类型的格式符,没有什么效果对于 %o 八进制格式,在输出时会自动使其加上{ o }表示八进制,八进制数以数字0开头,但是在**%o** 打印格式中却是 字母 { o }的对于 %x 十六进制格式,在输出时会自动使其加上 {ox} 表示十六进制,十六进制数以数字0和字母x的组合 0x 或 0X开头。其中字母x是不区分大小写的,即0x与原创 2022-04-02 22:04:16 · 661 阅读 · 0 评论 -
C语言 —— 关键字
关键字第一个程序的"Hello World"文本代码文件 ——> 可以执行的程序(二进制文件)我们自己是写代码,编译器的角色就是把我们的代码变成二进制文件同理 我们在 windows 中双击的本质,就是运行程序,将程序加载到内存当中去,任何程序的运行都是需要加载到内存当中去的,《冯诺依曼体系结构体》输入,运算器,控制器,存储器,输出程序没有运行时是在硬盘当中的,运行时是在内存当中的,:因为,快,节约成本,让大家都可以使用到计算计。int main(){ printf("H原创 2022-03-28 22:45:34 · 824 阅读 · 0 评论 -
浮点数的精确度的探究
浮点数的精确度的探究浮点数的内部十分复杂,因此在运行环境中浮点数的运算结果并不一定完全一致的。这是因为如果只是使用符合 IEEE 754 的格式的精确数值进行运算的,CPU 硬件资源就无法被充分使用,运算会非常耗时,浮点数的在计算机的存放的形式,并不是你所以为的 比如 你认为的 5.0 在计算机中实际存放的数值可能是 4.999997所以一般不要使用浮点数 作为判断基准,而是使用整数代码1:public class Study7 { public static void main原创 2022-03-26 13:18:44 · 663 阅读 · 0 评论 -
飞机大战的部分思路框架及其代码实现
飞机大战的部分思路框架实现的功能需求:背景图片的打开,使用了#include<easyx.h> 的图形处理解决(各种图片的打开绘制),这里因为素材的原因没有实现(实体透明),没有找到相关的黑底白面,白底彩面的图片素材,显示效果不佳,再次基础上通过两张一样的图片对图片显示位置的改变,实现图片的滚动效果;在通过 BeginBatchDraw():开始批量绘制,将各种图片绘制在缓存中,以及 EndBatchDraw () :结束绘图,将一张完整的一帧绘制子在窗口中,实现帧数的刷新,防止闪屏;因为原创 2022-03-23 23:23:13 · 1517 阅读 · 2 评论 -
多余的回车键(Enter)
多余的回车键(Enter)当我们需要读取键盘设备“标准输入流” 时两种简单的方法:第一种: 使用 scanf(所有的基本类型都可以) 但是需要加上对应的格式符(%d),第二种: 使用getchar(),但是它只能是字符,不可以是其他的**这两种方式在输入 字符 上的作用都是完全一样的: **#include<stdio.h>int main(){ char a = 0; char b = 0; char blank = 0; scanf("%c", &原创 2022-03-16 12:43:34 · 3204 阅读 · 0 评论 -
使用的是(VS.2019)的编译器对”%.nf“的四舍五入的问题
使用的是(VS.2019)的编译器对”%.nf"的四舍五入的问题“%.nf”当 n+1 的数值大于5 时的结果是 经过了四舍五入的请看代码及其结果#include<stdio.h>int main(){ printf("%.2f\n", 2.336); printf("%.2f\n",2.337); printf("%.2f\n",2.3338); return 0;}结果:但是当“%.nf” 的中的 n+1 的数值 等于 5 的时候的结果 就没有进行 四舍五入原创 2022-03-15 21:22:08 · 586 阅读 · 1 评论