一、字母 数字常用函数
- 判断字符是字母 或 数字
包含头文件 #include ,可以直接使用
功能 | 函数名称 | 返回值 |
---|---|---|
是否为小写字母 | islower(char c) | 小写返回true,否则返回false |
是否为大写字母 | isupper(char c) | 大写返回true,否则返回false |
是否为数字 | isdigit(char c) | 数字返回true,否则返回false |
是否为字母 | isalpha(char c) | 字母返回true,否则返回false |
是否为字母或者数字 | isalnum(char c) | 字母或数字返回true,否则返回false |
字母小转大 | toupper(char c) | 大写字母 |
字母大转小 | tolower(char c) | 小写字母 |
- 数字 字母 转换
数值转化成字符串,需要包含头文件 #include<string>
,利用函数to_string(int/double/float)
数字字符串转换成int输出,利用函数atoi(const char* str)
默认转化为int
型,输入是char[]
数组
还需要包含头文件 #include<cstring>
// 用于将数值转化为字符串,输入数字返回对应的字符串
#include<string>
string s;
s += "Hello ";
s += to_string(1258); // 数字转字符串
char c1[] = "-4569"; // 数字字符串转化为int
int num = atoi(c1);
二、读取数据
1.读取一行字符串:string型变量,利用getline(cin, s);
2.输入多行时:可以定义string数组,需要用cin.ignore();
干掉滞留在输入流中的换行符
#include<string>
stirng s;
getline(cin, s); // 读取一行字符串
int n; cin >> n;
cin.ignore(); // 或getchar(); 忽略输入流中的换行符
string s2[n];
for(int i =0; i < n; i++){
getline(cin, s2[i]);
}
其他常用函数
- sizeof
sizeof既不是函数也不是一元操作符,而是一种特殊的编译过程,sizeof内部的操作不会被编译,并且加不加括号都行
string s = "abcde";
string* p = &s; // string类型的指针
string & s1 = s; //string 类型的引用
sizeof(p); // 指针占4个字节,与指向的变量类型无关,int char double 都是 4个字节
sizeof(s1); // 与引用的对象有关,string的引用 28字节;char的 1字节;int的 4字节
int a = 5; sizeof(a=3); // 运行后a = 5,因为sizeof内部的赋值语句不会被编译
int a[10] = {7,4,5,23,2,73,41,52,28,60};
sort(a, a+a.size());
bool cmp(int a,int b) { return a>b;} // 自定义函数实现降序
sort(a,a+a.size(),cmp);
C++内置二分查找函数,需要包含头文件#include<algorithm>
- 搜索某个元素是否存在,使用
binary_search(beg,end,val)
,存在返回true,否则返回false - 获得被搜寻元素的位置,①
lower_bound()
:查找第一个大于或等于某个元素的位置,即左边界。②upper_bound()
:查找第一个大于某个元素的位置,即右边界+1。