- 博客(79)
- 收藏
- 关注
原创 MATLAB软件入门——数学建模大赛专用
运算符名称规则维度要求矩阵乘法行乘列求和A的列数 = B的行数.*点乘对应位置相乘维度必须完全相同矩阵右除等价于乘逆矩阵涉及线性方程组求解./点除对应位置相除维度必须完全相同标量运算A * 2 % 每个元素乘以2A / 2 % 每个元素除以2A .* 2 % 同上A ./ 2 % 同上。
2026-09-07 09:38:50
286
原创 python从入门到数据可视化————数学建模竞赛专用
字符串是由字符构成的有序序列不支持动态修改(即字符串是不可变对象可使用一对单引号、双引号、三单引号或三双引号 作为定界符,不同定界符之间可以互相嵌套。s3 = '''你好!中国'''"""练习:表示I'm OK!") # 方法1:双引号包裹单引号') # 方法2:使用转义字符函数是组织好的、可重复使用的代码块。使用函数可以提高代码的模块性和重复利用率。"""向指定的人问好"""greet("Alice") # 输出: Hello, Alice!本篇长文从基础数据类型与运算符。
2026-09-07 09:38:06
237
原创 第十四章 Java网络编程详解
HTTP协议是一种简单的"一问一答"式的应用层通信协议。"一问"就是客户端发送给服务器端的请求;"一答"就是服务器在处理请求后返回给客户端的结果。HttpClient 类:用于对HTTP协议的客户端进行封装 类:用于对从客户端发送给服务器的请求数据进行封装 接口:用于对从服务器返回给客户端的响应结果进行封装方法功能创建一个HttpClient对象,这个对象实现了HTTP客户端的基本功能。
2026-08-26 22:39:39
15
原创 第十三章 Java多线程编程详解
现代CPU一般都是多核CPU。所谓多核是指在一颗CPU芯片中有多个可执行运算任务的核心单元,并且一个核心单元可执行一个或多个运算任务。为了与CPU的多核技术同步,现代编程语言一般也都支持多线程编程:将一个程序划分为包含多个完成特定任务功能的执行单元,这些执行单元相互协同完成程序的整体功能。程序中每个完成特定任务功能的执行单元称为线程。匹配于CPU的多核技术,可将程序中不同线程安排到不同的CPU核心去执行,从而在有效提升CPU利用率的同时也提高了程序的执行效率。Java语言对多线程编程提供了非常好的支持。
2026-08-26 21:56:07
113
原创 第十二章 Java反射和注解深度解析
Java反射机制和注解机制是设计和编写高级程序的重要技术。Java反射机制的一个典型应用就是:在IDEA编程环境中,当输入某个对象变量的名字时,IDEA可以立即显示该对象包括的方法和属性供编码者选择,从而减轻对编码者的记忆要求。Java注解为编写高级程序框架提供了支撑,典型的Spring框架就大量使用了Java注解技术。本章将对Java的反射和注解机制进行系统介绍。Java的编码者可以根据需要自定义注解,并通过自定义注解完成某些特定的功能。为了定义自定义注解,Java提供了一些称为元注解。
2026-08-20 15:52:32
13
原创 第十一章 Java文件IO输入输出操作详解
程序运行的结果可以直接显示在屏幕上,但更多的情况是将程序运行的结果保存到文件中;类似的,需要程序处理的原始数据可以通过键盘输入,但是更多的情况是从文件中读取原始数据。这些操作都涉及到文件的读写。本章将系统讲解Java中的文件基本操作、字节流读写、字符流读写、对象数据读写,并通过通讯录案例展示综合运用。存储于文件中的数据都是以字节形式存在的,这些字节数据一个字节接着一个字节地存储于文件中,就像流水一样连续存在,因此说文件是一个字节流是非常形象的比喻。字节流不仅可以存在于文件中,也可以存在于内存中。
2026-08-20 11:39:49
130
原创 第九章 Java异常及程序调试技术
当内置异常类无法满足需求时,可继承Exception或其子类创建自定义异常。配套枚举类:Age,Salary。
2026-08-18 15:42:54
366
原创 第八章 Java基础类深度解析
Object类:所有类的基类包装类:基本类型的对象化大数据类:高精度与大数值计算字符串类:不可变与可变字符串的选择随机数生成:从Random到RandomGenerator的演进日期时间处理:Date、Calendar、SimpleDateFormat的使用掌握这些基础类,将为后续深入学习Java集合框架、IO流、多线程等高级特性打下坚实基础。
2026-08-17 23:43:50
16
原创 C语言进阶:循环嵌套、随机数与猜数游戏实战
知识点核心要点循环嵌套外层控制整体结构,内层控制细节;注意内层变量初始化。随机数生成使用初始化种子,rand() % 范围 + 偏移控制范围。猜数游戏结合循环、条件判断和随机数,是初学者极佳的练手项目。for循环将初始化、条件、更新集中在一行,代码更紧凑;注意分号不可省略。掌握这些基础后,你可以尝试:用for重写九九乘法表。实现一个“石头剪刀布”人机对战游戏。生成不重复的随机数序列(洗牌算法)。
2026-08-17 23:17:57
262
原创 C语言零基础入门:循环控制与数据类型详解
循环变量更新:务必在循环体内改变循环变量,否则容易死循环。累乘初始化:累乘变量应初始化为 1,而非 0。break跳出整个循环,continue跳过本次剩余语句。数据类型选择:大数运算使用long long,字符参与算术运算时会自动提升为int。sizeof 是运算符:不是函数,常用于确定数组长度或跨平台兼容性。
2026-08-16 22:35:11
180
原创 第七章 Java深入理解枚举类型
考虑这样一种应用:定义某种类型的变量,并且这个变量只能被赋予某些指定的值,如果所赋予的值不是事先规定的特定值,那么Java编译器就能直接指出这个错误。可以看到,Staff类的gender属性使用Gender枚举类型、workdays属性使用WeekDay枚举类型的数组,从而将属性的取值严格限定在枚举值的范围内。的枚举值时,除了可以定义简单的枚举值之外,还可以为每个枚举值设定需要的属性,也就是说,可以通过为枚举值设定属性进一步地对枚举值进行附加说明。每个员工都是有性别的,每个员工也都是有工作时间的。
2026-08-16 22:19:49
122
原创 第六章 Java深入理解接口、函数式接口与lambda表达式
考虑这样一个应用场景:如果接口中定义了多个方法,其中某个方法对所有实现了这个接口的类来说实现逻辑都是一致的,那么就没有必要在每个实现类中都重复实现这个方法,而是可以将该方法的实现直接放置在接口定义中。接口的私有方法,顾名思义,就是在接口中定义的、只能被接口的默认方法使用的、被 private 访问限定符修饰的方法。这里所说的”有且只有一个抽象方法”,并不是说这类接口只有抽象方法,而是指在有且只有一个抽象方法的同时,还可以包含其他类型的方法,例如接口的默认方法、静态方法或私有方法。
2026-08-15 17:34:55
28
原创 【C语言基础】常量、选择结构与运算符全解析
常量:字面常量、const常量、宏常量、枚举常量四种方式各有适用场景。选择结构:if、if-else、if-else if-else 三种分支形式,灵活应对不同判断需求。运算符:关系运算符返回 0/1,逻辑运算符具备短路特性,理解它们对写出高效代码至关重要。ASCII 码:字符本质是整数,掌握 ASCII 码规律可以轻松实现大小写转换等操作。学习建议:多动手敲代码,尝试修改示例中的条件和数值,观察输出变化,加深理解!
2026-08-14 23:30:25
167
原创 【C语言基础知识点全解析:从入门到实战】
本文系统地介绍了 C 语言的核心概念与基础语法,旨在帮助初学者构建扎实的编程基础。我们从 C 语言的基础概念入手,了解了源文件与头文件的作用,并编写了第一个 C 程序。在数据类型与内存部分,我们学习了基本数据类型(如 int、char、float、double)及其内存占用,以及 signed/unsigned、short/long 等修饰符的使用。
2026-08-08 20:44:05
174
原创 第五章 Java继承和多态
第一步:第二步:第三步:编写父类代码(列如:Person类的代码)/**人类基本信息类包含姓名、身份证号和地址信息*/// 成员变量// 姓名// 身份证号码// 居住地址/**无参构造函数初始化所有属性为"Unknown"*//**全参构造函数@param name 姓名@param id 身份证号@param address 居住地址*//**设置姓名@param name 要设置的姓名*//**设置身份证号。
2026-08-08 15:32:06
43
原创 第四章 Java中的类与对象
还记得那句老话吗?“物以类聚,人以群分”。看到四个轮子、能跑的,我们叫它“汽车”看到能住人的大房子,我们叫它“建筑物”在编程里,我们也需要给“东西”分类。这个“分类的模板”就叫类(Class)。一个类,就是对一类事物共同特征的抽象描述。比如所有“车”都有品牌、轮子数、座位数;所有“学生”都有姓名、学号、联系方式。// 属性(描述“长什么样”)// 方法(描述“能干什么”)来,我们动手定义两个类试试!VehicleStudent每次创建对象后都要手动设置一堆属性,太麻烦了!
2026-07-23 17:07:12
17
原创 第三章 下 Java数组与函数:高效编程双利器
在Java中,定义数组需要两个步骤:第一步,定义数组变量的名称和数据类型;第二步,确定数组的元素个数。定义数组变量的名称和数据类型的一般形式是:数据类型[] 数组变量名;这里仅仅完成了第一步,也就是只定义了数组的数据类型和变量名,并没有说明这个数组包含多少个元素。为了说明数组的元素个数,需要使用Java的"new"关键字为数组创建存储空间。确定数组元素个数的一般形式是:数组变量名 = new 数据类型[元素个数];
2026-07-22 18:04:47
15
原创 第三章 上 Java流程控制:从顺序到循环的编程艺术
程序默认的执行方式,从上到下逐条执行用大括号{}将一组语句组织成代码块适用于线性、无分支的业务逻辑。
2026-07-22 17:44:40
14
原创 第二章Java 基本运算和输入输出:从数据类型到内存机制全解析
本文摘要:文章系统介绍了Java编程基础,主要包括:1. Java程序结构:由包、类和函数组成,演示了项目创建流程;2. 数据类型:详细说明8种基本数据类型及字面常量表示方法;3. 变量使用:涵盖定义、命名规则、赋值及内存本质;4. 运算符:包括算术、关系、逻辑和三元运算符及优先级;5. 输入输出:Scanner类的使用和字符串拼接技巧;6. 综合练习:通过工资计算案例实践基础语法应用。全文配有代码示例和运行结果分析,强调编程规范与最佳实践。
2026-07-21 17:42:42
25
原创 第一章建立Java程序开发
本文介绍了Java语言的基本概念和开发环境搭建。主要内容包括:1. Java语言特点:简单易学、面向对象、可移植、支持多线程等;2. 开发环境配置:JDK安装和IntelliJ IDEA工具的使用;3. 第一个Java程序:详细说明了HelloWorld程序的创建和运行过程;4. Java程序运行机制:解释编译执行的两个阶段;5. 实践练习:指导读者完成开发环境安装和图形输出练习。文章为Java初学者提供了完整的入门指导。
2026-07-20 20:28:53
216
原创 MySQL数据库核心概念与体系结构
本文系统介绍了MySQL数据库的基础概念与技术演进,主要内容包括:1. 核心定义解析,区分数据、数据库和数据库管理系统(DBMS)三者的概念与功能;2. SQL语法规范,强调大小写规范、注释使用和格式要求等最佳实践;3. 数据管理技术发展三阶段对比(人工管理→文件系统→数据库系统),突出数据库系统在结构化、共享性和独立性方面的优势;4. 数据库系统层次架构,说明从用户到硬件的完整技术栈,着重DBMS作为核心中间件的承上启下作用。这些内容是构建数据库知识体系的重要基础。
2026-07-20 19:55:41
17
原创 MySQL学习前言:关于MySQL的历史与当下学习的必要性
MySQL发展历程与学习价值分析 摘要:MySQL自1995年诞生以来,从基础报表工具发展为全球主流关系型数据库,经历了开源转型、Sun/Oracle收购等关键阶段,8.0版本实现了SQL标准兼容性飞跃。作为互联网基础设施核心组件,MySQL支撑着Facebook、YouTube等海量业务,在AI时代仍保持60%以上结构化数据存储的核心地位。其开源特性、多存储引擎架构和高并发性能,使其成为开发者必备技能。掌握MySQL不仅能够提升数据管理能力,还能为大数据分析、机器学习特征工程提供支持,是职业发展的关键技术
2026-07-20 19:17:00
25
原创 C语言线性表完全指南:从基础到实战应用
线性表是由n(n≥0)个数据特性相同的元素构成的有限序列。当n=0时,称为空表。对于非空的线性表,它具有以下特点:存在唯一的一个被称为"第一个"的数据元素(头节点)存在唯一的一个被称为"最后一个"的数据元素(尾节点)除第一个元素外,结构中的每个数据元素均只有一个前驱除最后一个元素外,结构中的每个数据元素均只有一个后继顺序表是用一组连续的内存单元依次存储线性表的各个元素,通过数组来实现。int length;} SeqList;链表通过指针将一组零散的内存块串联起来。
2026-02-10 16:33:03
233
原创 数据结构与算法入门:从C语言基础到内存管理完全指南
结构体允许将不同类型的数据组合成一个整体。int age;// 使用strcpy(stu1.name, "张三");数据结构与算法的学习是一场从“看得见代码”到“看得见思想”的修行。它开始可能充满挑战,但每当你用自己实现的链表优雅解决问题,或将O(n²)算法优化到O(n log n)时,那种成就感无可比拟。记住三点多画图:将抽象概念可视化多调试:观察程序运行时的状态变化多思考:不断问自己“有没有更好的方法”本篇介绍了数据结构和算法的基本概念及C语言基础,接下来我们将深入探讨。
2026-02-05 18:44:04
65
原创 数据结构与算法绪论:为何学、学什么、如何避坑
数据结构与算法的学习,是一场从“看见代码”到“看见结构”,再到“看见思想”的修行。它开始时可能充满抽象与挑战(尤其是那些绕人的指针),但每当你用自己实现的一个链表优雅地解决了问题,或是将一个O(n²)的算法优化到O(n log n)时,那种豁然开朗的成就感无可替代。* 1. 编程思维的基石:数据结构教你的不是某个具体的语法,而是一种 “如何组织与操纵信息”的元能力。关注我,接下来的章节,我们将一起深入线性表的奇妙世界,从最简单的顺序表和链表开始,一步步搭建起你的算法大厦。但这门课的真正价值,远不止于此。
2026-02-03 20:59:31
80
原创 C语言进阶:结构体嵌套与传参详解,新手避坑指南!
新工资:%.2f\n", emp->name, emp->salary);struct Student stu1 = {1001, "张三", {2000, 9, 15}, 85.5};printf("城市:%s\n", emp.addr.city);printf("工资:%.2f\n\n", emp.salary);printf("员工ID:%d\n", emp.empId);{"北京", "海淀区中关村", 100080},printf("姓名:%s\n", emp.name);
2026-01-29 15:25:07
393
原创 C语言指针运算终极指南:从入门到实战,避开新手必踩的十大坑!
printf("start和end之间相隔 %td 个元素\n", distance);printf("+1后地址: %p, 值: %d\n", ptr, *ptr);printf("+2后地址: %p, 值: %d\n", ptr, *ptr);printf("初始地址: %p, 值: %d\n", ptr, *ptr);printf("字符串长度: %td\n", p - str);char_ptr++;// 移动1字节,可能指向int中间!if(p1 > p2) { // 未初始化的指针比较无意义。
2026-01-27 21:12:42
303
原创 [特殊字符]C语言必看 | 野指针:程序中的“失控导弹”,你避坑了吗?
野指针是C语言内存管理的核心挑战之一。掌握它的本质,从初始化、释放到越界检查,每一步都需谨慎。扎实的基础能让你写出更健壮、高效的代码!野指针,顾名思义,是“指向未知区域”的指针。它没有指向合法的内存空间,就像一颗失控的导弹,随时可能炸毁你的程序!今天我们来聊聊C语言中一个让初学者头疼的“隐藏杀手”——理解它,你的代码会更安全;忽略它,程序分分钟崩溃!:操作数组时超出范围,导致指针乱飞。后指针还指着原地址,但内存已失效。❌ 错误2:释放内存后继续使用。:声明后没赋值就直接使用。❌ 错误1:未初始化的指针。
2026-01-26 17:53:15
47
原创 指针,C语言的灵魂与噩梦:从入门到“放弃”的终极指南 [特殊字符]
/ 输出:a=10, b=5。printf("p存储的地址:%p\n", p);// 输出:0x7ffeedd123。printf("a的地址:%p\n", &a);printf("p指向的值:%d\n", *p);printf("a的值:%d\n", a);printf("结果:%d\n", result);
2026-01-25 12:33:56
399
原创 C语言逗号表达式完全指南:从入门到精通,避坑技巧与实战应用
define MAX(a, b) (printf("比较%d和%d\n", (a), (b)), ((a) > (b)?(a) : (b)))#define DEBUG_PRINT(x) (printf("变量" #x "的值: "), printf("%d\n", (x)), (x))(printf("a较大,"), a) : (printf("b较大,"), b);// 等价于:(c = (a + b)), (a = b)printf("%d %d\n", (a, b), c);
2026-01-10 15:13:17
609
原创 C语言“寻常算术转换“详解:隐藏的类型转换规则与实战避坑指南
在C语言编程中,数据类型转换如同现实生活中的语言翻译,让不同的数据类型能够相互"交流",而寻常算术转换正是这套翻译规则的核心。// 1/100结果为0。printf("预计人口: %.0f\n", new_population);printf("错误结果: %.0f\n", wrong_result);printf("错误结果: %ld\n", c);// 明确使用int。printf("正确结果: %ld\n", correct_c);if (i < sizeof(i)) { // i被转换为无符号数。
2026-01-09 15:54:58
901
原创 C语言表达式求值详解:从原理到实战的完整指南
printf("结果: %d\n", result);printf("结果: %.2f\n", result);// 可能输出不相等。printf("结果: %.2f\n", result);// 输出16.00。printf("结果: %d\n", result);// 解析类似 "value > 10 && value < 20" 的表达式。printf("结果: %d\n", result);printf("c的值: %d\n", c);
2026-01-08 19:54:41
588
原创 C语言结构体操作符详解:从入门到精通的全方位指南
结构体操作符是C语言中处理复杂数据结构的基石,正确掌握它们的用法对于编写高质量的程序至关重要。区分操作符使用场景:变量用点(.),指针用箭头(->)注意指针安全:始终验证指针有效性后再访问掌握嵌套访问:逐层使用正确的操作符访问嵌套成员理解内存布局:考虑对齐和填充对性能的影响操作符选择口诀结构变量用点号,指针访问箭头号;嵌套访问要细心,指针安全最重要。关注我们,获取更多C语言深度解析🔥。
2026-01-07 20:35:19
356
原创 C语言条件操作符(三目操作符)完全指南:从基础到实战应用
printf("double结果: %.2f, int结果: %d\n", result, result_int);printf("成绩:%d,等级:%s,成绩%s\n", score, level, validity);printf("三个数 %d, %d, %d 中的最大值是:%d\n", x, y, z, max);printf("三个数 %d, %d, %d 中的最小值是:%d\n", x, y, z, min);printf("%d 是 %s\n", num, result);
2026-01-05 17:45:18
377
原创 C语言逻辑操作符详解:从入门到精通,避坑指南与实战应用
if (a & b) { // 位与操作:0101 & 0011 = 0001(十进制1,为真)printf("a && b 的结果是 %d\n", a && b);printf("a || b 的结果是 %d\n", a || b);if (i++ && i++) { // 第一个i++为0(假),发生短路,第二个i++不执行。a 的结果是 %d\n",!if (x = 0) { // 错误:将x赋值为0,表达式结果为0(假)if (a || (b && c) || d) // 清晰表达逻辑关系。
2026-01-03 22:51:40
530
原创 C语言关系操作符详解:从初学到精通,避坑指南与实践应用
printf("%d == %d 的结果是 %d\n", a, b, a == b);printf("%d > %d 的结果是 %d\n", a, b, a > b);printf("%d < %d 的结果是 %d\n", a, b, a < b);if (10 == x) { // 推荐:这样即使写成if (10 = x)也会编译错误。if ((0 < x) && (x < 10)) { // 使用逻辑与运算符连接两个条件。// 等价于:int result = ((a + b) > (c - b));
2026-01-02 10:54:19
550
原创 C语言赋值操作符详解:从基础使用到避坑指南
在包含赋值操作符和其他运算符的表达式中,会先计算右侧的整个表达式,然后才执行赋值操作。正确理解和掌握赋值操作符的使用,是写出高质量C语言代码的关键一步。"a = 5"是一个赋值表达式,将5赋给a,并且表达式的值为5(非零),因此条件始终为真,这显然不是程序的本意。// 先计算3*2=6,再计算5+6=11,最后赋值。// 等价于 a = a + (5 * 2),结果为20而不是30。if (5 == a) { // 如果误写成5 = a,编译器会报错。if (a = 5) { // 错误!
2026-01-01 16:14:02
410
原创 C语言位操作符详解:从入门到实战应用
与高级语言中的逻辑操作不同,位操作直接作用于数据的二进制表示,因此在系统编程和性能优化中具有不可替代的作用。printf("解压缩后: %d, %d, %d, %d\n", a1, b1, c1, d1);// 结果为0b1000,即8。printf("压缩前: %d, %d, %d, %d\n", a, b, c, d);1. 六种基本位操作符:与(&)、或(|)、异或(^)、取反(~)、左移(<<)、右移(>>)规则:对两个操作数的每一位进行逻辑与操作,只有当两个对应位都为1时,结果才为1,否则为0。
2025-12-31 22:48:07
596
原创 C语言十大算法详解:从排序到搜索,新手避坑指南
算法思想:采用分治策略,选择一个基准元素,将数组分为两个子数组,小于基准的放左边,大于基准的放右边,然后递归排序子数组。特点:平均时间复杂度O(n log n),最坏情况O(n²),不稳定排序,但通常是实际应用中最快的排序算法。算法思想:重复遍历待排序序列,比较相邻元素,如果顺序错误就交换它们,直到没有需要交换的元素为止。算法思想:将复杂问题分解为相互重叠的子问题,通过解决子问题来解决原问题,避免重复计算。// 使用已释放的内存。特点:时间复杂度O(n log n),空间复杂度O(n),稳定排序算法。
2025-12-30 16:30:42
452
【计算机科学】C语言基础语法与编程实践:涵盖数据类型、控制结构、函数及数组的经典习题解析
2026-01-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