- 博客(18)
- 收藏
- 关注
原创 C语言预处理
许多C编译器提供了一种能力,允许你在命令行中定义符号,用于启动编译过程。如:定义任意长度数组int main()int i;for(i=0;i<MAX_NUM;for(i=0;i< MAX_NUM;
2024-03-30 12:50:31
1957
1
原创 自定义类型:结构体,联合体
a.位段的“位”指的是二进制位,冒号之后的数字代表的是二进制位的数目,如_a类型只有两个二进制位,只能表示0,1,2,3的十进制数字struct Aint _a : 2;int _b : 5;此时的A就是一个位段类型。那A所占内存大小是多少呢?答案是8个字节(64个bit位)由此看来,位段是一种专门用来节省空间的方法。
2024-03-19 20:59:15
1573
1
原创 整数和浮点数在内存中的存储
但是,我们知道,科学计数法中的E是可以出现负数的,所以IEEE 754规定,存入内存时E的真实值必须再加上 ⼀个中间数,对于8位的E,这个中间数是127;⽐如:0.5 的⼆进制形式为0.1,由于规定正数部分必须为1,即将⼩数点右移1位,则为1.0*2^(-1),其 阶码为-1+127(中间值)=126,表⽰为01111110,而尾数1.0去掉整数部分为0,补齐0到23位。三种表示方法均有符号位和数值位两部分,符号位都是用0表示“正”,用1表示“负”,⽽数值位最 ⾼位的⼀位是被当做符号位,剩余的都是数值位。
2024-03-16 18:52:34
631
1
原创 数组练习——二分查找
当我们有一个数组arr[10]={1,2,3,4,5,6,7,8,9,10},我们想要查找这个数组中是否有每个数字,若有则输出下标,我们有什么办法呢?这种算法很容易想到,但是对于有序数组来说,朴素算法的时间复杂度为O(n),我们思考一种更为简便的算法:二分查找。此时arr[mid]=5,是小于我们想要查找的元素7的,于是我们令left指针向右移动一位,并进行第二次查找。在这种算法下,我们只需要将数组中的元素进行遍历,并将元素一一与我们想要的数字进行比较即可。这里我们进行简单分析。(以查找数字7为例子)
2024-02-07 20:18:43
242
1
原创 数组与函数综合练习-扫雷
如图,系统会给出一个9x9或16x16(根据难度的不同可选择不同规格)的棋盘,在方格中随机埋下特定个数的地雷,左键点击方格,有两种情况——踩到雷,此时游戏结束;没踩到雷,并显示以所点开方格为中心的9x9九宫格内的雷的个数。右击鼠标可标记你认为是雷的方格,找出所有雷游戏成功。拟用c语言编写扫雷小游戏,我们准备创建三个文件:test.c:用来编写主页进程;game.c:编写具体的游戏运行法则;game.h:用来进行函数的声明与头文件的使用。3.game.c 游戏的主要实现。二.扫雷游戏的编写逻辑。
2024-01-29 20:59:39
240
原创 C语言分支与循环结构
在九九乘法表中我们显然需要同时对行和列进行控制,于是我们运用嵌套循环,用变量i进行外层即行的控制,用变量j进行内层即列的控制,值得注意的是变量j的循环次数与i的值有关,这是为了保证第一行有一个结果,第二行有两个结果,第三行有三个结果。if-else语句简单来说是一种条件判断语句,根据不同的条件是否符合要求来选择执行某段代码,如上图:当num>ret成立时,执行第一个花括号内的语句,即打印 “猜大了,请重新选择”字样。值得注意的是,在此例子中三个条件是并列关系,可类比数学中的分段函数。若为假,则跳出循环。
2024-01-23 21:43:45
443
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人