自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C语言:预处理

库文件本质上是经过编译后生成的可被计算机执行的二进制代码。但注意库文件不能独立运行,库文件需要加载到内存中才能执行。库文件大量存在于Windows,Linux,MacOS等软件平台上。存储在外存储器(磁盘、U盘、移动硬盘等)上的数据集合,是操作系统管理数据的基本单位。

2025-08-05 22:00:00 1068

原创 C语言综合案例《学生成绩管理系统》

本文实现了一个基于指针的学生成绩管理系统,主要功能包括:1)添加学生信息(学号+3门成绩);2)显示所有学生信息;3)计算每科平均分/最高分/最低分;4)按科目成绩排序(升/降序);5)按学号查找学生。系统采用二维数组存储数据,使用指针操作数组,通过内存函数处理数据交换,包含输入校验机制。核心算法包括冒泡排序和线性查找,通过模块化设计实现各功能。程序支持最多50名学生,学号为4位数字,成绩范围0-100分,具有完整的数据校验功能。

2025-08-04 06:00:00 270

原创 C语言:动态内存分配,内存操作

本文介绍了C语言中动态内存分配和相关内存操作函数。主要内容包括:1. 动态内存分配函数:malloc(分配未初始化内存)、calloc(分配并清零内存)、realloc(调整内存大小)和free(释放内存)的使用方法及注意事项;2. 内存操作函数:memset(内存填充)、memcpy/memmove(内存拷贝)、memcmp(内存比较)和memchr/memrchr(内存查找)的功能和使用场景。文章强调内存分配后需初始化、避免内存泄漏和悬垂指针,并提供了详细的代码示例说明各函数的正确使用方法。

2025-08-03 23:00:00 720

原创 C语言:构造类型

本文系统介绍了C语言中构造类型(结构体和共用体)的定义与使用。主要内容包括: 结构体类型:详细讲解了结构体的定义方式(常规/匿名)、变量定义与初始化、成员访问方法(.和->操作符)、结构体数组的定义与访问,以及结构体指针的使用。 共用体类型:说明了共用体与结构体的区别,共用体成员共享内存空间的特性,以及共用体的基本使用方法。 内存对齐:深入分析了结构体字节对齐的原因、默认对齐规则,以及通过#pragma pack指令自定义对齐方式的方法。 柔性数组:介绍了柔性数组作为结构体最后一个成员的特性及其动态内

2025-08-03 18:51:11 888

原创 C语言:指针(4)

本文主要讲解了C语言中指针的高级应用及相关概念。首先介绍了二级指针的定义和使用方法,包括其与指针数组的等效性以及与二维数组的区别。其次详细讲解了main函数的原型、常量指针与指针常量的区别、野指针/空指针/空悬指针的概念及危害。文章还阐述了void与void*的类型差异,并系统介绍了C语言内存管理机制,包括栈、堆、数据段和代码段的特点及使用场景。最后提供了多个指针相关的练习题,涵盖数组操作、字符串处理、内存申请等实际应用场景。

2025-07-30 21:11:43 763

原创 C语言:指针(3)

本文主要讲解了C语言中指针的高级应用,包括指针数组、数组指针、字符指针、函数指针和二级指针等相关概念。通过多个代码示例详细说明了如何用指针访问一维和二维数组元素,比较了字符数组与字符指针的区别,并演示了指针函数和函数指针的具体用法。文章还介绍了回调函数的实现原理,以及二级指针的定义和使用场景。最后强调了指针数组与二维数组在内存访问方式上的重要差异,帮助读者深入理解C语言指针的核心概念和实际应用技巧。

2025-07-29 15:59:19 1201

原创 C语言:指针(2)

本文主要介绍了C语言中指针变量与数组的相关操作。首先阐述了指针变量的基本概念及其作为函数参数时的两种交换方式(交换指向和交换数据),然后详细讲解了指针变量如何指向数组元素,包括指针运算规则和数组遍历的多种方法(下标法、指针法)。接着分析了数组名作为函数参数的四种情况,并通过数组反转案例进行演示。最后介绍了数组指针(指向一维/二维数组的指针)与指针数组的区别,特别说明了一维数组指针指向二维数组的推荐写法。文章通过大量代码示例,系统梳理了指针与数组结合使用的各类场景和注意事项。

2025-07-27 19:20:39 1042

原创 C语言:指针

本文系统介绍了C语言中指针的基本概念与使用。主要内容包括:1)内存地址与字节的概念,基地址的定义;2)指针的本质是地址,指针变量用于存储地址;3)32/64位系统中指针尺寸差异;4)直接访问与间接访问内存的方式;5)指针变量的定义、初始化及赋值方法;6)指针运算符&和*的使用;7)通过案例演示指针在变量交换、排序等场景的应用。文章强调指针类型必须与指向对象一致,并详细解释了指针操作的两种方式:改变指针指向或修改指向对象的值。

2025-07-27 19:17:37 1101

