lxy_蓝桥杯C++学习_系列二:函数用法及String相关知识

news/2025/12/1 19:49:11/文章来源:https://www.cnblogs.com/stu-lxy/p/19289895

一、函数的常见用法
1.1 无参数无返回值的函数

点击查看代码
#include <iostream>
using namespace std;void sayHello(){cout << "Hello,World!" << endl ;
}int mmain(){sayHello();return 0;
}

1.2有参数有返回值的函数

点击查看代码
#include <iostream>
using namespace std;// 计算两数的Max值
int getMax(int x, int y) {if (x > y) {return x;} else {return y;}
}int main() {int a = 10, b = 20;int maxValue = getMax(a, b);cout << "最大值是:" << maxValue << endl;return 0;
}

1.3多参数函数

点击查看代码
#include <iostream>
using namespace std;// 计算三个数的平均值
double calculateAverage(int num1, int num2, int num3) {double sum = num1 + num2 + num3;return sum / 3.0;
}int main() {int a = 80, b = 90, c = 85;double avg = calculateAverage(a, b, c);cout << "平均分是:" << avg << endl;return 0;
}

1.4函数的声明与定义分离
有时我们需要先声明函数,后定义函数:

点击查看代码
#include <iostream>
using namespace std;// 函数声明
int multiply(int a, int b);int main() {int result = multiply(5, 6);cout << "5 × 6 = " << result << endl;return 0;
}// 函数定义
int multiply(int a, int b) {return a * b;
}

1.5函数重载

点击查看代码
#include <iostream>
using namespace std;int add(int a, int b) {return a + b;
}double add(double a, double b) {return a + b;
}int main() {cout << add(3, 4) << endl;        // 输出7cout << add(3.5, 4.5) << endl;    // 输出8.0return 0;
}

函数add根据传入参数的类型不同,表现出不同的行为。

二、String
2.1string简介
主要用于字符串处理,在使用string库记得#include
string与char[]的区别:string实现了高度封装,可以方便完成各种字符串操作,类于拼接,获取,匹配……

  1. 字符串管理:string封装了字符串的存储和管理。
  2. 动态大小调整:string可以根据需要自动调整字符串的天小。在添加或删除字符时,string会自动调整内部的存储容量,确保足够的空间来容纳字符串;
  3. 安全性:string提供了一些方法来确保字符串的安全性(越界访问检查);
  4. 迭代器支持:sfring支持迭代器,可以使用迭代器遍历字符串中的字符,进行字符级别的操作;
  5. 兼容性:string是C++标准库的一部分,因此在C++中广泛使用,并且与其他标准库组件和C++语言特性兼容。

2.2string声明与初始化

点击查看代码
#include <iostream>
#include <string>int main(){
//声明并初始化一个空字符串std::string str1;
//使用字符串字面量初始化字符串std::string str2 = "Hello, world!";//使用另一个 std;:string 对象来初始化字符串std::string str3 = str2;
//使用部分字符串初始化字符串
//substr(起始位置,长度)std::string str4= str2.substr(0,5);
//使用字符数组初始化字符串const char* charArray = "Hello";std::string str5(charArray);
//使用重复的字符初始化字符串std::string str6(5,'A');// 输出字符串内容std::cout<<"str1:"<< str1 << std::endl;std::cout<<"str2:"<< str2<< std::endl;std::cout<<"str3:"<< str3 << std::endl;std::cout<<"str4:"<< str4 <<std::end1;std::cout<<"str5:"<< str5 << std::endl;std::cout<<"str6:"<< str6 << std::endl;return 0;}

之前还提过另一种读入一行字符串的方式:getline(cin, s);

2.3string基本操作

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

  1. 获取字符串长度(length/size);
  2. 拼接字符串(+ 或 append);
  3. 字符串查找(find);
  4. 字符串替换(replace);
  5. 提取子字符串(substr);
  6. 字符串比较(compare).
    Tip:字典序的比较方法是从小到大一个一个比较,相等的字符就确定大小关系。例如:azzzzzz<b

常用的遍历string的方法有两种:1.循环枚举下标;
2.auto枚举(其中&表示取引用类型,如果对i修改将会改变原来的值)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/983369.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

日总结 33

数据流图(DFD) 描述数据的流动、处理、存储逻辑 只关注 “数据”,不关注操作步骤 / 状态变化 状态图 描述对象 / 系统的状态变化及触发条件 核心是 “状态切换”,需标注触发事件 流程图 描述任务 / 流程的步骤顺序…

STM32 Cmake平台上对print进行串口重定向的方法

从keil转移到cmake上的朋友可能还不知道怎么进行串口重定向 因为不是keil有自带microlib库,没法继续套用。 我将通过下面的示例告诉大家,并避免踩到一些已有的坑。cmake框架由cubemx生成,如有提到路径就是生成目录下的…

Github 学生认证保姆级教程 - 狼人:

Github 学生认证保姆级教程2025-12-01 19:42 狼人:-) 阅读(0) 评论(0) 收藏 举报点击头像,再点击 profile点击 Edit Profile,编辑信息,点击 Save 保存点击 Settings点击 Password and authentication进入2FA验证…

【口碑好的/比较好的/靠谱的】螺杆挤出机公司/工厂/厂家推荐/排行榜 哪家好/强/靠谱

