寫在前面:大家好!我是【AI 菌】,一枚愛彈吉他的程序員。我
熱愛AI、熱愛分享、熱愛開源
! 這博客是我對學習的一點總結與記錄。如果您也對深度學習、機器視覺、算法、Python、C++
感興趣,可以關注我的動態,我們一起學習,一起進步~
我的博客地址爲:【AI 菌】的博客
上一篇:【C++養成計劃】深入淺出——函數(Day6)
昨天,我們學習了很重要的一個部分——函數,認識了基本的函數,並學會了使用函數處理不同類型的數據。今天,我們來學習C++中經常會使用到的有關數字的一些操作。
1. 定義數字
我們所說的數字通常存儲在變量之中,定義數字本質上就是定義變量。因此在定義數字時,通常會使用到原始的數據類型,比如:int、short、long、float 和 double 等等。每一種數據類型,代表着該數允許的數值範圍和存儲該數分配的內存空間大小。
數據類型在前面已講過,不太熟悉的同學可回顧一下:【C++養成計劃】深入淺出——變量作用域(Day3)
2. 數學運算
爲了方便數學計算,我們可能會自定義一個函數實現相應的計算功能。其實在C++中,一些標準庫中已經內置了豐富的數學函數,可實現各種運算操作。我們在用的時候,直接調用該函數即可,只需要在程序開始引用頭文件,加入下面這行代碼:
#include <cmath>
下表列出了 C++ 中一些有用的內置的數學函數:
下面,我們來實際用一下這些的數學運算函數:
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
//定義數字
int a=1;
float b=-1.0,c=3.0;
double d=4.0;
short e=45;
float f=4.6;
//調用數學運算函數
cout<<"tan(45)="<<tan(e)<<endl; //計算tan,注意默認是弧度制
cout<<"log(1)="<<log(a)<<endl;
cout<<"pow(1,45)="<<pow(a,e)<<endl; //計算a的e次方
cout<<"hypot(3,4)="<<hypot(c,d)<<endl; //計算c,d平方和的平方根
cout<<"sqrt(4)="<<sqrt(d)<<endl; //計算平方根
cout<<"fabs(-1)="<<fabs(b)<<endl; //對浮點型數取絕對值
cout<<"floor(4.6)="<<floor(f)<<endl; //向下取整
return 0;
}
運行結果如下:
3. 隨機數
在有些情況下,需要生成隨機數,比如在做一個搖獎的小遊戲時,可能就會用到。在C++總,我們要生成隨機數,需要用到兩個函數:一個是srand(),用來設置隨機種子;另一個是rand(),用來生成隨機數。設置隨機種子在前,生成隨機數在後。
需要注意的是,在使用srand()、rand()函數時,需在程序前添加頭文件:
#include <cstdlib>
下面舉一個簡單的例子,用來依次生成10個隨機數:
#include<iostream>
#include<cstdlib>
using namespace std;
int main()
{
int j=0;
srand(5); //設置隨機種子
for(int i=0;i<10;i++)
{
j=rand(); //生成隨機數
cout<<"隨機數j="<<j<<endl;
}
return 0;
}
運行結果: