1、字符和数字的转换

ACM练习C++知识点笔记_#include

#include<iostream>
using namespace std;
int main(){
	int n = '8' - 48;
	cout<<n<<endl;
	return 0;
}

数字转字符串

ACM练习C++知识点笔记_ios_02

#include <string>
#include <sstream>
#include <iostream>
using namespace std;
int main()
{
  double a = 123.32;
  string res;
  stringstream ss; // 定义流ss
  ss << a;  //将数字a转化成流ss
  ss >> res;  //将流ss转化成字符串
  cout<<res<<endl;
  return 0;
}

字符串转数字

2、[Error] ld returned 1 exit status 报错

  • 有可能是之前执行的窗口没有关闭
  • 实在不行就重新新建文件,复制粘贴内容重新运行
  • 总之不是代码问题就是了

3、大小写字母转换(大写变小写就加32,反之则减32)

ACM练习C++知识点笔记_ios_03

#include<iostream>
using namespace std;
int main(){
	char n = char('A' + 32);
	cout<<n<<endl;
	return 0;
}

4、C++ 快速输入输出,关闭兼容stdio开关

std::ios::sync_with_stdio(false);

5、设置输出精确到几位的小数

ACM练习C++知识点笔记_ios_04

#include<iostream>
#include<iomanip>
using namespace std;

int main()
{
  double a = 31.344435435;
  cout<<a<<endl;
  cout<<fixed<<setprecision(2);
  cout<<a<<endl;
  return 0;
}

6、函数返回数组

#include <iostream>
using namespace std;

//想要从函数返回一个一维数组,必须声明一个返回指针的函数
int * arr_test()
{
  //C++ 不支持在函数外返回局部变量的地址,除非定义局部变量为 static 变量
  static int arr[2];
  arr[0] = 23;
  arr[1] = 55;
  return arr;
}
int main()
{
  int *arr = arr_test();
  cout<<*(arr + 0)<<" "<<*(arr + 1)<<endl;
  return 0;
}

7、int 与 long long

ACM练习C++知识点笔记_C++_05

#include <iostream>
using namespace std;

int main()
{
  // int型最多能表示10位数
  int n = 1000000000;
  cout<<n<<endl;
  cout<<(n + 1)<<endl;

  // long long型最多能表示19位数
  long long m = 1000000000000000000;
  cout<<m<<endl;
  cout<<(m + 1)<<endl;
  return 0;
}