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

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

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.jsqmd.com/news/42260/

相关文章:

  • 【Linux】curl基础语法与常用参数详解
  • Linux系统编程初步——冯诺依曼体系结构的理解
  • 2025-11-17 使用nvm下载node包失败
  • 2. 使用Gin处理HTTP请求
  • C++之复合类型(四) - Invinc
  • 20232414 2025-2026-1 《网络与系统攻防技术》实验五实验报告
  • 物流管理,必须掌握的10个要点 - 智慧园区
  • 工程行业中-使用AI报价得可行性-一般(属于能应付但不精确,未测试在数据库全得情况下得效果,总体欠调教)
  • 力扣 第 476 场周赛(A~D)
  • libvte, xfce4-terminal和gnome-terminal,干货满满
  • 2025 年 11 月冷却塔厂家推荐排行榜,闭式冷却塔,方形冷却塔,工业冷却塔,全钢冷却塔,凉水塔,圆形冷却塔,玻璃钢冷却塔,防腐冷却塔,冷却水塔公司推荐
  • 寄卖业务质检1
  • [学习记录整理] ---IP地址,网关,掩码,DNS等
  • 2025 年 11 月不锈钢管件厂家权威推荐榜:欧标卡压管件,国标/薄壁/沟槽不锈钢管件,90/45弯头管件源头厂家精选
  • 3.分治算法的设计思想与分析方法
  • 2025.11.16总结
  • 2025 年 11 月冷拉/冷拔方钢厂家推荐排行榜,冷拉方钢,冷拔方钢,精密冷拉方钢,高强度冷拔方钢公司推荐
  • LeeCode_2 两数相加
  • 2025 年 11 月 CNC 高压清洗机厂家推荐排行榜,CNC全自动高压清洗机,CNC高压去毛刺清洗机,卧式/双工位CNC高压清洗机,数控高压清洗去毛刺机公司推荐
  • 2025 年 11 月 Q355B/Q345B/16Mn 冷拔扁钢厂家推荐排行榜,优质冷拔扁钢,高强度扁钢,精密扁钢公司精选
  • 2025 年 11 月 Q355B/Q345B/16Mn 冷拔圆钢厂家推荐排行榜,优质冷拔圆钢,高强度圆钢,合金结构钢圆钢公司精选
  • 移动银行安全测试的11个最佳实践
  • 2025 年 11 月冷拉/冷拔异型钢厂家推荐排行榜,精密冷拉异型钢,冷拔异型钢材,定制冷拉型钢,高强度冷拔钢公司推荐
  • 2025 年 11 月苹果仓厂家推荐排行榜,苹果仓民宿,移动房苹果仓,出口苹果仓,外贸出口苹果仓,集装箱苹果仓,景区苹果仓,苹果仓房屋,网红苹果仓,可移动式苹果仓公司推荐
  • 图像算法处理-OpenCV图像翻转SSE版(ippicv)复现
  • 2025 年 11 月 Q355B/Q345B/16Mn 扁钢厂家推荐排行榜,低合金高强度扁钢,结构用扁钢,优质扁钢批发公司推荐
  • 2025 年 11 月红木家具厂家权威推荐榜:交趾黄檀/小叶紫檀/巴里黄檀/缅甸花梨/阔叶黄檀,明清古典榫卯工艺高端定制全屋整装,白胚烘干实力解析
  • OI 笑传 #29
  • 2025 年 11 月广播设备厂家推荐排行榜,视讯广播,SI广播,数字IP广播,智能广播系统,定压功放,广播周边,广播话筒,广播机柜,SIP网络广播系统,公共广播系统公司推荐
  • 2025 年 11 月全自动智能点胶机厂家推荐排行榜,视觉定位点胶机,饰品/纽扣/拉链头/商标/钥匙扣/五金/徽章/线圈/硅胶/UV胶点胶设备公司精选