当前位置: 首页 > 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.gsyq.cn/news/51656.html

相关文章:

  • 从概念迷宫到行动共生:价值原语化与全球行为接口协议新范式
  • 2025-11-17 使用nvm下载node包失败
  • 41
  • VB6介绍
  • 移动银行安全测试的11个最佳实践
  • 2025 年 11 月苹果仓厂家推荐排行榜,苹果仓民宿,移动房苹果仓,出口苹果仓,外贸出口苹果仓,集装箱苹果仓,景区苹果仓,苹果仓房屋,网红苹果仓,可移动式苹果仓公司推荐
  • 深入解析:STM32H743-ARM例程23-USB_HID
  • 2025 年 11 月广播设备厂家推荐排行榜,视讯广播,SI广播,数字IP广播,智能广播系统,定压功放,广播周边,广播话筒,广播机柜,SIP网络广播系统,公共广播系统公司推荐
  • 2025 年 11 月全自动智能点胶机厂家推荐排行榜,视觉定位点胶机,饰品/纽扣/拉链头/商标/钥匙扣/五金/徽章/线圈/硅胶/UV胶点胶设备公司精选
  • 2025 年 11 月试验机厂家推荐排行榜,拉力试验机,江都试验机,管材环刚度试验机,电子万能试验机,橡胶试验机,压缩试验机公司推荐
  • 2025 年 11 月家居智能制造系统厂家推荐排行榜:家居ERP,家居MES,家居CRM,家居ERP系统,家居MES软件,家居CRM产品公司推荐
  • Daibitx.EFCore.AutoMigrate:模块化架构下安全、可控的 EF Core 迁移方案
  • [LangChain] 19. 持久化记忆
  • 2025 年 11 月 Q355B/Q345B/16Mn 冷拉方钢厂家推荐排行榜,高强度结构钢,建筑机械用冷拉方钢,优质钢材厂家精选
  • *题解:P11364 [NOIP2024] 树上查询
  • 11.16方法
  • 2025 年 11 月智能吉他厂家推荐排行榜,无弦吉他,自动档吉他,伴奏吉他,MIDI吉他,创新科技与便捷演奏体验之选
  • 完整教程:Redis(69)Redis分布式锁的优点和缺点是什么?
  • 2025 年 11 月精密仪器厂家推荐排行榜,触摸仪表,手表锁具,测试针,医疗传感器,Pogopin声学弹簧公司精选
  • evalscope使用2-使用自定义数据集压测
  • 2025 年 11 月摩托车/机车厂家推荐排行榜:街车、跑车、巡航机车、越野摩托车品牌实力与市场口碑深度解析
  • (Kotlin高级特性三)Kotlin密封类(Sealed Class)在何时比枚举更适用? - 指南
  • 2025 年 11 月冷拉/冷拔扁钢厂家推荐排行榜,冷拉扁钢,冷拔扁钢,精密冷拉扁钢,高强度冷拔扁钢公司推荐
  • 20232309 2025-2026-1 《网络与系统攻防技术》实验五实验报告
  • CIO的能力
  • LangChain4j实战-工具(函数调用)Tools(Function Calling)
  • 小米路由器通过电脑使用手机usb共享网络联网教程
  • 第27天(简单题中等题 二分查找)
  • 题解:P14452 [ICPC 2025 Xian R] Follow the Penguins
  • 高安全性 PHP 2FA 开发指南:Authenticator 扫码验证实现方案