2025年4月1日学习笔记

1. CASE语句语法规范

-- 语法错误修正:case_value应为具体列名
SELECT *,
  CASE s_sex
    WHEN '男' THEN '强人所难'
    WHEN '女' THEN '美女'
    ELSE '未知'
  END AS '性别'
FROM t_student;

2. 两种CASE写法对比

类型语法适用场景
简单CASECASE 列名 WHEN 值1 THEN 结果1...等值判断
搜索CASECASE WHEN 条件1 THEN 结果1 WHEN 条件2 THEN 结果2...范围判断或复杂条件

 常用聚合函数对比表

函数作用NULL处理规则典型错误
SUM()求和忽略NULLSELECT *, SUM(c_id) FROM t_class ❌
AVG()平均值忽略NULLSELECT AVG(c_id) FROM t_class WHERE 1=2 → 返回NULL ✅
COUNT()计数COUNT(*)统计所有行COUNT(s_score)忽略NULL
MAX()最大值忽略NULLSELECT MAX(c_id), * FROM t_class ❌

聚合函数使用要点

-- 正确写法:聚合列与非聚合列必须明确分离
SELECT 
  s_sex,
  COUNT(*) AS '人数',
  AVG(s_score) AS '平均分'
FROM t_student
GROUP BY s_sex;

1. GROUP BY核心规则

场景正确写法错误示例
单列分组GROUP BY s_sexSELECT * GROUP BY s_sex ❌
多列分组GROUP BY s_sex, s_addressGROUP BY s_sex OR s_address ❌
HAVING筛选GROUP BY ... HAVING AVG(score) > 60WHERE AVG(score) > 60 ❌

SQL执行顺序(SFWGHO原则)

1. **S**ELECT → 2. **F**ROM → 3. **W**HERE → 
4. **G**ROUP BY → 5. **H**AVING → 6. **O**RDER BY

-- 统计各省份男生人数(过滤空值)
SELECT 
  s_address AS '省份',
  COUNT(*) AS '男生人数'
FROM t_student
WHERE s_sex = '男' 
  AND s_address IS NOT NULL
GROUP BY s_address
HAVING COUNT(*) > 5
ORDER BY 男生人数 DESC;

NULL判断方法

-- 查找空值(原注释正确)
SELECT * FROM t_student WHERE s_score IS NULL;

-- 统计有效成绩人数
SELECT COUNT(s_score) FROM t_student;  -- 忽略NULL

 

<think>好的,用户想了解2025蓝桥杯嵌入式比赛的比赛大纲和准备资料。首先,我需要回忆现有的引用内容,看看有没有相关的信息。引用[1]提到用户是电子信息专业的学生,参加过蓝桥杯嵌入式竞赛并分享了学习过程,可能里面有大纲的内容。引用[3]中用户提到大二上报名,比赛内容包括客观题和程序设计题,但具体大纲可能没有详细列出。引用[4]则提供了复习笔记和模块使用,可能涉及具体知识点。 接下来,用户需要的是2025的大纲和准备资料,但现有的引用都是关于往届的。不过蓝桥杯比赛的大纲通常变化不大,可以参考往届内容。例如,引用[1]提到参赛资格和竞赛大纲,可能包括硬件平台、软件工具等。引用[2]和[3]提到了准备方法,比如学习STM32、模块开发、刷题等。 我需要综合这些信息,整理出大纲的结构,比如参赛资格、比赛形式、考核内容等。另外,准备资料方面,可能需要推荐学习路径、开发板使用、代码练习等。同时,用户可能需要相关问题的建议,比如如何平衡理论与实践,如何选择开发板等。最后,确保回答符合格式要求,使用中文,正确引用来源,并生成相关问题。</think>### 2025蓝桥杯嵌入式比赛大纲与准备资料 #### 一、比赛大纲(参考往届内容) 根据往届蓝桥杯嵌入式竞赛的框架,2025大纲可能包含以下内容[^1][^3][^4]: 1. **参赛资格** 一般为高校全制在校学生(本科、高职高专),以个人形式参赛,需通过学校或官网报名。 2. **比赛形式** - **客观题**(约20%):考察嵌入式系统基础知识,如C语言、STM32外设原理、电路分析等。 - **程序设计题**(约80%):基于STM32开发板(如CT117E或新版型号)完成功能开发,涉及GPIO、定时器、ADC、LCD显示、通信协议(I2C、SPI)等模块的综合应用。 3. **考核模块** - **基础外设**:LED、按键、EEPROM、ADC、PWM。 - **进阶功能**:LCD图形界面设计、RTC实时时钟、多任务调度。 - **扩展模块**:温度传感器、MCP4017可变电阻、超声波模块等[^4]。 4. **评分标准** 功能完整性、代码规范性、实时性优化、低功耗设计等。 --- #### 二、准备资料与学习路径 1. **硬件准备** - 使用官方指定的开发板(如STM32G4系列),熟悉其原理图与资源分配[^4]。 - 掌握万用表、示波器等调试工具的使用。 2. **软件工具** - **Keil MDK**:STM32程序开发与调试,需熟悉工程配置、寄存器操作、库函数开发[^3]。 - **CubeMX**:图形化配置引脚与时钟,生成初始化代码。 3. **核心学习内容** - **C语言基础**:指针、结构体、位操作。 - **STM32外设开发**: - GPIO控制:LED流水灯、按键扫描。 - 定时器:PWM输出、输入捕获。 - ADC:电压采集与滤波算法。 - 通信协议:I2C(EEPROM读写)、SPI(LCD驱动)。 - **综合项目实战**:历届真题复现(如2023温控系统、2024智能小车)[^4]。 4. **推荐资源** - 蓝桥杯官网往届试题与开发文档。 - 《STM32库开发实战指南》+ 官方数据手册。 - 开源社区(GitHub/Gitee)的参考代码库[^2]。 --- #### 三、备赛策略 1. **基础阶段**(1-2个月): 完成开发板所有外设的独立功能实现,例如用ADC读取电位器电压并通过LCD显示。 2. **强化阶段**(1个月): 刷历届赛题(如2021-2024题目),重点练习模块组合(如“ADC+LCD+按键菜单”)。 3. **冲刺阶段**(2周): 模拟比赛环境(限时4小时),优化代码结构和调试效率。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值