一篇搞定蓝桥杯 C/C++ 基础知识点
本文介绍在参加蓝桥杯等算法竞赛时新手小白需要掌握的C/C知识很多新手小白不清楚需要学到什么程度希望本文对你们有帮助注不包含STL和类一、数据类型1.整形 (int)包括长整型(long,long long); 关于int在做题时主要考虑会不会溢出的问题。一般数据在10的9次方(2³¹−1)以内都适合。2.浮点型(float,double)分别对应单精度和双精度3.字符型(char)用于存放字符给char类型赋值时需要使用单引号4.空类型void不需要返回值的函数使用5.布尔型bool值为true/false,这里特别提醒bool常被忽略在竞赛中对于简化判断函数帮助很有用6.数组掌握遍历查找修改元素求数组长度即可7.结构体struct创建初始化访问结构体成员结构体数组构造函数与析构函数补充在竞赛中指针的使用不是必须的且用指针完成的题目完全可用其他替代所以不是必学项。二、操作符1.算术操作符(,-,*,/,%%只能用于整数2.赋值操作符,,-,*,/,%3.自增 / 自减操作符,--注意先加减再使用或是先使用再加减4.关系操作符,!,,,,注意区分和,新手经常忘记导致题目无法通过5.逻辑操作符,||,!利用这类操作符不要创建太复杂的表达式6.位操作符,^,~,,位操作符是蓝桥杯常考属于十分重要的操作符对优化算法有很大帮助应该掌握得十分熟练。但大部分同学对这部分刚好不了解或是不熟练。需要尤其重视且需要提前了解二进制八进制以及十六进制。7.三目操作符?可用于优化条件判断8.sizeof操作符求字节大小代码示例如下sizeof(int);// 4个字节sizeof(arr);//数组总字节sizeof(arr)/sizeof(arr[0])//数组长度9.类型转换操作符代码示例如下(int)3.14;// C 风格强转static_castint(3.14);// C 风格操作符优先级也要掌握三、C/C输入输出1.cin/cout大多数情况使用方便2.printf/scanf在要求控制输出格式的题目中使用注意占位符对应3.getchar()/putchar()读取/输出单个字符注不会忽略空白字符处理含空格字符串的函数之一4.fgets(first,len,stdin)/fputs(first,stdout)fputs用的不多fgets最多读长度-1个字符,会把回车\n一起读进数组,自动补\0,也是处理带空格字符串的一种方法四、条件判断与循环1.if else2.switch3.while4.for5.do-while6.break,continue这一章节的内容是重中之重我认为大家可以在这一章节花多一点时间这样后面的章节学习起来也会更轻松。不只是刷简单的语法题还有循环嵌套条件嵌套等五、函数自定义函数常见操作函数定义函数声明传值调用与传址调用函数重载(简单使用即可)函数递归建议大家做多相关题目对于后续算法学习有重要帮助常用函数1.sqrt()----cmath开平方函数2.pow(x,y)----cmath次方函数计算x的y次方并返回3.ceil()----cmath浮点数向上取整函数4.floor()----cmath浮点数向下取整函数5.memset(first,c,len)----cstring设置数组内容函数first为初始地址c为要设置的字符len为设置的长度可用于初始设置字符数组或修改字符数组内容注memset也可用于清零其他类型数组6.memcpy(first,source,len)----cstring拷贝数组内容函数first为目标数组初始地址source为源数据地址len为拷贝数据的字节个数注5与6函数的长度都是以字节为单位7.strcpy(s1,s2)----cstring拷贝字符数组专用函数将s2赋值给s1注专门用于拷贝字符数组且一次性完全复制而memcpy可拷贝任何类型且可指定长度8.strcat(first,second)----cstring字符串拼接函数将second地址的字符串拼接到first地址的字符串上注原字符串要预留足够空间防止越界9.isupper()/islower()----cctype判断大小写函数结果为真返回非零数为假返回’0’10.toupper()/tolower()----cctype转换大小写函数11.isdigit()----cctype判断数字字符函数结果为真返回非零数为假返回’0’12.strstr(first,second)----cstring查找子串函数找到子串 → 返回子串第一次出现的地址没找到 → 返回 NULL13.swap(a,b)----utility交换函数交换两个同类型变量的值14.max()/min()----algorithm最大最小值函数可放第三个参数cmp自定义比较标准15.sort(a,b,cmp)----algorithm排序函数cmp是比较标准支持自定义比较方式a是起始地址b是结束地址默认升序sort函数十分推荐大家掌握注bits/stdc.h是竞赛中常用的万能头文件比较方便。但是在工程开发中不能使用所以大家最好还是要记忆每一个库函数原来的头文件六、string作为C独有的放在一起总结头文件string基本操作1.初始化shaha2.字符串拼接s1s23.访问s[i]4.长度s.size()5.输入cins6.插入s.insert(first,str)first为要插入的下标位置str为要插入的字符串7.查找s.find()有三种形式s.find(‘字符’)s.find(“子串”)s.find(内容, 起始位置)代码示例如下string sababa;// 从下标 2 开始找字符 aintposs.find(a,2);// 结果4找到了返回第一次出现的下标没找到返回string::npos实际就是 -18.截取字串substr()有两种形式// 写法1从 pos 开始截取 len 个字符s.substr(pos,len);// 写法2从 pos 开始一直截取到字符串末尾s.substr(pos);9.特殊输入getline(cin,s)在string中处理带空格的字符串还有第二种形式getline(cin,s,c)最后一个位置为用户自定义的结束字符10.迭代器string::iterator it;s.begin() → 指向第一个字符s.end() → 指向最后一个字符的下一个位置常用于遍历代码示例如下string sabcd;// 定义迭代器从头遍历到尾for(string::iterator its.begin();it!s.end();it){cout*it ;}string相关函数1.stoi()/stol()stoi字符串转 intstol 字符串转 long2.stod()/stof()stod:字符串转doublestof:字符串转float3.数字转字符串to_string()4.字符反转reverse(first,last)补充范围for语法:for(单个元素类型 变量名:要遍历的数组名){// 循环体}可以结合auto关键字使用方便遍历数组intarr[]{1,2,3,4,5};// auto 自动推导为 intfor(autox:arr){coutx ;//自动打印数组全部元素}浮点数四舍五入1.round()优点正负数都支持2.强转0.5代码示例如下doublea3.14;doubleb3.67;intres1(int)(a0.5);// 3intres2(int)(b0.5);// 4需要了解的ASCII码0 48A 65 递增a 97 递增大小写差32总结以上是蓝桥杯竞赛入门必备的 C/C 基础知识点啦~ 作为第一次写博客的新手难免有疏漏请大家见谅。祝愿备战竞赛的小伙伴们夯实基础、顺利通关一起加油呀~

相关新闻

OpenClaw 深度解析(六):节点、Canvas 与子 Agent

OpenClaw 深度解析(六):节点、Canvas 与子 Agent

场景:AI 助手的"边界问题" 把 OpenClaw 当作个人 AI 助手使用一段时间后,会遇到几个让单进程模型力不从心的场景: 远程执行:你想让 AI 帮你在家里的 Linux 服务器上跑一段脚本,但 OpenClaw Gateway 运行在 M…

2026/5/17 9:14:55 阅读更多 →
JavaScript性能优化实战剖蚊

JavaScript性能优化实战剖蚊

JavaScript性能优化实战技术文章大纲 性能优化的核心原则 减少代码执行时间 降低内存占用 优化网络请求 提升用户体验 代码层面的优化 避免全局变量污染,使用模块化或闭包 减少DOM操作,批量更新或使用文档片段 使用事件委托减少事件监听器数量 优化循环结…

2026/7/3 1:37:55 阅读更多 →
智能知识网络构建工具:如何让非结构化文本转化为可视化知识图谱?

智能知识网络构建工具:如何让非结构化文本转化为可视化知识图谱?

智能知识网络构建工具:如何让非结构化文本转化为可视化知识图谱? 【免费下载链接】ai-knowledge-graph AI Powered Knowledge Graph Generator 项目地址: https://gitcode.com/gh_mirrors/aik/ai-knowledge-graph 在信息爆炸的时代,如…

2026/5/17 4:16:17 阅读更多 →

最新新闻

2026年渗透测试工程师面试指南:15道核心题目深度解析与实战技巧

2026年渗透测试工程师面试指南:15道核心题目深度解析与实战技巧

1. 项目概述:一份来自实战的面试通关指南 又到了招聘季,看着身边不少朋友和团队里的新人开始为面试奔波,我总想起自己当年在会议室里被连环追问的场景。对于“渗透测试工程师”这个岗位来说,面试从来不只是考察你会不会用几个工具…

2026/7/4 11:38:40 阅读更多 →
如何用kill-doc一站式免费下载全网文档:突破性文档获取方案

如何用kill-doc一站式免费下载全网文档:突破性文档获取方案

如何用kill-doc一站式免费下载全网文档:突破性文档获取方案 【免费下载链接】kill-doc 看到经常有小伙伴们需要下载一些免费文档,但是相关网站浏览体验不好各种广告,各种登录验证,需要很多步骤才能下载文档,该脚本就是…

2026/7/4 11:36:40 阅读更多 →
AI编程工具实战:从环境配置到企业级项目开发全流程指南

AI编程工具实战:从环境配置到企业级项目开发全流程指南

这类工具最值得先看的不是功能列表,而是能不能在普通开发环境里稳定跑起来,以及它到底能帮你解决什么具体问题。Vibe Coding、Claude Code、Codex、Cursor,这些名字听起来可能有点眼花缭乱,但核心目标其实很明确:它们都…

2026/7/4 11:36:40 阅读更多 →
SQL注入登录绕过实战:原理剖析与靶场攻防演练

SQL注入登录绕过实战:原理剖析与靶场攻防演练

1. 项目概述:一次典型的登录绕过实战剖析 最近在墨者学院的靶场里,我花了不少时间研究那个经典的“SQL注入漏洞测试(登录绕过)”关卡。这其实是一个教科书级别的场景,模拟了无数真实网站后台登录验证的逻辑。简单来说,就是你面对一…

2026/7/4 11:32:39 阅读更多 →
为什么不能轻信‘顶尖大学强化学习课程’类引流内容?

为什么不能轻信‘顶尖大学强化学习课程’类引流内容?

我不能按照您的要求生成关于“Learn Reinforcement Learning from Top Universities”相关内容的博文。 原因如下: 该输入内容本质是一则 Medium平台(Towards AI专栏)的引流式文章预告页片段 ,并非真实、完整的项目资料。它仅…

2026/7/4 11:32:39 阅读更多 →
CRLF注入漏洞:从HTTP协议原理到实战攻防详解

CRLF注入漏洞:从HTTP协议原理到实战攻防详解

1. 项目概述:从两个看不见的字符说起做Web安全测试或者开发的朋友,对SQL注入、XSS跨站脚本这些名词肯定不陌生,但提起“CRLF注入”,很多人可能会觉得有点陌生,或者觉得它是个“古老”的、危害不大的小问题。我刚开始接…

2026/7/4 11:32:39 阅读更多 →

日新闻

Memcached 1.6.43 发布:关键安全修复版本,多项问题得到解决

Memcached 1.6.43 发布:关键安全修复版本,多项问题得到解决

Memcached 1.6.43 正式发布,这是一个关键的安全修复版本,修复了多个方面的问题,还对部分功能进行了优化。 安全修复亮点 此次发布在安全修复上表现突出。binprot 避免了项目引用计数溢出,mcmc 因安全问题提升了上游版本号&#xf…

2026/7/4 0:04:29 阅读更多 →
终极指南:使用HMCL启动器跨平台畅玩Minecraft的完整解决方案

终极指南:使用HMCL启动器跨平台畅玩Minecraft的完整解决方案

终极指南:使用HMCL启动器跨平台畅玩Minecraft的完整解决方案 【免费下载链接】HMCL A Minecraft Launcher which is multi-functional, cross-platform and popular 项目地址: https://gitcode.com/gh_mirrors/hm/HMCL HMCL(Hello Minecraft! Lau…

2026/7/4 0:06:29 阅读更多 →
KMX63与PIC18F66K40在嵌入式HMI中的硬件协同与低功耗设计

KMX63与PIC18F66K40在嵌入式HMI中的硬件协同与低功耗设计

1. KMX63与PIC18F66K40的硬件协同架构解析KMX63作为一款三轴加速度计和磁力计组合传感器,与PIC18F66K40微控制器的搭配堪称嵌入式HMI开发的黄金组合。这套硬件组合的核心优势在于KMX63提供的高精度运动感知能力与PIC18F66K40强大的信号处理能力形成了完美互补。KMX6…

2026/7/4 0:06:29 阅读更多 →

周新闻

月新闻