C++数学运算
数字的原始数据类型:int\short\long\float\double
数学运算内置函数:C++继承了C的库,也有属于C++版本的库,在C/C++编程中可以调用的数学库有<math.h>和< cmath >两个,前者是继承自C的库,后者是C++的库。内置的库中提供了常用的数学运算函数供调用。下面是常用的cmath库函数
函数名 | 描述 |
---|---|
double cos( double ); | 返回弧度角的余弦值 |
double sin( double ); | 返回弧度角的正弦值 |
double tan( double ); | 返回弧度角的正切值 |
double log( double ); | 返回参数的自然数e的对数 |
double pow( double x, double y ); | 幂函数,返回x的y次方 |
double hypot(double x, double y ); | 以x和y为直角边求斜边长度 |
double sqrt(double); | 返回参数的开根号值 |
int abs(int); | 返回参数绝对值 |
double fabs(double); | fabs即float abs 返回浮点数的绝对值 |
double floor(double); | 返回小于或等于参数的最大整数 |
C++随机数
C++生成随机数函数是int rand();但该函数生成的随机数是伪随机数,是根据一个数为基准以某个递推公式计算出来的,但每次程序重新执行时,递推计算是相同的,导致程序每一次重新执行产生的随机数序列是一样的。
通常需要使用一个可变的随机数种子,每次生成随机数时根据种子来计算,随机数种子函数void srand(unsigned int seed);参数seed必须是整数,但如果seed是一个定值,则效果和没有种子一样,每次重新执行时,生成的序列是一样的。通常以时间为随机数种子产生随机数。
#include <iostream>
#include <ctime>//时间函数头文件
#include <cstdlib>//随机数函数的头文件
using namespace std;
int main (){
int i,j;
srand( (unsigned)time( NULL ) );//设置时间为随机数种子
for( i = 0; i < 10; i++ ){
/* 生成 10 个随机数 */
j= rand();//生成随机数
//可以指定随机数的生成范围
j = rand()%m+n //n是起始值,n+m-1是终止值,m是随机数范围
cout <<"随机数: " << j << endl;
}
return 0;
}
C++数组
数组是用于存储一系列相同数据类型的数据结构,数组是由连续的内存空间构成,数组声明的是一组变量而不是一个变量,且可以进行索引访问。数组下标是从零开始的。
type arrayName [ arraySize ];
数组在定义时必需主动或被动的定义其大小,要么定义其大小,要么初始化其存储的数据。数组只有在定义时支持用花括号进行初始化,在程序中只能靠下标索引单个的初始化。
int arr1[5];//定义时指定数组大小
int arr2[]={
1,2,3,4,5};//定义是初始化数组数据,此时数组大小由编译器自动推出
int arr3[6]={
1,2,3};//定义数组大小但只有部分数据时&#