C++学习日志——蓝桥杯课程总结_基础篇/2025.11.16

news/2025/11/17 1:06:40/文章来源:https://www.cnblogs.com/zizlove/p/19229662

C++学习日志

在了解C语言的相关知识后,我想进一步的了解C++的相关知识,借助此次蓝桥杯课程机会,简单记录一下我认为有趣的知识点,重点揭示C++在用法上和C语言的不同之处。希望可以为我,同时也给各位读者的学习供一些帮助。

代码格式与语法基础

在C++中我们可以使用一种万能头文件,使用后可以包含很多标准库中的函数使用,帮我们省去不少代码的书写。

#include<bits/stdc++.h>
using namespace

输入输出方法

1.scanf 和 printf

这是C语言中常见的输入和输出方式(对应格式化输出)
在课程中提到了一种比较特别的用法

scanf("%[^\n]",str);

这行代码的作用是排除回车(\n)将字符存入str中

2.cin 和 cout

这是一种特殊的流式输入输出方式,属于面向对象的I/O机制。通过重载运算符>><<实现简洁的输入和输出操作。
这里给出一段代码实例:

int main(){
int a,b;
cin >> a >> b;
cout << a << ' ' << b << '\n';
return 0; }

这里可以自动判断变量类型。

cout << fixed << setprecision(3) << ...

这样可以实现对浮点类型保留3位小数的操作。
对于字符串这样的输入输出,遇到空格或回车就表示一次输入输出结束。如果我们想要输入输出一行,可以使用下面的代码:

getline(cin,s);
cout << s;

getline()函数会得到一行字符串的值,并在cout中输出出来。
这样的方式固然便捷,但是由于自动判断变量等因素影响,使这样的方式读写的效率很低,可能导致程序超时。这时我们可以使用取消同步流操作加速cin和cout的运行速度。
我们要在流操作前添加如下代码:

ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);

这样可以使流操作速度达到一般输入输出相当的程度。

函数

基本格式:

返回值类型 函数名(参数列表){
//函数体
return 返回值(可能为空)}

这里对于函数的基本用法不再赘述,简单介绍一下函数的重载。
C++允许同名函数有不同的参数列表,这被称为函数的重载
实例展示:

int add(int a,int b);
int add(double a,double b);

事实上,上面声明了两个同名的函数,但遇到不同的参数类型时,会执行不同的函数。同面向对象的重载类似。
注意:
1.函数名命名要遵循见名知意的原则。
2.参数的传递方式分为:值传递和引用传递(地址实现)

这里不再赘述

string字符串处理

在C++中有特殊的字符串处理方式,相对于C语言更加的灵活。

1.string声明和初始化

1.std::string str; //声明并初始化了一个字符串(这种类型的字符串没有空字符作为结尾)
2.std::string str1 = str2; //使用另一个对象来初始化字符串
3.const char *charArray = " "; std::string str3(charArray); //使用字符数组初始化字符串
4.std::string str4(number,' ') //使用重复字符初始化字符串

当然,我们可以用getline()函数直接读取一行字符串。

在C++中,std::string类提供了一个成员函数c_str(),它会返回一个(指向空字符结尾的)C风格的字符串(coust char*)
例:

char buf[520];
string str(buf);
printf("str = %s\n",str.c_str()); //输出str

这里简单记录一下课程中展示的部分函数:

1.获取长度:length() str.length(); [返回int]
2.拼接字符串:+ 或 append(): r1 = str1 + str2; r2 = str1.append(str2);
3.字符串查找:find("string"); [返回位置,否则-1]
4.字符串替换:replace(字串初始位置,替换的长度,"用来替换的字符串");
5.提取字符串:substr(起始下标位置,提取长度);
6.字符串比较:compare() str1.compare(str2);(事实上直接用‘<’和‘>’,在C++中可以实现比较效果)

遍历string的方法:
1.循环下标法
2.auto枚举:
例:

for(auto i:s){cout << i;}
for(auto &i:s){cout << i;i = 'a';} //使用&(引用类型),对i的修改会直接改变原值

这里的auto会让编译器自动推导变量类型,非常使用。

那么本次的学习就到此结束了,下次我们会具体讲解课程中出现的代码。
爱心 爱心

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

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

相关文章

从概念迷宫到行动共生:价值原语化与全球行为接口协议新范式

从概念迷宫到行动共生:价值原语化与全球行为接口协议新范式 岐金兰 2025年11月17日 摘要: 当抽象的价值概念陷入无休止的语义之争,全球对话与人工智能的价值对齐便举步维艰。本文提出并系统论述了“价值原语化”理论…

【Linux】curl基础语法与常用参数详解

【Linux】curl基础语法与常用参数详解一、curl基础语法与常用参数详解 1. 基础请求结构 curl [选项] <URL>示例:发送GET请求并打印响应头与体 curl -v https://api.example.com/data-v:显示详细请求/响应日志(…

Linux系统编程初步——冯诺依曼体系结构的理解

系统编程和网络编程初步 学习 Linux 是为了在 Linux 下进行系统级别和网络级别的编程。Linux 只是操作系统的代表,其他的 Windows、MacOS等也可以进行类似的编程模式,Linux 因为开源,内核源码公开,所以从 Linux 入…

2025-11-17 使用nvm下载node包失败

