当前位置: 首页 > news >正文

GESP编程等级认证C++三级8-字符串1

字符串是C++的数据类型,用string表示。

1 字符串变量的定义

可以通过如图1所示的代码定义字符串变量。

图1 定义字符串变量的代码

图1中使用了两种方法定义字符串变量,s1和s2的值均为“hello”。

2 字符串中单个字符的使用

2.1 通过下标访问字符串中的单个字符

可以通过下标访问字符串中的单个字符,代码如图2所示。

图2 通过下标访问字符串中的单个字符的代码

其中,第9行代码表示打印字符串s1中下标为2的字符,也就是s1的第3个字符,程序运行后会显示“l”。

2.2 字符串下标“越界”情况

在《GESP编程等级认证C++三级3-数组3》中提到,数组的下标范围是0-(数组长度-1),下标取值在这个范围之外,都会产生“越界”问题。在《GESP编程等级认证C++三级6-字符、字符数组与字符串1》中提到,字符串的末尾隐式地包含了结尾字符“\0”,也就是0x00,因此,字符串s1显式地包含了5个字符,隐式地包含了第6个结束字符,通过下标访问s1的第6个元素时,不算越界,代码如图3所示。

图3 通过下标访问字符串隐藏字符的代码

因为无法打印“\0”这个字符,程序运行后,没有输出。当通过下标访问s1的第7个元素时,此时会产生“越界”报错,代码如图4所示。

图4 通过下标“越界”访问字符串的代码

运行程序后,会弹出终止程序的对话框,如图5所示。

图5 终止程序对话框

3 字符串中字符个数的获取

通过字符串类的length()函数或者size()函数,能够获取该字符串中字符的个数,不包含最后一位隐藏的结束字符,代码如图6所示。

图6 获取字符串中字符个数的代码

此时,两行输出代码输出的值都是5。

4 字符串中所有字符的遍历

通过for循环可以遍历字符串中所有的字符,代码如图7所示。

图7 遍历字符串中所有字符的代码

其中,第9行中的s1.length()-1是字符串下标i的最大值,也就是说i的取值范围是0-s1.length()-1。

相关文章:

  • 使用clickhouse的ReplacingMergeTree引擎表做活跃玩家信息表
  • RxJS 高阶映射操作符详解:map、mergeMap 和 switchMap
  • Calculix,基于有限元法 (fem) 的免费工具
  • 数据挖掘算法大汇总
  • 加密狗怎么复制,在线加密解密工具
  • day27- 系统编程之 进程
  • 国产频谱仪性能如何?矢量信号分析仪到底怎么样?
  • 智慧医院行业2025数据分析报告
  • 栈队列 模版题单
  • 洛谷 P1800 software(DP+二分)【提高+/省选−】
  • 电子电路:深入理解电磁耦合的定义与应用
  • Redis删除策略
  • 常见的gittee开源项目推荐
  • 【Elasticsearch】创建别名的几种方式
  • [linux] git强行拉取并覆盖
  • 2025电工杯数学建模竞赛A题 光伏电站发电功率日前预测问题 完整论文+python代码发布!
  • P1217 [USACO1.5] 回文质数 Prime Palindromes
  • CAN XL如何填平车载网络的“带宽鸿沟”?
  • MoE架构分析
  • K3S集群使用自签署证书拉取私有仓库镜像
  • 建个企业网站需要多少钱/网络营销策划方案论文
  • 网站空间付款方式/永久免费客服系统
  • WordPress子站站群/百度网站免费优化软件下载
  • 上网站建设公司/怎么创建网站快捷方式
  • 网站开发建设合同/百度竞价怎么排名第一
  • 蒙牛网站建设报价情况/建站abc官方网站