1.4 常用的库函数和格式输出
标准 C++提供了十分强大的库。在这一节,我们只介绍一些和 Pascal 所提供的标准过程和函数功能相似的库函数。
函数定义
头文件
作用
备注
void*memset(void*p,int b,size_t
n);
cstring
把 p 所指向的连续 n 个字
节的值都设置成 b
与 FillChar 类似,但
要注意参数的顺序
void*memmove(void*p,const*q
,size_t n);
cstring
把 q 所指向的连续 n 个字
节的值复制到 p 所指向的
位置
与 Move 类似,p、q
所指向的内存区域可
以部分重叠
double atof(const char*p);
int atoi(const char*p);
long atol(const char*p);
cstdlib
把字符串 p 转化成所表示
的数
与 Val 类似
double fabs(double);
cmath
绝对值函数
与 Abs 类似
double ceil(double);
double floor(double);
cmath
取整函数, 前 者为上取
整,后者为下取整
double sqrt(double);
cmath
平方根函数
与 Sqrt 类似
double pow(double d,double e);
cmath
幂函数,返回 d 的 e 次方
double sin(double);
double cos(double);
double tan(double);
cmath
三角函数
double asin(double);
double acos(double);
double atan(double);
cmath
反三角函数
double atan2(double y,double
x);
cmath
增强型反 正切 函数,返
回点(x,y)的辐角
很有用,会根据点所
在的象限调整弧度值
double sinh(double);
double cosh(double);
double tanh(double);
cmath
双曲函数
double exp(double);
cmath
指数函数,以 e 为底
与 Exp 类似
double log(double);
double log10(double);
cmath
对数函数,前者以 e 为底,
后者以 10 为底
与 Ln 类似
另外,标准 C++中并没有提供函数 Pi,要获得 Pi 的值一般这样做:
const double pi=acos(0.)*2;
格式化输出
具体参考 C++语言等相关书籍
C++的流可以完成控制格式的操作。指定场宽由成员函数 width()来完成,而指定小数部分的位数则稍微麻烦一些,
要先把浮点数的输出方式设置为定点输出方式,然后再设置小数部分的位数。例如:
cout.setf(ios::fixed,ios::floatfield);
cout.precision(2);
cout<<1.2345<<endl;
以上程序段中第一个语句的作用就是把浮点数的输出方式设置为定点输出方式,第二个语句的作用是把小数部分
的位数设置为 2。和 Pascal 一样,小数部分的最后一位也会进行四舍五入的处理。
需要注意的是,width()只对接下来的一个格式化输出有效,如果有多个输出需要指定场宽,那么就要写多个
width()函数。而 precision()则对之后所有的浮点数输出都有效。例如: