C语言
文章平均质量分 62
Le-Code
大一软工男一枚~
展开
-
文件操作——C语言
磁盘上的文件是文件。但是在程序设计中,我们一般谈的文件有两种:程序文件、数据文件(从文件功能的角度来分类的)。上面说的适用于所有输入流一般指适用于标准输入流和其他输入流(如文件输入流);所有输出流一般指适用于标准输出流和其他输出流(如文件输出流)。原创 2024-07-28 19:05:06 · 769 阅读 · 0 评论 -
深入理解指针——C语言
1.内存和地址1.1内存在讲内存和地址之前,我们想有个生活中的案例:假设有⼀栋宿舍楼,把你放在楼里,楼上有100个房间,但是房间没有编号,你的⼀个朋友来找你玩,如果想找到你,就得挨个房子去找,这样效率很低,但是我们如果根据楼层和楼层的房间的情况,给每个房间编上号,如:有了,如果你的朋友得到房间号,就可以快速的找房间,找到你。原创 2024-03-14 00:36:02 · 1547 阅读 · 17 评论 -
经典数组和指针笔试题解析——C语言
1.数组和指针笔试题解析2.指针运算笔试题解析1.数组和指针笔试题解析1.1一维数组。原创 2024-03-14 21:58:24 · 615 阅读 · 11 评论 -
乘法口诀表——C语言
类似于1*1、1*2……这样的就需要用到for循环。打印格式要注意1*1=1的格式,不要忘记占位。乘法口诀表是两个数相乘,所以需要用到两个循环。首先,要确定乘法口诀的样式是什么。⽤于循环结束条件的判断。⽤于循环变量的初始化。原创 2023-10-24 18:18:21 · 192 阅读 · 0 评论 -
分支与循环语句
原创 2023-11-12 20:39:30 · 66 阅读 · 1 评论 -
函数递归——n的阶乘
当n原创 2023-12-09 22:16:50 · 2356 阅读 · 2 评论 -
函数递归——斐波那契数
我们可以看到采用递归的方式计算第40个斐波那契数时,第3个斐波那契数就被重复计算了39088169次,这样的计算效率是非常低下的。其实递归程序会不断的展开,在展开的过程中,我们不难看出,在递归的过程中会有重复的计算,然而随着数值越大,重复的次数就会越多,导致计算量变大,效率大幅度降低,同样也时硬件占用变高。斐波那契数列:1,1,2,3,5,8,13,21,34,55,89……我们知道斐波那契数的前两个数是1,然后前两个数相加就是第三个数,那么我们从前往后计算,将后面的值赋值给前面的值,从大到小计算就行了。原创 2023-12-09 23:00:38 · 899 阅读 · 0 评论 -
操作符详解——进制转换
16进制的数字每⼀位是0~9,A ~F 的,0~9,A ~F的数字,各自写成2进制,最多有4个2进制位就足够了,比如F的二进制是1111,所以在2进制转16进制数的时候,从2进制序列中右边低位开始向左每4个2进制位会换算1个16进制位,剩余不够4个二进制位的直接换算。8进制的数字每⼀位是0~7的,0~7的数字,各自写成2进制,最多有3个2进制位就足够了,比如7的二进制是111,所以在2进制转8进制数的时候,从2进制序列中右边低位开始向左每3个2进制位会换算1个8进制位,剩余不够3个2进制位的直接换算。原创 2023-12-12 23:24:22 · 410 阅读 · 0 评论 -
扫雷游戏——C语言基础实现
再继续分析,我们在棋盘上布置了雷,棋盘上雷的信息(1)和⾮雷的信息(0),假设我们排查了某 ⼀个位置后,这个坐标处不是雷,这个坐标的周围有1个雷,那我们需要将排查出的雷的数量信息记录存储,并打印出来,作为排雷的重要参考信息的。假设我们排查(8,6)这个坐标时,我们访问周围的⼀圈8个⻩⾊位置,统计周围雷的个数时,最下⾯的三个坐标就会越界,为了防⽌越界,我们在设计的时候,给数组扩⼤⼀圈,雷还是布置在中间的9*9的坐标上,周围⼀圈不去布置雷就⾏,这样就解决了越界的问题。◦ 如果位置不是雷,就显示周围有⼏个雷。原创 2024-01-23 16:10:40 · 1082 阅读 · 1 评论 -
二分查找——C语言算法
1.二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素必须是有序排列。原创 2024-01-23 16:49:36 · 476 阅读 · 0 评论 -
求出0~100000之间的所有“水仙花数”并输出。
1.“水仙花数”是指一个n位数,其各位数字的n次方之和确好等于该数本身,如:153=1^3+5^3+3^3,则153是一个“水仙花数”。思路:1.首先先确定这个数是几位数2.得出每位上的数是多少3.计算出每位数的n次方并相加4.判断是否与原数相等,相等则为水仙花数并输出int main()int i = 0;for (i = 0;i++)//归值//归值temp = i;//归值//求有几位count++;//每求一位指数+1temp = i;//归值。原创 2024-01-24 12:50:45 · 372 阅读 · 1 评论 -
经典变态面试题——交换两个变量(不创建第三个变量)
异或:异或也叫半加运算,其运算法则相当于不带进位的二进制加法:二进制下用1表示真,0表示假,则异或的运算法则为:0^0=0,1^0=1,0^1=1,1^1=0(同为0,异为1),这些法则与加法是相同的,只是不带进位,所以异或常被认作不进位加法。啥如果你面试的时候面试官给你一道题说:“为了让我们的代码定义的变量少之又少,不要出现《屎山代码》,让你写一串代码,不创建第三个变量,从而交换两个变量。咳咳咳,言归正传,虽然该办法可取,但是有一个弊端,如果两个变量的和太大了int放不下,那么还是会出错。原创 2024-01-24 23:34:30 · 452 阅读 · 1 评论 -
C语言内存函数——memcpy、memmove、memset、memcmp
C语言中常见的内存函数有四种,分别是:memcpy——内存拷贝(不可重叠)memmove——内存拷贝(可重叠)memset——内存设置memcmp——内存比较。原创 2024-03-03 19:39:59 · 1074 阅读 · 0 评论 -
百度笔试题——设计⼀个小程序来判断当前机器的字节序(C语言实现)
型(要看具体的编译器),另外,对于位数⼤于8位的处理器,例如16位或者32位的处理器,由于寄存器宽度⼤于⼀个字节,那么必然存在着⼀个如何将多个字节安排的问题。以字节为单位的,每个地址单元都对应着⼀个字节,⼀个字节为8bit 位,但是在C语⾔中除了8 bit 的 char。⼤端(存储)模式:是指数据的低位字节内容保存在内存的⾼地址处,⽽数据的⾼位字节内容,保存在内存的低地址处。⼩端(存储)模式:是指数据的低位字节内容保存在内存的低地址处,⽽数据的⾼位字节内容,保存在内存的⾼地址处。喜欢的话请一键三连吧~~~原创 2024-03-03 21:18:40 · 582 阅读 · 1 评论 -
C语言自定义类型——结构体(struct)
3.2为什么存在内存对⻬?⼤部分的参考资料都是这样说的:1.平台原因 (移植原因):不是所有的硬件平台都能访问任意地址上的任意数据的;某些硬件平台只能在某些地址处取某些特定类型的数据,否则抛出硬件异常。2.性能原因:数据结构(尤其是栈)应该尽可能地在⾃然边界上对⻬。原因在于,为了访问未对⻬的内存,处理器需要作两次内存访问;⽽对⻬的内存访问仅需要⼀次访问。假设⼀个处理器总是从内存中取8个字节,则地址必须是8的倍数。原创 2024-03-07 13:18:29 · 1146 阅读 · 3 评论 -
C语言自定义类型——联合和枚举
1.联合体类型的声明2.联合体的特点3.联合体大小的计算4.枚举类型的声明5.枚举类型的优点6.枚举类型的使用1.联合体1.1联合体类型的声明像结构体一样,联合体也是由一个或者多个成员构成,这些成员可以不同的类型。但是编译器只为最大的成员分配足够的内存空间。联合体的特点是所有成员共用同一块内存空间。所以联合体也叫:共用体。给联合体其中⼀个成员赋值,其他成员的值也跟着变化。原创 2024-03-07 23:48:07 · 1038 阅读 · 1 评论