- int类型的大小:2*10^9
- Long long 类型:8个字节
- Double:1.7*10^308
- Menset()函数:初始化数组 使用时需要包含string.h头文件
void *memset(void *str, int c, size_t n)
参数 • str -- 指向要填充的内存块。 • c -- 要被设置的值。该值以 int 形式传递,但是函数在填充内存块时是使用该值的无符号字符形式。 • n -- 要被设置为该值的字符数。 返回值 该值返回一个指向存储区 str 的指针。
动态二维数组的使用:
int *p= new int[row];//定义指针数组 for(int i=0;i<row;i++) { p[i]=new int[Column]; } 使用完释放内存: for(int i=0;i<size;i++) { delete [] p[i]; // 要在指针前加[] , 否则的话 只释放p[i]所指的第一个单元所占的空间 } delete [] p;
- 关于数num = abcde 则abc=num /100,cde = num % 100.即/:后面位数被舍去,%前面位数会被舍去.
- 三角形中,大边对大角.
- 求最大公约数的函数__gcd(a,b).需要包含algorithm头文件
最大公倍数: a*b / 最大公约数 辗转相除法求最大公约数: while(res ! = 0) { res = a % b; a = b; b = res; } 最大公约数:a
swap(a,b)函数 在头文件iostream中.
STL提供了排列组合的函数next_permutation(first,last)函数:求后一个排列组合,每次调用数列增大,当为最大时,返回false.否则返回true.排列范围[first, last)
Prev_permutation(first,last):求前一个排列组合,当为第一个时,则返回false.否则返回true.
闰年的判断 满足下列情况之一时:
(1).年份是4的倍数,而不是100的倍数.
(2).年份是400的倍速.
Scanf()可以接收指定类型的数据,如scanf("%d/%d/%d",&year,&month,&day); 则输入的格式为2021/1/27.
C++ isalpha、isalnum、islower、isupper函数用法
1.isalpha isalpha()用来判断一个字符是否为字母,如果是字符则返回非零,否则返回零。 2.isalnum isalnum()用来判断一个字符是否为数字或者字母,也就是说判断一个字符是否属于a~z||A~Z||0~9。 3.islower islower()用来判断一个字符是否为小写字母,也就是是否属于a~z。 4.isupper isupper()和islower相反,用来判断一个字符是否为大写字母。 以上几个函数使用时不用包含头文件
矩阵乘法:Amn , Bnk,当两个矩阵A和B可以相乘时,乘法次数:mnk
获取一个字符:getchar(),输入一个字符:putchar().需要包含C语言头文件stdio.h(如果需要C语言的输入输出也需要包含该函数
读取一行字符串:getline(cin,s) s表示string 类型的字符串.
cin.getline(s,size) s代表一个字符数组.size代表最大长度.
如果想要把数字字符转成整形:‘6’ - ‘0’ = 6(自动转换) 想要把整形转成字符数字:int(6) 强制转换
大小写转化
printf("%c",char(int(ch)-32)); //小写改大写 printf("%c",char(int(ch)+32));
//大写改小写
‘+’ 的使用
两个字符串常量(如"Hello"+“World”)不能直接相加,因为都是常量.
一个字符串常量,一个string类型的变量可以相加,因为string中+进行了重载.
求字符串长度
C++中获取string类型字符串长度的函数:size(),length()都可.获取字符数组长度:strlen()函数(需要包含string.h头文件)
string.h一般表示与字符串处理相关的函数,string头文件表示使用了string容器.
c++中字符串截取:
s.substr (pos, n) ,pos表示要截取的字符串的开始的位置,n 代表要截取的字符串的长度。 s.substr(pos) ,
表示从pos位置开始的 到字符串最后一位截取的字符串
无穷大
无穷大:INT_MAX, 0x7fffffff(也可0x3f3f3f防止加减乘除时候溢出)无穷小:INT_MIN; 包含头文件
limits.h
优先队列
/*Priority_queue:优先队列,不仅可以存储数据还可以按照某种规则进行排序.每次的push,和pop操作,里面数据都会进行动态调整,把优先级高的放在前面. 使用:*/ template <class T, class Container = vector<T>, class Compare = less<typename Container::value_type> > class priority_queue; /*T:数据类型,第三个参数默认不写是从大到小,如果从小到大可以使用greater<T>.*/
字符串拼接时要注意拼接的每一部分都是字符串类型.可以使用to_string()函数来搞.
另外字符串转换成整形的函数如下:
int val = stoi(str);
long val = stol(str);
float val = stof(str);
long long val = stoll(str);`
25.getline(istream &, string &, char del); 第一个参数打开的流,第二个参数保存读入的内容,第三个参数字段的分割符号,默认是 ‘\n’
26.C++math.h中有函数y1,string中有index,还有map等,所以变量命名时记得避开这些名字.不然就凉了.
27. >> 和<<的优先级低于+,–优先级.所以使用时要注意.