PS C:\project> nvm install node 25.2.0 Downloading node.js version 25.2.0 (64-bit)... Error while downloading https://nodejs.org/dist/v25.2.0/node-v25.2.0-win-x64.zip - read tcp [2409:8a55:43:5be0:8…

2. 使用Gin处理HTTP请求

2. 使用Gin处理HTTP请求 2.1 Gin路由Gin的路由负责将传入的请求路径映射到相应的处理函数上。处理函数是处理请求并生成响应的核心部分,通常被定义为func(c *gin.Context),其中c提供了对请求和响应的访问接口。通过路…

C++之复合类型(四) - Invinc

本文记录了C++中与复合类型相关的容易遗忘的一些知识。本文记录了C++中与复合类型相关的容易遗忘的一些知识。内置数组 初始化 只有在定义数组时才能使用初始化形式。之后不能使用,也不能将一个数组整体赋值给另一个数…

20232414 2025-2026-1 《网络与系统攻防技术》实验五实验报告

20232414 2025-2026-1 《网络与系统攻防技术》实验五实验报告 1.实验内容 总结一下本周学习内容,不要复制粘贴 2.实验过程 3.问题及解决方案问题1:XXXXXX 问题1解决方案:XXXXXX 问题2:XXXXXX 问题2解决方案:XXXXX…

物流管理,必须掌握的10个要点 - 智慧园区

一说到物流,就很容易出现这些情况—— 老板说库存不是积压就是缺货,成本一直居高不下; 员工说部门之间信息不透明,这个说没收到订单,那个说以及发货但是没显示; 客户说一直看不到货物配送状态,都不知道到底发没…

工程行业中-使用AI报价得可行性-一般(属于能应付但不精确,未测试在数据库全得情况下得效果,总体欠调教)

起因 事件起因是之前答应朋友测试ai造价(假)得可行性,然后我就问了我朋友要了份文件思路 总体思路是使用csv文件去进行读写,所以首先就是将需要报价得表格转为为csv格式,有些ai可以直接读写excel,不过建议输出还…

41

所学时间:9小时

VB6介绍

VB6介绍Posted on 2025-11-17 00:00 lzhdim 阅读(0) 评论(0) 收藏 举报 Austin Liu 刘恒辉 ProjectManager and Software Designer E-Mail:lzhdim@163.com Blog:https://lzhdim.cnblogs.com 欢…

力扣 第 476 场周赛(A~D)

力扣 第 476 场周赛(A~D)$(".postTitle2").removeClass("postTitle2").addClass("singleposttitle");A:3745. 三元素表达式的最大值签到题,直接排序,首尾分别取两个和一个就可以了。1…

libvte, xfce4-terminal和gnome-terminal,干货满满

GTK+是GNOME桌面环境的核心图形库‌‌,它俩的关系像GDI和Windows的关系(不讨论GDI+和WPF)。 GTK+(GIMP Toolkit)最初是为GIMP图像处理软件开发的。 VTE,即Virtual TErminal widget,是GTK+的一部分。widget像Win…

2025 年 11 月冷却塔厂家推荐排行榜,闭式冷却塔,方形冷却塔,工业冷却塔,全钢冷却塔,凉水塔,圆形冷却塔,玻璃钢冷却塔,防腐冷却塔,冷却水塔公司推荐

2025 年 11 月冷却塔厂家推荐排行榜:专业选购指南与权威品牌分析 在工业生产与商业设施运行中,热交换设备扮演着至关重要的角色。冷却塔作为工业循环水冷却系统的核心装置,其性能优劣直接关系到整个系统的运行效率与…

寄卖业务质检1

售中抽检 用户下单 -判断是否检测 Y/N -判断检测方式 -免检 -运中检查 -白名单商家上门检测 if 免检 -通知订单出库 if 运送中检查 -替换收货地址 if 白名单用户 -订单标记为待质检 -订单待质检标记变更 -上门质检 -接…

[学习记录整理] ---IP地址,网关,掩码,DNS等

起兴莫听穿林打叶声,何妨吟啸且徐行。竹杖芒鞋轻胜马,谁怕?一蓑烟雨任平生。写在前面 这篇博客方便知识点的记录和日后的学而时习之。笔者梦到哪里写到哪里,如有不对之处,请读者纠正见谅。 正文 1. IP地址IP地址是…

2025 年 11 月不锈钢管件厂家权威推荐榜:欧标卡压管件,国标/薄壁/沟槽不锈钢管件,90/45弯头管件源头厂家精选

2025 年 11 月不锈钢管件厂家权威推荐榜:欧标卡压管件,国标/薄壁/沟槽不锈钢管件,90/45弯头管件源头厂家精选 行业背景与发展现状 不锈钢管件作为现代建筑给排水、供气、供暖及工业设施中不可或缺的连接元件,其技术…

3.分治算法的设计思想与分析方法

3.1分治算法的设计思想 1.分治策略 基本思想&实例 基本思想:实例一:二分检索 算法&设计思想&时间复杂度 算法:设计思想:时间复杂度:实例二:二分归并排序 算法&设计思想&时间复杂度 算法:设计思想:…

2025.11.16总结

梳理了目前的作业和任务 1.儿童故事 现在已经实现了三个接口的调用。目前的任务是将其商业化美化。还有用户登录的逻辑要不要去实现。 接下来需要做的。 1.故事能分页,搜索。 2.故事详情界面能够看到每个字的拼音,并…