当前位置:   article > 正文

蓝桥杯备赛学习要点梳理(1)——C++语言基础-编程基础_蓝桥杯基础知识c++

蓝桥杯基础知识c++

c++万能头文件及固定格式

  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. int main(){
  4. return 0;
  5. }

c++标准库相对于c标准库多了bool类型数据

  1. bool a = true;
  2. bool b = false;

输入输出:cin/cout

c++中的cin/cout与c语言中的printf/scanf之间有几个明显的区别:

  1. 格式化:在c语言中,通过使用格式化字符串来指定输入输出的格式,如%d表示整数,%f表示浮点数等。而在c++中,cin/cout通过流操作符<<和>>直接处理(自动判断)数据类型,不需要使用格式化字符串

  2. 类型安全:c++的cin/cout更加安全,它们会自动根据变量的类型进行输入和输出,不需要手动指定输入输出的数据类型

总的来说,c++中的cin/cout相对于c语言中的printf/scanf更加方便、安全和灵活,是c++提供的更高级的输入输出机制

  1. int a,b;
  2. double x,y;
  3. cin >> a >> b;
  4. cout << a << b <<endl;
  5. cin >> x >> y;
  6. cout << x << y <<'\n';

需要指出,在上述代码中第二个cout后并非使用endl,而是'\n',在算法竞赛中也常用这种写法,原因是endl相比于'\n'更加耗时

endl可理解为'\n'+刷新缓冲区,因此有时使用'\n'输出提示文字时会出现不显示的情况,造成语义混乱(需深入了解可自行b站)

(输出n位小数点限制的数据,需加上  ···<<fixed<<setprecision(n)<<···  )

取消同步流

cin/cout虽然相比于printf/scanf更加安全与便利,但其运行速度更慢,这时可采取取消同步流的方法来提高其速度

  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. int main(){
  4. ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
  5. }

取消同步流后,其速度与printf/scanf速度相差不大,适用于算法竞赛数据量较大的情况

string的使用

声明与输入

  1. string str;
  2. cin>>str;
  3. getline(cin,str);

string的各种常见基本操作

  1. int str="Hello,World";
  2. //获取字符串长度
  3. int length=str.length(); //或length=str.size()
  4. //拼接字符串
  5. string str1,str2;
  6. string res1=str1+str2;
  7. //尾接字符串
  8. str+="a";
  9. //获取子串
  10. string sstr=str.substr( 7 , 5 );
  11. //sstr="World",起始下标为7,子串长度为5
  12. //字符串查找
  13. bool res2=str.find("lo",2);
  14. //"lo"为要寻找的子串,寻找的起始下标为2
  15. //字符串比较
  16. int res3=str1.compare(str2);
  17. //按字典序比较,res<0则str1小于str2,res=0则str1与str2一样,res>0同理

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号