前言
在 C++ 中,除了可以创建各种函数,还包含了各种有用的函数供您使用。这些函数写在标准 C 和 C++ 库中,叫做内置函数。您可以在程序中引用这些函数。
C++ 内置了丰富的数学函数,可对各种数字进行运算。下表列出了 C++ 中一些有用的内置的数学函数。
为了利用这些函数,您需要引用数学头文件
cmath
正弦sin(),余弦cos(),正切tan()  
 pow(x,y),x的y次方   
 sqrt()(square root)返回参数的平方根   
 log()返回参数的自然对数   
 abs()/fabs()(absolute value)返回绝对值   
 floor()返回一个小于或等于传入参数的最大整数   
 ceil返回大于或者等于指定表达式的最小整数
string
1.声明一个C++字符串
 string str1默认初始化    
 str3 = str1复制 str1 到 str3   
 str3 = str1 + str2连接 str1 和 str2  
 string s4(n,'c')s4由n个c组成 
 str3 = str1 + 'c'连接 str1 和 c  
 str[i]访问字符串中的字符
2.字符串操作函数.size()||.length()返回str3 的总长度   
.insert(插入的位置,插入的字符串) 插入字符
.erase(起始下标,删除子字符串的长度) 删除字符
find(待查找的子字符串,开始查找的位置)字符串查找
.substr(起始下标,提取的子字符串的长度) 返回某个子字符串
cstring
1.声明一个C++字符串
 strcpy(s1, s2)复制字符串 s2 到字符串 s1   
 strcat(s1, s2)连接字符串 s2 到字符串 s1 的末尾   
 strlen(s1)返回字符串 s1 的长度
2.字符串操作函数
 void MakeReverse( );
颠倒字符串的顺序
ctype.h
形式:int 函数(int c)
参数:传入的一定是一个字符或者EOF
返回值:满足条件返回非0(true),否则返回0;
int isalnum(int c) 该函数检查所传的字符是否是字母和数字。
int isalpha(int c) 该函数检查所传的字符是否是字母。
int islower(int c) 该函数检查所传的字符是否是小写字母。
int isupper(int c) 该函数检查所传的字符是否是大写字母。
int tolower(int c) 该函数把大写字母转换为小写字母。 //返回ascil码,需要加(char)进行转码
int toupper(int c) 该函数把小写字母转换为大写字母。
int isspace(int c) 该函数检查所传的字符是否是空格。
int ispunct(int c) 该函数检查所传的字符是否是标点符号
(io manipulator) 
setbase(n)                      设置整数为n进制(n=8,10,16)
setprecision(n)                设置浮点数的有效数字为n位
setw(n)                      设置字段宽度为n位
setfill(c)                      设置字符填充,c可以是字符常或字符变量
setiosflags(ios::fixed)    设置浮点数以固定的小数位显示
setiosflags(ios::scientific)  设置浮点数以科学计数法表示
setiosflags(ios::left)          输出左对齐
setiosflags(ios::right)          输出右对齐     
<stdio.h>(standard input & output)
这个函数过于复杂,这里只介绍printf()和scanf()       
printf
- 转换说明符 
1
2
3
4
5%s 字符串
%c 字符
%d 有符号十进制整数
%f 浮点数(包括float和double) - 标志
 
1  | 左对齐 "-" e.g. "%-20s"  | 
- 格式字符串(格式)
 
1  | [标志][输出最少宽度][.精度][长度]类型  | 
sanf
格式
scanf("%d%d%d",&a,&b,&c)将前三个数与a,b,c分别绑定“*”符
用以表示该输入项,读入后不赋予相应的变量,即跳过该输入值。如:scanf("%d %*d %d",&a,&b);
当输入为:1 2 3时,把1赋予a,2被跳过,3赋予b。宽度
用十进制整数指定输入的宽度(即字符数)。例如:scanf("%5d",&a)
输入12345678只把12345赋予变量a,其余部分被截去。又如:scanf("%4d%4d",&a,&b)
输入12345678将把1234赋予a,而把5678赋予b。