随笔分类 - C/C++
摘要:内联函数 使用inline关键字建议编译器将函数体直接插入调用处,消除函数调用开销(压栈/弹栈)。 适用场景:高频调用的小函数(如位操作、简单计算)。 // 内联函数示例 inline uint8_t max(uint8_t a, uint8_t b) { return (a > b) ? a :
阅读全文
摘要:递归函数 递归函数通过直接或间接调用自身解决问题,需满足: 终止条件(Base Case):确保递归最终停止。 递归步骤(Recursive Step):每次调用向终止条件逼近。 // 示例:递归计算阶乘 int factorial(int n) { if (n <= 1) return 1; //
阅读全文
摘要:函数定义与声明 定义:实现函数功能的具体代码块 声明:告知编译器函数签名(返回类型、参数列表) // 声明(头文件中) int add(int a, int b); // 定义(源文件中) int add(int a, int b) { return a + b; } 易错点:忘记声明导致编译错误(
阅读全文
摘要:以下是C语言的C99标准中有关数组和指针的一些理论。 数组 变长数组(VLA,Variable-Length Array) 定义:允许数组长度在运行时确定(需编译器支持)。 示例:int n = 10; int arr[n]; // 合法(C99支持) 限制: 不能初始化(如 int arr[n]
阅读全文
摘要:C语言的控制结构分为四类:顺序结构、选择结构、循环结构和跳转结构。 顺序结构 代码默认按顺序执行,逐行从上到下运行。 示例: int a = 10; int b = 20; int sum = a + b; // 按顺序执行 选择结构 根据条件判断执行不同分支。 (1) if 语句 // 单分支 i
阅读全文
摘要:C语言中的逻辑运算 常用逻辑运算 运算符 名称 描述 示例 && 逻辑与 当所有条件为真时结果为真 if (a > 0 && b < 5) || 逻辑或 当至少一个条件为真时结果为真 if (x == 0 || y == 0) ! 逻辑非 对布尔值取反 if (!is_valid) 逻辑与(&&):
阅读全文
摘要:在单片机软件开发中,位操作是硬件寄存器控制和资源优化的核心手段。 一、常用位操作 1. 基本位操作 置位(Set Bit):将某位设为1 PORT |= (1 << PIN); // 将PORT寄存器的第PIN位置1(例如:PIN=3 → 0b00001000) 清零(Clear Bit):将某位设
阅读全文
摘要:运算符 算术运算符 下表显示了 C 语言支持的所有算术运算符。假设变量 A 的值为 10,变量 B 的值为 20,则: 运算符 描述 实例 + 把两个操作数相加 A + B 将得到 30 - 从第一个操作数中减去第二个操作数 A - B 将得到 -10 * 把两个操作数相乘 A * B 将得到 20
阅读全文
摘要:进制转换速查表 操作 方法 示例 二进制 → 十进制 按权展开求和(2的幂次) 1011B → 11 二进制 → 八进制 每3位分组,转为八进制数 101101B → 55O 二进制 → 十六进制 每4位分组,转为十六进制数 10110101B → B5H 十进制 → 二进制 整数除2取余,小数乘2
阅读全文
摘要:浮点数数值计算公式详解 浮点数的存储遵循 IEEE 754标准,其数值计算公式是理解浮点表示的核心。以下分步解析公式的组成和意义,结合实例说明其应用。 一、公式结构 对于单精度(32位)浮点数: \[\text{Value} = (-1)^{\text{Sign}} \times (1 + \tex
阅读全文
摘要:整数 类型 存储大小 值范围 char 1 字节 -128 到 127 或 0 到 255 unsigned char 1 字节 0 到 255 signed char 1 字节 -128 到 127 int 2 或 4 字节 -32,768 到 32,767 或 -2,147,483,648 到
阅读全文
摘要:太基础的语法知识可以参阅菜鸟教程网站: https://www.runoob.com/cprogramming/c-program-structure.html 这里补充一些日常常用的、面试时候可能会问到、考察到的知识 变量和常量 变量 变量是程序中用于存储数据值的标识符,其在程序执行过程中的值是可
阅读全文
浙公网安备 33010602011771号