自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

原创 C语言的学习(十八)---位运算

本文介绍了二进制位运算的基本操作及应用。主要内容包括:1) 四种基本位运算(与、或、取反、异或)的运算规则及用途;2) 位移运算(左移和右移)的操作方法;3) 通过位运算实现不借助第三方变量的数值交换技巧。重点阐述了与运算的清零功能、或运算的置位功能,以及异或运算实现变量交换的原理。同时说明了逻辑右移和算术右移的区别,指出右移运算相当于除以2的效果。这些位运算技巧在底层编程和硬件控制中具有重要应用价值。

2026-01-26 19:52:35 334

原创 C语言的学习(十七)---结构体、联合体、枚举

本文摘要:本文介绍了C语言中四种自定义数据类型的使用方法。1)结构体(struct)用于组合不同类型数据,包含定义方式、初始化、指针访问、内存对齐等内容;2)共用体(union)允许多个变量共享同一内存空间,具有节省内存等特点;3)枚举(enum)用于定义一组相关常量,比宏定义更具可读性;4)类型定义(typedef)为已有类型创建别名,可简化复杂类型的声明。这些数据类型为C语言提供了更灵活的数据组织方式,在程序设计中具有重要作用。

2026-01-26 19:40:28 605

原创 C语言的学习(十六)---堆空间、函数指针

本文摘要: 堆内存管理:介绍了malloc、calloc、realloc和free函数的使用方法及注意事项,强调内存申请释放必须成对出现,避免内存泄漏和野指针问题。 函数指针:讲解函数指针的定义和使用,包括回调函数的概念,并以qsort函数为例说明回调函数的实际应用。 main函数参数:说明命令行参数的获取方法,通过argc和argv参数实现程序运行时接收外部输入。 (字数:149字)

2026-01-25 19:20:48 569

原创 C语言的学习(十五)---指针与二维整型和字符数组(难)

