前言

在 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. 转换说明符
    1
    2
    3
    4
    5
    %s         字符串  
    %c 字符
    %d 有符号十进制整数
    %f 浮点数(包括float和double)

  2. 标志
1
2
左对齐   "-"   e.g.   "%-20s"   
右对齐: "+" e.g. "%+20s"
  1. 格式字符串(格式)
[标志][输出最少宽度][.精度][长度]类型
 "%-md" 左对齐,若m比实际少时,按实际输出。      
 "%m.ns"输出m位,取字符串(左起)n位,左补空格,当n>m or m省略时m=n        
                      e.g.    "%7.2s"   输入CHINA    
                                        输出"     CH"     
 "%m.nf"输出浮点数,m为宽度,n为小数点右边数位(实际长度超过m应该按实际数位输出,小数位数超过4位部分被四舍五入)     
                      e.g.    "%3.1f"   输入3852.99     
                                        输出3853.0      
     长度:为h短整形量,l为长整形量      

sanf

  1. 格式
    scanf("%d%d%d",&a,&b,&c)将前三个数与a,b,c分别绑定

  2. “*”符
    用以表示该输入项,读入后不赋予相应的变量,即跳过该输入值。如:
    scanf("%d %*d %d",&a,&b);
    当输入为:1 2 3时,把1赋予a,2被跳过,3赋予b。

  3. 宽度
    用十进制整数指定输入的宽度(即字符数)。例如:
    scanf("%5d",&a)
    输入12345678只把12345赋予变量a,其余部分被截去。又如:
    scanf("%4d%4d",&a,&b)
    输入12345678将把1234赋予a,而把5678赋予b。