【蓝桥杯备赛Day1】——语法基础+string基础操作

前言.

看课:蓝桥杯省赛无忧课


一、常见数据类型

注意

  1. 字符用 ' ' ,字符串用**" "**。
  2. '\n' 是换行符号,比endl更快。

二、熟悉代码

注意

  1. const修饰的变量带有常量属性,后续不能被修改。
  2. 全局数组会自动初始化为0。

注意

  1. typedef可以对数据类型重命名

注意

|-----------|---|---|---|---|---|-----|
| 数组 s | H | e | l | l | o | \0 |
| 下标 | 0 | 1 | 2 | 3 | 4 | 5 |

注意

  1. 交换变量要用到临时变量tmp。

三、string

string 类:用于处理字符串的标准 C++ 类型。使用前需包含头文件 #include <string>

1. 特性

  1. 自动内存管理 :自动处理字符串的内存分配和释放,无需手动管理内存。
  2. 动态扩容 :根据存储需求自动调整容量。
  3. 安全性:提供越界访问检查。
  4. 迭代器支持:支持使用迭代器遍历字符
  5. 兼容性:作为 C++ 标准库的一部分

2. string的声明与初始化

读入一行字符串:

cin<<str1;也可以读入字符串,但是遇见空格就结束了。推荐下面的读取方法:

3. string基本操作

printf输出

在 C++ 中,std::string类提供了一个成员函数c_str(),用于返回一个指向以空字符结尾的 C 风格字符串(即const char*类型)。使用printf输出时,需要将string转换为 C 风格的字符串进行输出。

将内容给字符数组,再用字符数组初始化str,使用printf输出时要通过str.c_str(),将string转换成c风格字符串。

字符串操作

注意

  1. 获取字符串长度包含标点符号和空格。
  2. 拼接字符串:+生成新字符串,append函数修改原有字符串。
  3. 查找字符串:find函数找到就返回子字符,未找到返回std::string::npos。
  4. 字符串替换:replace(a,b,c)中a表示起始位置,b表示被替换的长度。(这里从Hello, World! -> Hello, Universe!)

字符串比较

注意

  1. 提取子字符串:str.substr(a,b)中a表示字串起始位置,b表示子字符的长度
  2. 字符串比较:①用一个变量接收compare函数的返回值,等于=0,小于<0,大于>0。②更简单直接使用==,>,<

std::string 重载了不等号,所以可以直接使用 s1 < s2 的方式来比较 string 的大小,比较的规则:从左到右逐个字符比较,一旦遇到不相等的字符根据这两个字符的 ASCII 值确定大小关系。

字符串遍历

注意

  1. 第一种:需要用到 length函数得出字符串长度,再循环输出一个个字符。
  2. 第二种:记住。

auto是c++11及之后的语法,Dev-c++要先设置成支持c++11的

注意

  1. 引用是给原变量起了一个别名(就是原变量本身),修改引用也会改变原变量。

回顾:花的时间不长,且效率低,明天看字符串部分的题和课吧,不要一边看一边做笔记了,先看后整理吧。老几明天见

相关推荐
aqiu1111112 天前
【算法刷题】蓝桥杯/AtCoder:删除元素后的中位数问题(Symmetry / Median)
算法·蓝桥杯·排序·中位数
恣逍信点7 天前
《凌微经》价值论:变化即本体,价值即涌现
人工智能·科技·程序人生·蓝桥杯·业界资讯·交友·哲学
小龙报10 天前
【优选算法】1.搜索插入位置 2.x的平方根
java·c语言·数据结构·c++·python·算法·蓝桥杯
依然鸣14 天前
PTA团体程序设计天梯赛L2真题讲解L2-037-040
c++·经验分享·学习·算法·蓝桥杯·深度优先·pat考试
YuforiaCode14 天前
第十六届蓝桥杯 2025 C/C++组 数列差分
c语言·c++·蓝桥杯
QAQo7T14 天前
Python组蓝桥杯备赛超详细知识点总结笔记_排序算法篇
笔记·python·算法·蓝桥杯·排序算法
普通网友14 天前
蓝桥杯 DP 优化:从 O (n²) 到 O (n) 的滚动数组实战
职场和发展·蓝桥杯
醉颜凉14 天前
蓝桥杯2025年第十六届省赛真题-好串的数目
职场和发展·蓝桥杯
醉颜凉14 天前
蓝桥杯2025年第十六届省赛真题-最大数字 Python题解
python·职场和发展·蓝桥杯
2301_8062044614 天前
蓝桥杯第十四届省赛代码参考
职场和发展·蓝桥杯