- 博客(2545)
- 资源 (2132)
- 收藏
- 关注
原创 C 排序算法
摘要:本文介绍了五种基础排序算法的原理与C语言实现。冒泡排序通过相邻元素比较交换实现排序;选择排序每次选择最小元素放入已排序序列;插入排序通过构建有序序列逐步插入元素;希尔排序是改进的插入排序,采用递减增量分组;归并排序采用分治法将数据分段排序后合并;快速排序通过基准元素将数据分区并递归排序。每种算法均附有过程演示和代码实例,包括递归与非递归实现方式,涵盖从O(n²)到O(nlogn)时间复杂度的经典排序方法。
2025-07-12 08:47:11
156
原创 C 命令行参数
摘要:C程序可通过main函数的argc和argv参数接收命令行参数。argc表示参数个数(程序名占argv[0]),argv为参数指针数组。当参数含空格时需用引号包裹。示例程序演示了参数验证:单参数时输出参数值;多参数提示过多;无参数提示缺少参数。该机制允许外部控制程序行为,避免硬编码。
2025-07-12 08:46:24
258
原创 C 内存管理
摘要:本章介绍了C语言的动态内存管理,主要包括四个关键函数:calloc()分配并初始化内存块,malloc()分配未初始化内存,realloc()调整已分配内存大小,free()释放内存空间。通过示例展示了如何动态分配内存存储字符串,并演示了内存调整和释放操作。动态内存管理相比固定数组更灵活,但需要手动释放避免内存泄漏。合理使用这些函数可以有效管理程序运行时内存需求。
2025-07-12 08:45:51
180
原创 C 可变参数
C语言支持可变参数函数,通过stdarg.h头文件实现。定义函数时最后一个参数用省略号(...)表示可变参数,前一个int参数指定参数数量。使用va_list、va_start、va_arg和va_end宏来操作参数列表。示例展示了计算可变参数平均值的函数,调用时需先传入参数总数。这种机制提高了函数灵活性,但需注意参数类型和数量的正确匹配。
2025-07-11 09:03:26
194
原创 C 递归
递归是一种函数调用自身的技术,常用于解决数学问题。C语言支持递归,但需设置终止条件以防死循环。示例展示了递归计算阶乘(15!=1307674368000)和生成斐波那契数列(前10项:0,1,1,2,3,5,8,13,21,34)。其语法为函数体内调用自身,适用于具有重复模式的问题求解。
2025-07-11 09:02:48
173
原创 C 错误处理
C语言通过全局变量errno和错误处理函数实现异常检测。当函数调用失败时,系统会设置errno并返回特定值(如NULL或-1)。程序员应检查返回值并利用perror()和strerror()输出错误信息。示例演示了文件打开失败和除零错误处理,建议使用EXIT_SUCCESS/FAILURE作为程序退出状态。良好的实践包括初始化errno为0,并使用stderr输出错误信息。
2025-07-11 09:02:11
344
原创 C 强制类型转换
摘要:强制类型转换是将变量从一种数据类型转换为另一种类型的方法,分为显式和隐式两种。显式转换使用(type_name)expression语法,如将int转为double进行精确除法运算。整数提升自动将小于int的类型转为int,如char转ASCII值参与运算。常用算术转换则按类型层次自动提升操作数到最高类型,如int和char运算转为float。良好的编程习惯建议使用显式转换来确保类型安全。(149字)
2025-07-10 09:01:43
337
原创 C 头文件
摘要:头文件(.h)包含C函数声明和宏定义,分为程序员编写和编译器自带两种类型。使用#include指令引用头文件,其中<file>用于系统头文件,"file"用于用户头文件。为防止重复引用,建议使用#ifndef包装器。有条件引用可通过宏或系统条件选择不同头文件。头文件机制可有效管理程序中的常量、宏和函数原型,避免直接复制内容导致的错误,特别适合多文件项目。(149字)
2025-07-10 09:01:05
224
原创 C 预处理器
C预处理器是编译前的文本替换工具,通过#开头的指令执行预处理。主要指令包括#define定义宏、#include包含文件、条件编译指令(如#ifdef)等。预处理器还提供预定义宏(如__FILE__、LINE)和运算符(如#字符串化、##标记合并)。参数化宏可以模拟函数功能,增强代码灵活性。预处理器指令能实现条件编译、调试控制等功能,是C语言编程的重要工具。
2025-07-10 09:00:35
221
原创 C 文件读写
本文介绍了C语言中文件操作的基本方法,包括文件的创建、打开、关闭和读写操作。重点讲解了fopen()函数的使用及其不同模式(如"r"、"w"、"a"等),以及文本和二进制文件的处理区别。详细说明了文件写入函数fputc()、fputs()、fprintf()和读取函数fgetc()、fgets()、fscanf()的使用方法,并通过代码示例演示了实际应用。最后还介绍了二进制I/O函数fread()和fwrite(),用于处理数组或结构体等数据块的读
2025-07-09 10:54:22
538
原创 C 输入 & 输出
摘要:本文介绍了C语言中的基本输入输出(I/O)操作。主要内容包括:1)标准输入输出文件(stdin/stdout/stderr)的概念;2)常用I/O函数如printf()和scanf()的使用方法;3)格式化输出的示例(整数%d、浮点数%f);4)字符输入输出函数getchar()和putchar();5)字符串处理函数gets()和puts()。文章通过多个代码示例展示了这些函数的具体应用,并解释了格式化输入输出的注意事项,如scanf()对空格的处理方式等。这些基础I/O操作是C语言编程的重要组成部
2025-07-09 10:53:33
910
原创 C typedef
摘要:C语言的typedef关键字用于为数据类型定义新名称,如将unsigned char命名为BYTE。它常用于简化结构体定义,如typedef struct Books{...}Book。与#define不同,typedef仅用于类型别名,由编译器处理;而#define还能定义数值别名,由预处理器处理。typedef遵循大写命名惯例,但小写也可用。#define示例:定义TRUE为1,FALSE为0。两者在类型安全和处理阶段存在差异。
2025-07-09 10:52:34
355
原创 C 位域
C语言位域技术可以有效节省内存空间。当结构体中仅需存储布尔值时,使用位域(如unsigned int widthValidated:1;)可将多个变量压缩到一个整型变量中。示例显示,两个布尔值的普通结构占用8字节,而位域结构仅用4字节。位域宽度决定了存储位数,如3位可存0-7值,超限将溢出(如8存储为0)。通过合理使用位域,可显著优化程序内存使用,尤其适用于大量开关变量的场景。
2025-07-08 08:58:30
352
原创 C 共用体
共用体是一种特殊数据类型,允许在同一内存位置存储不同类型的数据,但同一时间只能使用一个成员。定义共用体使用union关键字,其内存大小由最大成员决定。访问成员用点运算符,但每次只能有效使用一个成员值,否则会导致数据损坏。共用体常用于节省内存空间或处理不同类型数据的场景。
2025-07-08 08:57:34
764
原创 C 结构体
C语言结构体是一种用户自定义数据类型,允许组合不同类型的数据成员。通过struct关键字定义,结构体可以包含基本数据类型、数组、指针甚至嵌套其他结构体。结构体支持变量声明、初始化、成员访问(使用.运算符)以及指针操作(使用->运算符)。此外,C语言还提供位域结构,通过指定成员位数来节省存储空间。结构体常用于表示复杂数据记录(如书籍信息),可以作为函数参数传递,或通过指针高效访问。其灵活的数据组织方式使其成为实现链表、树等高级数据结构的基础。
2025-07-08 08:56:56
581
原创 C 字符串
摘要:C语言中字符串是以'\0'结尾的字符数组,数组大小需比实际字符数多1。初始化可采用逐个字符赋值或直接字符串赋值方式,编译器会自动添加'\0'。C提供丰富的字符串处理函数,如strcpy()、strcat()、strlen()等,用于复制、连接、获取长度等操作。这些函数通过<string.h>头文件提供,是字符串处理的重要工具。字符串的本质是字符数组,理解'\0'的作用和这些函数用法是C语言编程的基础。
2025-07-07 09:33:05
599
原创 C 函数指针
函数指针是指向函数的变量,可以像普通函数一样调用。声明形式为typedef int(*fun_ptr)(int,int)。示例中指针p指向max函数,通过p调用实现了最大值查找。回调函数是通过函数指针作为参数实现的机制,如populate_array函数接收getNextRandomValue作为回调来填充数组。这种机制类似于商店缺货时留下电话通知的异步处理模式。函数指针实现了灵活的函数调用方式,是C语言的重要特性。
2025-07-07 09:32:31
1110
原创 C 指针
摘要:指针是C语言的重要概念,用于直接访问内存地址。指针变量存储其他变量的地址,声明形式为type*var-name。通过&运算符获取变量地址,*运算符访问指针指向的值。NULL指针表示不指向任何内存。指针可用于算术运算、数组、函数参数传递和返回值等操作,是动态内存管理和高效编程的关键。掌握指针使用是成为优秀C程序员的必备技能。
2025-07-07 09:31:53
799
原创 C enum(枚举)
摘要:C语言中的枚举(enum)是一种用户自定义数据类型,用于简化整型常量的定义,提高代码可读性。枚举语法为enum枚举名{元素1,元素2,...},默认从0开始递增,也可手动赋值。枚举变量的定义方式有三种:先声明后定义、同时定义、或直接定义。虽然枚举本质上是整数,但可以通过循环遍历连续值的枚举,并在switch语句中应用。此外,整数可以强制转换为枚举类型,但枚举类型之间不能直接赋值。枚举主要用于替代#define常量,让代码更清晰易维护。
2025-07-05 08:33:20
748
原创 C 数组
C语言数组是存储固定大小、相同类型元素的顺序集合。数组通过连续内存地址存储元素,使用索引访问(从0开始)。声明格式为type arrayName[size],如double balance[10]。数组可以逐个或整体初始化(如balance[]={1.0,2.0})。数组名代表首元素地址,可通过指针操作。重要概念包括多维数组、数组参数传递、函数返回数组等。示例展示了数组声明、赋值和遍历输出。数组是C语言中组织和管理批量数据的基础数据结构。
2025-07-05 08:32:23
478
原创 C 作用域规则
摘要:C语言变量分为局部变量、全局变量和形式参数。局部变量在函数内声明,仅在该函数内有效;全局变量在函数外声明,整个程序可访问,若与局部变量同名则优先使用局部变量;形式参数作为函数内的局部变量处理。全局变量存储在静态区,系统自动初始化;局部变量存储在栈区,需手动初始化。正确初始化变量可避免程序出现意外结果。
2025-07-05 08:31:48
578
原创 C 函数
C语言函数概述:函数是执行特定任务的代码块,每个程序至少包含一个main()函数。函数由声明、定义和调用三部分组成:声明告知编译器函数名称、返回类型和参数;定义包含实际执行代码;调用则触发函数执行。函数可接受参数并返回值,参数传递方式包括传值调用(不影响实参)和引用调用(通过指针操作实参)。标准库提供了strcat()、memcpy()等常用函数。函数结构包括返回类型、函数名、参数列表和函数体,通过合理划分函数可使程序逻辑更清晰。示例展示了max()函数的定义与调用过程,演示了如何比较两个数并返回最大值。
2025-07-04 09:01:19
372
原创 C 循环
《C语言循环结构及控制语句概述》 C语言提供多种循环结构实现代码重复执行:1)while循环先测试条件再执行;2)for循环通过变量管理简化重复流程;3)do...while循环至少执行一次后检测条件。循环支持嵌套使用,并可通过break(立即退出)、continue(跳过本次迭代)、goto(跳转,不推荐)控制执行流程。特别地,for(;;)结构常被用作无限循环,需手动终止(如Ctrl+C)。这些控制结构为程序员提供了灵活的代码执行路径管理能力。
2025-07-04 08:34:04
321
原创 C 判断
C语言的判断结构包括多种条件语句:if语句用于布尔表达式为真时执行代码;if...else可处理真假两种情况;嵌套if和switch语句支持多重条件判断;三元运算符?:是if...else的简洁替代形式。实例展示了用三元运算符判断数字奇偶性。C语言中非零值为true,零或null为false。
2025-07-04 08:31:54
333
原创 C 运算符
摘要: 本文系统介绍了C语言中各类运算符的使用方法,包括算术、关系、逻辑、位运算、赋值等运算符。通过具体示例演示了运算符的功能和运算规则,如a++与++a的区别、位运算符的二进制操作等。同时讲解了运算符优先级规则,并通过表达式计算实例说明优先级对运算结果的影响。文中包含大量代码示例,如通过printf输出各类运算符的运算结果,帮助读者直观理解不同运算符的具体应用场景和运算效果。
2025-07-03 08:42:45
495
原创 C 存储类
摘要:C语言提供四种存储类定义变量/函数的作用域和生命周期:1) auto(默认局部变量存储类);2) register(建议将频繁使用的局部变量存储在寄存器中);3) static(使局部变量在函数调用间保持值,或限制全局变量仅当前文件可见);4) extern(声明在其他文件中定义的全局变量/函数)。static修饰的局部变量不会被重复初始化,而extern则用于多文件编程时共享全局变量。这些存储类通过控制变量存储位置和可见性来优化程序性能和组织结构。
2025-07-03 08:41:19
236
原创 C 常量
摘要:常量是程序中的固定值,分为整数、浮点、字符和字符串常量。整数常量可带基数前缀和后缀;浮点常量支持小数和指数形式;字符常量用单引号包含,支持转义序列;字符串常量用双引号包含。C语言中可用#define预处理器或const关键字定义常量,推荐使用大写字母命名。常量一旦定义后不可修改。
2025-07-03 08:40:21
772
原创 C 变量
变量定义就是告诉编译器在何处创建变量的存储,以及如何创建变量的存储。变量定义指定一个数据类型,并包含了该类型的一个或多个变量的列表,如下所示:在这里,type必须是一个有效的 C 数据类型,可以是 char、w_char、int、float、double 或任何用户自定义的对象,可以由一个或多个标识符名称组成,多个标识符之间用逗号分隔。下面列出几个有效的声明:double d;行声明并定义了变量 i、j 和 k,这指示编译器创建类型为 int 的名为 i、j、k 的变量。
2025-07-02 08:45:50
588
原创 C 数据类型
在 C 语言中,数据类型指的是用于声明不同类型的变量或函数的一个广泛的系统。变量的类型决定了变量存储占用的空间,以及如何解释存储的位模式。void数组类型和结构类型统称为聚合类型。函数的类型指的是函数返回值的类型。在本章节接下来的部分我们将介绍基本类型,其他几种类型会在后边几个章节中进行讲解。
2025-07-02 08:44:56
520
原创 C 程序结构
include <stdio.h> int main() { /* 我的第一个 C 程序 */ printf("Hello, World!请确保您的路径中已包含 gcc 编译器,并确保在包含源文件 hello.c 的目录中运行它。接下来让我们看看如何把源代码保存在一个文件中,以及如何编译并运行它。
2025-07-02 08:37:20
456
原创 C 环境设置
如果您使用的是 Mac OS X,最快捷的获取 GCC 的方法是从苹果的网站上下载 Xcode 开发环境,并按照安装说明进行安装。是基于浏览器的集成式开发环境,支持绝大部分编程语言,包括 HTML5、PHP、Python、Java、Ruby、C/C++、.NET 等等,无需下载安装程序,一键切换开发环境。最常用的免费可用的编译器是 GNU 的 C/C++ 编译器,如果您使用的是 HP 或 Solaris,则可以使用各自操作系统上的编译器。为了在 Windows 上安装 GCC,您需要安装 MinGW。
2025-07-01 10:28:43
727
原创 C 简介
C 语言是一种通用的高级语言,最初是由丹尼斯·里奇在贝尔实验室为开发 UNIX 操作系统而设计的。C 语言最开始是于 1972 年在 DEC PDP-11 计算机上被首次实现。在 1978 年,布莱恩·柯林汉(Brian Kernighan)和丹尼斯·里奇(Dennis Ritchie)制作了 C 的第一个公开可用的描述,现在被称为 K&R 标准。UNIX 操作系统,C编译器,和几乎所有的 UNIX 应用程序都是用 C 语言编写的。由于各种原因,C 语言现在已经成为一种广泛使用的专业语言。
2025-07-01 10:28:00
668
原创 C 语言教程
C 语言是一种通用的、面向过程式的计算机程序设计语言。1972 年,为了移植与开发 UNIX 操作系统,丹尼斯·里奇在贝尔电话实验室设计开发了 C 语言。C 语言是一种广泛使用的计算机语言,它与 Java 编程语言一样普及,二者在现代软件程序员之间都得到广泛使用。当前最新的C语言标准为 C11 ,在它之前的C语言标准为 C99。
2025-07-01 10:27:27
238
原创 Bootstrap5 滚动监听(Scrollspy)
滚动监听(Scrollspy)插件,即自动更新导航插件,会根据滚动条的位置自动更新对应的导航目标。其基本的实现是随着您的滚动。
2025-06-30 14:12:29
1177
原创 Bootstrap5 滚动监听(Scrollspy)
滚动监听(Scrollspy)插件,即自动更新导航插件,会根据滚动条的位置自动更新对应的导航目标。其基本的实现是随着您的滚动。
2025-06-24 14:28:27
909
原创 Bootstrap5 消息弹窗(Toasts)
Bootstrap5 弹窗 (Toasts) 是一种轻量级的通知组件,用于在页面的角落或底部显示临时性的信息、通知或警告。弹窗通常用于向用户显示短期消息,比如成功消息、错误消息、警告或其他通知。弹窗可以在页面的不同位置显示,包括左上角、右上角、左下角、右下角以及页面底部中央。
2025-06-24 14:26:04
667
基于vue的网盘搜索源码 电视直播 Alist聚合播放.zip
2025-07-02
跑腿小程序智能派单系统派单同城配送校园跑腿预约取件用户端+骑手端全开源.zip
2025-07-02
Thinkphp+Uniapp多端商城系统源码 分销系统源码 H5小程序APP支持DIY模板直播分销.zip
2025-07-02
最新2025宝塔API 一键建站系统源码 企业级建站系统 傻瓜式建站系统.zip
2025-07-02
高级SEO化在线检测分析源码,获得更高收录.zip
2025-07-02
蓝盾发卡商城授权源码 发卡系统商场平台 域名防封+TG通知 前端html+后端php.zip
2025-07-02
最新2025AI源码开源版 chat开源版 人工智能开源代码 AI翻译 语音图生.zip
2025-07-02
最新域名出售交易平台源码修复版 域名买卖网平台 域名转让交易平台.zip
2025-07-02
tgAI全自动翻译智能人工客服 客服机器人源码 带视频搭建教程.zip
2025-07-01
视频知识付费源码 fastadmin框架短视频系统 视频知识付费源码 附带小说系统.zip
2025-07-05
智慧物业管理平台 Java大型智慧物业管理系统源码 物业办业主版物联网对接.zip
2025-07-05
在线教育资源极品模板 内容付费管理系统 (PHP内容知识付费系统)支持多种付费模式.zip
2025-07-05
网购商城系统源码 网店买卖交易平台 积分兑换商城系统源码.zip
2025-07-04
个人码免签支付系统源码 个人免签支付接口平台 微信支付平台.zip
2025-07-04
更新版微信群导航系统源码2.0 微信自动拉群软件 全开源 带后台 精准获客神器.zip
2025-07-04
PHP手机端商城源码 H5商城系统 抖音商城小店源码 附教程.zip
2025-07-03
TQGame在线小游戏联机平台1.3.2联机双人生存游戏 双人游戏联机.zip
2025-07-01
精品源码家政上门预约小程序源码功能强大,带前端后台,有教程,亲测可运行!!
2025-07-12
Annie简约发卡系统 1.0开源版.zip
2025-07-12
导航下载页自适应系统源码带后台.zip
2025-07-12
发卡小程序,口令小程序,多功能小程序源码发卡小程序发卡小程序源码流量主广告.zip
2025-07-12
OneAPI企业级接口管理系统.zip
2025-07-12
聚合短视频解析去水印源码(有后台)自适应双端.zip
2025-07-12
最新团购源码商城 虚拟商城系统源码 全开源.zip
2025-07-11
COS域名防红防封强开源码(内置api接口).zip
2025-07-11
最新聚合短视频解析去水印系统源码 带后台 自适应双端.zip
2025-07-11
玖玖NFT数字藏品源码 收藏平台系统源码.zip
2025-07-11
全新漂流瓶系统源码 全开源 新UI 附安装教程.zip
2025-07-11
最新门店扫码点餐系统源码 小程序点餐系统 点餐APP uniapp多端接入.zip
2025-07-11
自采集在线电脑壁纸系统源码v2.0 自适应双端.zip
2025-07-11
COS域名防红防封强开源码 域名发洪系统源码 带自动生成 检测 长期有效.zip
2025-07-07
发卡小程序源码 口令小程序 多功能小程序源码发卡小程序.zip
2025-07-07
仿WX电脑版即时通讯 网页即时聊天室 聊天源码聊天APPimPCH5安卓苹果.zip
2025-07-05
素材资源下载站源码 高端网站模板源码 帝国CMS7.5 仿模板堂柒喜模板建站网.zip
2025-07-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人