本文摘要: 本文系统讲解了C语言中二维数组和指针的操作方法。第一部分详细解析了二维整型数组的指针表示方式,通过int(*a)[4]等示例演示了行指针与列指针的转换关系,并给出了查找数组最大值的完整代码实现。第二部分重点探讨了二维字符数组的难点,对比了char(*s)[4]和char**s两种指针类型的区别,通过字符串排序和查找案例展示了具体应用。文章还总结了指针操作的核心要点:通过指针传递参数实现函数间数据修改,以及不同类型指针在字符串处理中的适用场景。最后强调字符指针与字符数组的本质区别在于存储内容(地址

2026-01-24 09:48:08 559

原创 C语言的学习(十四)---快速排序与指针操作一维字符型数组

本文摘要:文章首先介绍了快速排序算法的分治策略实现,包括基准值选择、分区处理和递归排序过程。随后详细讲解了指针操作字符串的注意事项,重点区分了字符数组和字符指针的区别,以及const修饰符在指针中的不同应用场景。最后通过实例演示了如何用指针和const封装字符串操作函数(如strncmp、strncat等),并强调函数设计应遵循低耦合原则。全文涵盖了算法实现和指针应用两个核心编程知识点。

2026-01-23 09:06:02 494

原创 C语言的学习(十三)---指针操作变量与一维数组

摘要:本文系统介绍了C语言中指针的核心概念与应用。首先阐明指针的本质是内存地址,详细讲解了指针变量的定义方法(int *p)和使用要点,包括初始化、间接访问(*p)等操作。重点分析了指针在函数参数传递、数组操作中的关键作用,展示了如何通过指针实现数组的输入输出、排序、查找等功能。文章还探讨了指针运算规则及注意事项,最后通过大小端判断实例巩固指针理解。掌握指针对于编写高效、紧凑的C程序至关重要,是C语言编程的核心技能。

2026-01-21 19:26:59 521

原创 C语言的学习(十二)---存储类别的关键字与预处理

在编程中,一个变量的 生命周期 指的是它从被创建(分配内存)到被销毁(释放内存)的时间范围。而 作用域 则定义了这个变量在代码中可以被直接访问的空间范围。例如,局部变量(通常在函数或块内声明)的生命周期和作用域都局限于其所在的块,块结束即被销毁;而全局变量(在函数外声明)则拥有与程序运行相同的生命周期,其作用域通常横跨整个文件或模块。可见性 是作用域内的一个细化规则,它指出:即使在某个变量的作用域内,如果内层作用域声明了同名的变量,外层的变量也会被暂时“遮盖”而变得不可见。简单来说,生命周期关乎“何时存在”

2026-01-20 20:01:56 566

原创 C语言的学习(十一)---递归、数组作为函数的参数、标识符

本文总结了递归、数组和标识符的核心概念。递归是一种特殊的循环,需要递推关系和终止条件,以累加求和和汉诺塔为例说明其实现方法。数组作为函数参数时传递的是首地址,通过一维和二维数组示例演示了输入输出、排序和查找等操作。标识符部分讲解了作用域规则、局部/全局变量的生命周期以及static关键字的作用,强调不同作用域同名变量的可见性规则。文章通过代码示例展示了递归和数组操作的具体实现,为理解这些编程概念提供了实践参考。

2026-01-19 21:38:24 612

原创 C语言的学习(十)---函数

本文阐述了函数在编程中的重要性及其实现方法。通过ATM取款的类比,说明了"自顶向下、逐步分解"的编程思想。函数将复杂问题拆解为可管理的子任务,提高了代码可读性、可维护性和复用性。文章详细介绍了C语言函数的组成要素:返回值类型、函数名、形参和函数体,并强调形参与实参的匹配原则。同时讲解了函数调用的三种方式、内存区域划分(栈区、堆区等)以及递归调用的实现。最后通过四个练习(求最大值、闰年判断、获取月份天数和素数判断)展示了函数的具体应用。

2026-01-18 21:58:30 502

原创 C语言的学习(九)---二维字符型数组

摘要:本文介绍了二维字符数组的基本操作与应用。主要内容包括:1)二维字符数组的定义与初始化,用于批量存储字符串;2)三种赋值方法(strcpy、scanf、gets)及注意事项;3)字符串操作函数的使用;4)在二维字符数组上实现选择排序、冒泡排序和插入排序的算法;5)二分查找的实现方法。重点指出二维字符数组的算法思路与整型数组相同,但操作上需要使用字符串处理函数如strcpy和strcmp等。文中通过代码示例详细说明了各操作的实现方式。

2026-01-18 13:16:06 256

原创 C语言的学习(八)---二维数组和字符型数组

本文介绍了C语言中二维数组和字符数组的相关知识。二维数组采用行优先存储方式,初始化可分为全部初始化、按行初始化和部分初始化,访问需使用双重循环。字符数组主要用于处理字符串,其特点是自带结束符'\0',实际长度与数组长度可能不同。文中详细讲解了字符串的输入输出函数(gets/puts)、长度统计(strlen)、拷贝(strcpy)、拼接(strcat)和比较(strcmp)等操作的实现原理及注意事项。特别强调字符串操作应以'\0'为判断依据而非数组长度,并指出常见错误写法。

2026-01-16 21:47:09 623

原创 C语言的学习(七)---排序

在计算机科学与编程领域,排序是一项基础而重要的操作。它指的是将一组数据按照某种顺序重新排列的过程——通常是从小到大(升序)或从大到小(降序)。无论是处理考试成绩、整理商品价格,还是优化数据查询效率,排序都扮演着关键角色,它帮助我们更清晰、更高效地组织与理解信息。 在C语言中,实现排序算法不仅是掌握语言特性的练习,更是理解算法思想与程序效率的起点。从直观易懂的冒泡排序,到简单直接的选择排序,再到在部分有序数据中表现灵活的插入排序,每一种方法都蕴含着不同的设计思路与执行逻辑。理解这些基础排序算法,

