- 博客(6)
- 收藏
- 关注
原创 C语言学习之经典练习题目
若想实现题中所给的功能,我们可以将两个数进行 ^ 操作,然后再将 ^ 后的数字中有多少个1的个数求出,即可获得二进制位中不同的个数。具体思路是将输入的数字存入数组后,定义两个变量当标记,比较相邻两个数字的大小,如果是顺序其中第一个标记的值+1,逆序则第二个标记的值+1。这个题的思路就是当字符串输入后我们找到字符串的起始地址和末尾地址,通过中间变量来交换起始地址与末尾地址的值,然后将起始地址+1,末尾地址-1,这样循环下去,直至不能再交换为止。通过上面介绍的规律,程序的编写也就变的简单了。
2024-02-06 23:35:53 853 1
原创 数据在内存中的存储方式(包括浮点数的存储方式)
大端(存储)模式,是指数据的低位保存在内存的高地址中,而数据的高位,保存在内存的低地址中;小端(存储)模式,是指数据的低位保存在内存的低地址中,而数据的高位,保存在内存的高地址中。在 vs stdio2019编译器的环境下数据在内存中的存放如下图所示我们可以看到低位在内存中是在低地址处,由此我们可以判断是小端存储模式。我们常用的 X86结构是小端模式,而KEIL C51则 为大端模式。很多的ARMDSP都为小端模式。有些ARM处理器还可以由硬件来选择是大端模式 还是小端模式。
2024-02-05 20:45:16 1019 1
原创 如何写出好(易于调试)的代码
这里我们看到库函数中定义的strcpy的返回类型是 char* 且源头数组为const char*,这就与我们模拟实现的strcpy有了区别,证明我们写的代码确实还是有改进的空间。就像上文提到的我们要编写优秀的代码就尽量能够善用assert 与 const 来进行修饰变量,并且这次我们要将复制过字符串的终点数组的地址返回。若将p的地址改为arr1的地址是可以修改的。1. const 放在*的左边的时候限制的是指针所指向的内容,不能够通过指针变量来改变指针所指向的内容,但是指针本身是可以更改的。
2024-01-31 23:37:23 313 1
原创 C语言必会小项目三子棋(附带具体思路说明)
三字棋是我们小学初中经常玩的一种小游戏,现在提起三子棋,它代表的不仅仅只是一种游戏,代表的也是我,我们回不去的无忧无虑的美好时光。让自己情窦初开女孩,还记得她的面庞吗?还记得自己当年青涩的模样吗?今天我们通过C语言来实现一个能够勾起我们美好回忆的小游戏。具体规则如下图所示。
2024-01-27 14:50:55 925
原创 关于数组需要掌握的基础用法
1.数组是使用下标来访问的,下标是从0开始。2.数组的大小可以通过计算得到。1.2 一维数组在内存中的存储先放代码,观察程序运行的现象来判断数组在内存中的存储。
2024-01-23 16:08:36 349
原创 函数与递归
函数的定义是指函数的具体实现,交待函数的功能实现。程序模块化可将其分为两个部分第一个部分为test.h用来放置函数声明具体如下//函数的声明第二部分为test.c用来放置函数的实现。程序调用自身的编程技巧称为递归(recursion递归做为一种算法在程序设计语言中广泛应用。
2024-01-23 01:26:52 818 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人