【口碑好的/比较好的/靠谱的】螺杆挤出机公司/工厂/厂家推荐/排行榜 哪家好/强/靠谱 在塑料改性、色母粒、功能母粒及高分子材料加工领域,螺杆挤出机扮演着至关重要的“心脏”角色。一台性能卓越、运行稳定的挤出设备…

liunx材料及目录管理和vim编辑

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025/12/1

人机交互作业C/S结构设计 昨天肝这个作业肝到凌晨2点,所以没发有关博客就睡了,今天来补上。 C/S结构用户界面设计 【实验编号】 10003809547j   图形用户界面设计 【实验学时】 8学时 【实验环境】 l 所需硬件环境…

Codeforces Div2 2025.11.28

C. Quotient and Remainder 题目大意: 有两个长度为 \(n\) 的数组 \(q\), \(r\), 给定一个 \(k\),选择两个数 \(x,y\) 满足 \(1\leq y\le x\leq k\),其中在 \(q\) 中删除 \(q_i=x/y\),在 \(r\) 中删除 \(r_j=x\%y…

2025北京上门收酒指南:行业洗牌下 京城亚南酒业凭三维优势成市民首选

2025年白酒市场迭代加速,一方面贵州珍酒等品牌陆续启动产品升级,老款产品收藏价值凸显;另一方面线上低价酒冲击导致回收市场报价混乱,不少市民陷入“藏酒难变现、变现怕被坑”的困境。记者近日联合北京市酒类流通行…

cyh_蓝桥杯c++ 学习系列一语言基础

让我们迎接永远的神——C++!!本人平时写算法题的时候基本上用的都是C++,用C++写实在是太方便了,里面的STL和各种库实在太方便了。至于python,我的评价是已经被运行时间爆红劝退了一、C++代码格式与语法基础 以下是…

20231326《密码系统设计》十二周预习报告

20231326《密码系统设计》十二周预习报告 目录20231326《密码系统设计》十二周预习报告学习内容《Head First C 嗨翻 C 语言》 第12章:线程1. 为什么需要线程2. 线程与进程的区别3. POSIX 线程 (pthread) 编程AI 对学…

prometheus 监控 nginx 日志

prometheus 监控 nginx 日志prometheus 接口监控,nginx 日志监控地址:https://github.com/martin-helmich/prometheus-nginxlog-exporterhttps://www.martin-helmich.de/en/blog/monitoring-nginx.html 客户端配置:…

上海地标广告位公司哪家专业?核心商圈服务推荐

上海作为国际化大都市,地标广告位凭借其黄金地理位置与高曝光特性,成为品牌展示形象、触达核心人群的重要载体。选择专业的服务机构,能有效提升广告投放的精准度与传播效能,助力品牌在竞争中脱颖而出。一、推荐榜单…

Mac安装教程Acrobat DC 2021.dmg 怎么装?超详细小白步骤!(附安装包)

Mac安装教程Acrobat DC 2021.dmg 怎么装?超详细小白步骤!(附安装包)​准备工作安装包下载:https://pan.quark.cn/s/2c2336d1e053,下载好了 Mac Acrobat DC 2021.dmg这个文件,一般就在你电脑的 “下载”​ 文件夹…

Linux系统C++开发专业的工具(四)—— jsoncpp 使用指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

Ash Authentication 令牌吊销逻辑漏洞 CVE-2025-25202 详解

Ash Authentication 库因安装程序生成的 `:revoked?` 动作存在逻辑缺陷,导致已撤销的令牌在过期前仍能被验证为有效。影响使用新安装器的密码重置、确认和魔法链接策略用户。Ash Authentication 令牌吊销逻辑漏洞(C…

如何删除图片背景

我们经常需要保留图片的主体部分,但是不需要图片的背景。那么,如何删除图片背景? 特别是不在电脑上安装抠图软件的情况下,如何去掉图片的而背景呢? 这里博主重点推荐一种不需要在自己电脑安装软件,直接用网站在线…

2025 年 12 月精密机床厂家权威推荐榜:滚珠丝杠磨床,精密丝杆旋风铣床,碳电极加工设备,螺纹磨床,匠心工艺与高效稳定之选

2025 年 12 月精密机床厂家权威推荐榜:滚珠丝杠磨床,精密丝杆旋风铣床,碳电极加工设备,螺纹磨床,匠心工艺与高效稳定之选 在高端装备制造与精密功能部件领域,滚珠丝杠、精密丝杆、碳电极及高精度螺纹的加工质量,…

证券公司客户经理哪家服务好?2024年服务质量评测结果出炉

在证券投资过程中,客户经理的专业服务能力直接影响投资者的体验与收益。选择服务优质的客户经理,不仅能获得及时的市场动态分析,还能在资产配置、风险控制等方面得到个性化指导。本文结合行业调研数据与客户反馈,对…

Ai元人文:从余溪到算法:一场关于「戏」与「悟」的文明探险

Ai元人文:从余溪到算法:一场关于「戏」与「悟」的文明探险 序章:暗巷中的鞭响与诗行 二零二五年八月,一个寅时的夜晚。窄巷深处,少年们的手机光柱如现代萤灯,刺破黢黑,围成一个“猴戏”的剧场。近在咫尺,或许更…