原创 C语言函数

函数不允许嵌套定义,但是允许嵌套调用。示例:函数嵌套调用void a()...void b()a();//函数嵌套调用int main()错误示例:函数嵌套定义//函数嵌套定义void a()void b()在被调函数内主动去调用其他函数,这样的函数调用形式,称为嵌套调用。在一个函数中,直接或者间接调用了函数本身,就称之为递归调用。本质上还是函数的嵌套调用。//直接递归a() → a();//间接调用当使用数组作为函数的实参时,形参应该使用数组形式或者指针变量来接收。

2025-07-27 19:14:12 1040

原创 C语言:函数

C语言函数内容提要 函数是C语言的基本组成单元,用于实现特定功能的独立代码模块。主要内容包括: 函数概念 函数可实现代码复用、模块化设计,便于维护调试 程序由main函数和其他函数组成 函数分类 按来源:库函数(如printf)和自定义函数 按参数:无参函数和有参函数 按返回值:有返回值函数和void函数 函数定义与调用 定义语法:返回类型 函数名(形参列表) {函数体} 形参接收实参传递的值,C语言采用值传递机制 调用方式:函数语句、表达式或作为其他函数的参数 返回值与声明 返回值类型应与return语句

2025-07-22 17:40:07 1031

原创 C语言字符串相关函数

本文总结了C语言中字符串和数组的基本操作及相关函数,包括输入输出方法(scanf、fgets、printf、fputs等)、字符串处理函数(strcat拼接、strcpy拷贝、strcmp比较、strlen长度计算等)。通过学生成绩管理系统等案例,演示了字符串的实际应用技巧,如单词统计、字符串比较等。重点说明了不同输入输出函数的区别及注意事项,例如scanf遇到空格会终止输入,而fgets能读取含空格的字符串。文章还强调了字符串处理中的常见问题,如数组越界、'\0'结束符处理等,为C语言字符串操作提供了实用

2025-07-21 21:27:46 873

原创 C语言:二维数组和字符数组

本文介绍了二维数组和字符数组的基本概念与应用。二维数组本质上是行列式的数据结构,可通过嵌套循环遍历,初始化时行数可省略但列数必须指明。字符数组用于存储字符串数据,初始化时未赋值部分自动补'\0'。文章通过学生成绩管理、矩阵转置、字符串输出等案例演示了数组的实际应用,并详细讲解了字符数组的多种表示方法及字符串结束标志的重要性。同时强调了字符数组与字符串常量的区别,以及字符串长度与数组长度的不同概念。

2025-07-20 18:25:22 1120

原创 C语言 :一维数组和冒泡排序

本文介绍了数组的基本概念和排序算法。数组是相同类型数据的集合,通过下标访问元素,下标从0开始。一维数组的定义包含数据类型、数组名和容量,支持部分初始化和自动大小分配。文章通过斐波拉契数列和日期计算案例说明数组应用。重点讲解了冒泡排序算法,包括排序思想、实现步骤和代码示例,展示了如何通过双重循环和临时变量完成元素交换。排序过程涉及轮数控制和优化标记,可根据需求选择升序或降序排列。

2025-07-20 18:20:52 857

原创 C语言循环结构break和continue;综合案例《猜拳游戏》

本文介绍了循环控制语句break和continue的功能及使用场景。break用于完全终止循环(或switch语句),而continue仅跳过当前循环的剩余部分进入下一次循环。两者都只能作用于单层循环结构。文章通过考试及格判断和偶数和计算案例演示了它们的用法,并提供了跳出多层循环的解决方案(标志位法)。最后展示了一个完整的猜拳游戏实现,综合运用了循环控制、随机数生成和用户输入处理等技术。这些控制语句能有效管理程序流程,提升代码效率。

2025-07-20 18:16:15 577

原创 C语言循环结构

代码在满足某种条件的前提下,重复执行,就叫做循环结构。

2025-07-20 18:08:54 718

原创 C语言分支结构

用逻辑运算符将关系表达式或者逻辑表达式链接起来构成有意义的算式称为逻辑表达式。逻辑表达式中各种运算符的优先级顺序:①!(逻辑非)②算术运算符:

2025-07-14 20:42:34 1402

原创 C语言 运算符和流程控制

《C语言核心内容提要》摘要: 本文系统梳理了C语言编程的核心知识点,包括: 位运算:详细解析了左移(<<)和右移(>>)操作,涵盖无符号/有符号数的移位规则及补位机制 程序结构:介绍三种基本结构(顺序、分支、循环)及其流程图表示方法 语句分类:控制语句、函数调用语句等5类C语句的语法与用法 输入输出:重点讲解printf/scanf函数,包括格式控制符(%d,%f等)、缓冲区机制及数据对齐技巧 数据类型处理:整型、字符型、浮点型等不同数据的格式化输出规范 全文以实例驱动,涵盖移位运算

2025-07-13 20:38:14 1225