2026-01-16 09:34:18 362

原创 C语言的学习(六)---一维数组

本文介绍了C语言中数组的基本概念和使用方法。主要内容包括:1)数组语法结构,包含类型说明符、数组名和常量表达式三要素;2)数组的使用方法,包括初始化(全部/部分初始化)和赋值操作;3)数组元素的存放特点,如连续存储空间、单一数据类型和有序性;4)数组名特性,既代表数组类型又表示首元素地址。特别强调了数组下标从0开始、不能整体赋值等注意事项,并指出编译器不检查数组越界问题。数组作为批量管理同类型数据的高效工具,在C语言程序设计中具有重要作用。

2026-01-15 13:51:42 263

原创 C语言的学习(五)---流程控制:循环语句

摘要:本文介绍了C语言中的循环结构及其实现方式。首先说明了循环在编程中的重要性,然后详细讲解了四种循环语句:goto(不建议使用)、for(适合有明确范围的循环)、while(适合条件明确的循环)和do-while(先执行后判断)。文章还比较了while和do-while的区别,解释了break和continue语句的作用,并给出了循环语句的选择建议。最后指出for和while的流程图绘制方法,帮助读者更好地理解和运用循环结构。

2026-01-14 20:44:36 259

原创 C语言的学习(四)---流程控制:选择语句

本文系统讲解了C语言中的选择结构编程。首先介绍了构成选择判断基础的三种运算符:关系运算符(>、<等)、逻辑运算符(&&、||、!)和条件运算符(?:)。然后详细解析了if语句的三种形式(单分支、双分支、多分支)及其语法规则和注意事项,并通过月份天数计算的实例演示应用。接着讲解了switch语句的语法结构、执行流程和使用限制,特别强调了break语句的作用。最后总结了选择结构的编程建议:数据处理与输出分离,并根据判断需求合理选择if或switch语句。全文通过丰富的代码示例,系统性

2026-01-13 20:39:06 538

原创 C语言的学习(三)---输入输出函数

摘要:本文系统介绍了C语言输入输出机制。输入输出以内存为中心,通过标准库函数实现数据流动。重点解析了字符级函数(getchar/putchar)和格式化函数(printf/scanf)的使用方法。printf通过占位符(%d,%f等)实现多样化输出,支持宽度控制、对齐方式等格式修饰;scanf则需严格匹配数据类型与占位符。特别强调了输入输出函数的参数传递机制、返回值含义以及常见使用误区,如格式控制符组合使用、空白字符处理等注意事项,为C语言程序的数据交互提供了完整解决方案。

2026-01-12 20:40:35 585

原创 C语言的学习(二)---运算符和表达式

本文介绍了C语言中的运算符及其使用规则。重点讲解了算术运算符(+、-、*、/、%)、自增自减运算符(++/--)的特性与注意事项,包括运算优先级、取余运算规则以及贪心原则。同时阐述了赋值运算的类型转换规则和逗号运算符的特性,并说明了隐式与强制类型转换的机制。文中通过示例代码详细说明了各种运算符的使用场景和潜在问题,为C语言初学者提供了实用的编程参考

2026-01-10 20:52:34 767

原创 C语言的学习(一)---基本数据类型

详细介绍了c语言的基本数据类型

2026-01-09 20:35:11 725

原创 初识嵌入式Linux系统与vim的学习

本文介绍了嵌入式Linux系统的基础知识和开发工具使用。主要内容包括:1)嵌入式系统概念及其在现代科技中的核心作用;2)Ubuntu与Linux的关系解析;3)Linux终端常用命令详解,如pwd、ls、cd、touch等文件操作命令;4)Vim编辑器的使用方法和常用快捷键,包括模式切换、保存退出等操作流程。文章系统梳理了嵌入式Linux开发的基础技能,为后续深入学习提供了知识框架和实用工具指南,适合作为嵌入式开发的入门参考资料。

2026-01-08 20:38:57 654

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除