目录
优化c++输入输出流的速度:ios::sync_with_stdio(0);
static_cast<类型>(变量):将变量强制转换为<>中的类型
1.判断字符是否为字母或数字字符:isalnum(char c)//不是返回0,是则返回非0
2.判断字符是否为字母:isalpha(char c)//c为字母则返回非0,否则返回0
3.判断字符是否为数字字符:isdigit(char c)//c为数字字符则返回非0,否则返回0
注:c可以是单引号引起来的字符,也可以是字符对应的ASCCI码值
4.判断是否小写字符:islower(char c)//不是返回0,是则返回非0
5.判断是否为大写字符:isupper(char c)//不是返回0,是则返回非0
6.将大写转小写,若为其他字符则转为ASCCI码值:tolower(char c);
7.将小写转大写,若为其他字符则转为ASCCI码值:toupper(char c);
字符串的查找:被查找的字符串.find(要查找的字符串,开始的位置(如果不写默认从0开始))
greater<数据类型>()//从大到小排序sort(a,a+10,less());
万能头文件:#include<bits/stdc++.h>
优化c++输入输出流的速度:ios::sync_with_stdio(0);
别名:
typedef 类型 别名:
//比如我们要给long long命名为LL
typedef long long LL;
using 别名=类型:
using LL=long long;
强制转换
static_cast<类型>(变量):将变量强制转换为<>中的类型
【代码实现】:
#include <iostream>
using namespace std;
int main() {
double num = 3.14;
int convertedNum = static_cast<int>(num);
cout << "Original number: " << num << endl;
cout << "Converted number: " << convertedNum << endl;
return 0;
}
<cmath>
向上取整函数:ceil(number)
向下取整函数:floor(x)
圆周率近似值:acos(-1)
const double pi=acos(-1)
开三次方:cbrt()
计算整数的绝对值:int re=abs(int x)
计算平方根 :double sqrt(double x)
求浮点数的绝对值:fabs(a);
指数函数:pow(4,2);//表示4的2次方
求斜边函数:hypot(直角边长1,直角边长2);
<iomanip>
保留小数位数函数:cout<<fixed<<setprecision(保留小数位数)<<变量
<algorithm>
排序:
sort(begin,end,cmp)【默认升序排列】(其中begin是排序数组的起始地址,end是排序数组的结束地址(最后一位要排序元素的地址即元素的下一位)这两个参数都是地址如果a的下标从1开始,排序的起始位置就为a+1)
#include<bits/stdc++.h>
using namespace std;
int main(){
int a[11]={};
for(int i=0;i<10;i++){
cin>>a[i];
}
sort(a+0,a+10);//下标从0开始
for(int i=0;i<10;i++){
cout<<a[i]<<" ";
}
return 0;
}
若要写降序排列
bool cmp(student a,student b){
return a.total>b.total;//直接定义需要排序的对象
}
求两者之间的最小值:min(a,b);
求两者之间的最大值:max(a,b);
求绝对值:abs(a);
<cstdlib>
将字符串转换为整型函数:atoi(s)
#include <cstdlib> // 包含头文件以使用 atoi 函数
// 假设 ss 是一个字符串
const char* ss = "123";//或者char ss[10001];也可以
int x = atoi(ss); // 将字符串 "123" 转换为整数并赋值给 x
<iostream>
交换函数:swap(a,b);
终止程序函数:exit(0);
按任意键继续程序:getchar();
判断是否为字母:isalpha():
判断是否为小写:islower():
判断是否为大写:isupper():
转换为小写:tolower():
转换为大写:toupper():
判断是否为数字函数:isdigit():
是数字则返回1,否则返回0
判断是否为数字或者字母函数:isalnum():
找到int类型的最大值:INT_MAX
自动初始化类型函数:auto()
int i = 0, &ri = i;
auto a = i; //a为int型变量
auto a1 = ri; //a1为int型变量
auto p = &i;// &i 是一个普通int指针,p是一个整型指针int *
auto p1 = &ri; //同上
system函数:
暂停:system("pause")
颜色:system("color 5A")
attr 指定控制台输出的颜色属性
颜色属性由两个十六进制数字指定
第一个:对应于背景,
第二个:对应于前景。
例:color 5A
设置默认的控制台前景和背景颜色。
5 :紫色背景色
A :淡绿色的字体颜色
每个数字可以为以下任何值:
0 = 黑色 8 = 灰色 1 = 蓝色 9 = 淡蓝色 2 = 绿色 A = 淡绿色
3 = 浅绿色 B = 淡浅绿色 4 = 红色 C = 淡红色 5 = 紫色 D = 淡紫色
6 = 黄色 E = 淡黄色 7 = 白色 F = 亮白色
清除屏幕:system("cls")
用于清除屏幕的内容
<cctype>
1.判断字符是否为字母或数字字符:isalnum(char c)//不是返回0,是则返回非0
2.判断字符是否为字母:isalpha(char c)//c为字母则返回非0,否则返回0
3.判断字符是否为数字字符:isdigit(char c)//c为数字字符则返回非0,否则返回0
注:c可以是单引号引起来的字符,也可以是字符对应的ASCCI码值
4.判断是否小写字符:islower(char c)//不是返回0,是则返回非0
5.判断是否为大写字符:isupper(char c)//不是返回0,是则返回非0
6.将大写转小写,若为其他字符则转为ASCCI码值:tolower(char c);
7.将小写转大写,若为其他字符则转为ASCCI码值:toupper(char c);
字符串:
<string>
字符串的查找:被查找的字符串.find(要查找的字符串,开始的位置(如果不写默认从0开始))
用于查找字符串和指定字符,如果找不到则返回值为string::npos(18446744073709551615),若找到了则返回指定字符串在查找字符串中第一次出现的位置
string1.find(string2);
substring函数
用于截取字符串
string substr(int pos=0,int n);
函数说明:
1.pos是必填参数,表示从下标pos开始截取
2.n为截至参数,表示截取的字符串的个数
#include<iostream>
#include<string>
using namespace std;
int main(){
string s="ABCD";
cout<<s.substr(2)<<endl;//从字符串下标为2的地方开始截取
//截取到末尾("CD")
cout<<s.substr(0,2)<<endl;//从字符串下标为0的地方开始截取
//截取后面两个字符("AB")
cout<<s.substr(1,2)<<endl;//"BC"
return 0;
}
<cstring>
memset 初始化函数
memset(a,1,sizeof(a))
int类型:只能赋值0和-1
char类型:可以赋值任意字符
#include<iostream>
#include<cstring>
using namespace std;
int main(){
int a[4]={};
memset(a,-1,sizeof(a));//给a初始化为-1
for(int i=0;i<4;i++){
cout<<a[i]<<" ";
}
return 0;
}
atoi:将字符串转为整数
atoi(字符串)
char str = "12345"; // 定义一个字符串
int num = atoi(str); // 将字符串转换为整数
C++标准库:
less<数据类型>()//从小到大排序
greater<数据类型>()//从大到小排序sort(a,a+10,less<int>());
随机数生成函数:
#include<iostream>
#include<cstdlib>
#include<ctime>//获取当前时间戳
using namespace std;
int main(){
srand(time(0));
cout<<rand()<<endl;//rand函数随机产生0--32767之间的一个整数
return 0
}
exit函数:
exit(0):正常退出程序并清除数据
<ctime>
获取当前时间函数:
#include<iostream>
#include<ctime>
using namespace std;
int main(){
time_t now=time(0);
tm *ltm=localtime(&now);
//输出tm结构的各个组成部分
cout<<"年:"<<1900+ltm->tm_year<<endl;
cout<<"月:"<<ltm-> tm_mon<<endl;
cout<<"日:"<<ltm-> tm_mday<<endl;
cout<<"时间:"<<ltm-> tm_hour<<":";
cout<<ltm-> tm_min<<":";
cout<<ltm-> tm_sec<<endl;
return 0;
}