原创 C语言:运算符

摘要:C语言运算符包括算术、赋值、关系、逻辑、逗号和位运算等类型。算术运算符遵循数学运算优先级,支持混合运算时自动类型转换(隐式转换)或强制转换(显式转换)。++/--运算符用于变量自增/自减,赋值运算符从右向左执行并可能伴随类型转换。关系运算符返回布尔值(0/1),逻辑运算符具有短路特性。逗号运算符按顺序求值并返回最后一个表达式结果。位运算直接操作二进制位,常用于底层开发。运算时需注意运算符优先级和结合性,避免未定义行为。

2025-07-10 19:39:33 1491

原创 C语言变量,基本数据类型

本文摘要:C语言变量是指在程序运行过程中值可变的量,代表内存中的一个存储单元。变量定义包括数据类型、变量名和初始值,命名规则要求以字母或下划线开头。变量存储数据时,整型以补码形式存放,浮点型按指数形式存储。字符变量存储ASCII码值,字符与整型数据可通用。变量使用需遵循"先定义后使用"原则,未初始化变量将产生随机值。文章还详细介绍了各种数据类型(整型、浮点型、字符型)的存储格式和转换规则,并通过代码示例演示了变量的定义、赋值和使用方法。

2025-07-09 19:36:49 1083

原创 C语言概述,C语言数据类型,常量,变量

C语言基础概述:C语言是一种高效、可移植性强的结构化编程语言,支持底层硬件操作。计算机由硬件(CPU、内存等)和软件(系统、应用软件)组成,遵循存储程序的工作原理。C程序开发包括编辑、编译、运行三个阶段,编译过程分为预处理、编译、汇编和链接。程序结构包含预处理指令、主函数main(唯一入口)、注释等,需遵循编码规范(缩进、命名等)。数据类型分为基本类型(整型、浮点型等)和构造类型,常量包括整型、浮点型、字符型等,符号常量通过#define定义提升可读性。C语言强调结构化编程,注重代码可维护性和执行效率。

2025-07-08 19:53:46 1270

原创 linux基础Vim编辑器,网络指令,进程,磁盘指令,文件挂载指令

本文介绍了Linux基础操作中的VIM编辑器使用技巧、网络及进程管理指令、磁盘操作命令等核心内容。VIM部分详细讲解了光标移动、文本编辑、查找替换等操作;网络指令包括ping测试、ifconfig配置、netstat状态查看;进程管理涵盖ps查看、top监控和kill终止;磁盘操作涉及du容量查询和df分区检查。此外还讲解了文件系统挂载(mount)与卸载(umount)方法,以及虚拟机三种网络模式(桥接、NAT、仅主机)的特点,为Linux系统管理和开发应用提供了基础操作指南。

2025-07-07 20:36:54 1136

原创 Linux基础:通配符,压缩,解压,打包,VIM编辑

Linux文件操作与Vim编辑器摘要 通配符:支持*(任意字符)、?(单个字符)、[](字符范围)、{}(多模式匹配)等操作,用于文件批量处理。 压缩工具: gzip:生成.gz文件,支持递归压缩(-r),压缩后删除源文件 bzip2:生成.bz2文件,压缩率更高,支持保留源文件(-k) tar:打包工具,结合-z/-j选项实现gzip/bzip2压缩 zip:需安装,同时支持打包压缩,保留源文件 Vim编辑器: 三种模式:命令模式(默认)、输入模式(i)、末行模式(:) 安装:sudo apt-get i

2025-07-05 20:48:45 1033

原创 Linux基础:用户管理,用户组管理,权限管理

本文摘要: Linux系统用户和权限管理操作指南,包含以下核心内容: 密码修改:使用sudo passwd修改root密码 用户切换:sudo-i(无密码)/su root(有密码)切换为root,su用户名切换回普通用户 用户管理: 添加用户(useradd) 查看用户组(groups) 删除用户(userdel -r/-f) 密码管理(passwd) 用户修改(usermod) 用户组管理:groupadd/groupdel/groupmod操作 权限管理: chown修改文件所有者 chmod修改权限

2025-07-05 12:54:15 1000

原创 Linux基础目录操作

今天我们来学习一下Linux的基础目录操作,分别有pwd,ls,cd,mkdir,rmdir,touch,rm,cp,mv。说明:删除空目录,*是通配符,例如test*就是匹配为开头的所有文件,*test就是匹配以test为末尾的的所有文件。说明:创建新的文件,如果文件已经存在,就会修改其访问时间和修改时间。mkdir -p:可以创建多层目录,若中间目录不存在,会自动创建。ls -l:详细显示指定路径下的所有文件和目录。ls -a:显示指定路径下所有的文件和目录。说明:显示指定路径下的目录或者文件。

2025-07-03 15:41:37 173

原创 Linux 基础

Linux基础

2025-07-01 17:32:32 168 2

空空如也

空空如也

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

TA关注的人

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