這些C++經常使用內置函數你會幾個??

前言

數學函數
C++ 內置了豐富的數學函數,可對各類數字進行運算。下表列出了 C++ 中一些有用的內置的數學函數。
爲了利用這些函數,您須要引用數學頭文件 。markdown

函數 描述
double cos(double); 該函數返回弧度角(double 型)(度數)的餘弦。
double sin(double); 該函數返回弧度角(double 型)(度數)的正弦。
double tan(double); 該函數返回弧度角(double 型)(度數)的正切。
double log(double); 該函數返回參數的天然對數。
double pow(double, double); 假設第一個參數爲 x,第二個參數爲 y,則該函數返回 x 的 y 次方。
double hypot(double, double); 該函數返回兩個參數的平方總和的平方根,也就是說,參數爲一個直角三角形的兩個直角邊,函數會返回斜邊的長度。
double sqrt(double); 該函數返回參數的平方根。
int abs(int); 該函數返回整數的絕對值。
double fabs(double); 該函數返回任意一個十進制數的絕對值。
double floor(double); 該函數返回一個小於或等於傳入參數的最大整數。

隨機函數
在許多狀況下,須要生成隨機數。關於隨機數生成器,有兩個相關的函數。一個是 rand(),該函數只返回一個僞隨機數。生成隨機數以前必須先調用 srand() 函數。
下面是一個關於生成隨機數的簡單實例。實例中使用了 time() 函數來獲取系統時間的秒數,經過調用 rand() 函數來生成隨機數:網絡

#include <iostream>
#include <ctime>
#include <cstdlib>
 
using namespace std;
 
int main ()
{
   int i,j;
 
   // 設置種子
   srand( (unsigned)time( NULL ) );
 
   /* 生成 10 個隨機數 */
   for( i = 0; i < 10; i++ )
   {
      // 生成實際的隨機數
      j= rand();
      cout <<"隨機數: " << j << endl;
   }
 
   return 0;
}

 

當上面的代碼被編譯和執行時,它會產生下列結果:函數

隨機數: 1748144778
隨機數: 630873888
隨機數: 2134540646
隨機數: 219404170
隨機數: 902129458
隨機數: 920445370
隨機數: 1319072661
隨機數: 257938873
隨機數: 1256201101
隨機數: 58032298

setw()函數
在C++中,setw(int n)用來控制輸出間隔。
例如:post

cout<<'s'<<setw(8)<<'a'<<endl;

則在屏幕顯示學習

s       a

//s與a之間有7個空格,setw()只對其後面緊跟的輸出產生做用,如上例中,表示’a’共佔8個位置,不足的用空格填充。若輸入的內容超過setw()設置的長度,則按實際長度輸出。
setw()默認填充的內容爲空格,能夠用setfill()配合使用設置其餘字符填充。

cout<<setfill('*')<<setw(5)<<'a'<<endl;
則輸出:
****a //4個*和字符a共佔5個位置。atom

所謂域寬,就是輸出的內容(數值或字符等等)須要佔據多少個字符的位置,若是位置有空餘則會自動補足。好比咱們要設置域寬爲2,那麼當輸出一位數1的時候輸出的就是「 1」,即在1前面加了一個空格。空格和數字1正好一共佔用了兩個字符的位置。若是你C++學的很差,能夠去拿個人C++最新精講教程點我進裙自行獲取,spa

咱們在設置域寬和填充字符的時候要注意幾點:
①設置域寬的時候應該填入整數,設置填充字符的時候應該填入字符。
②咱們能夠對一個要輸出的內容同時設置域寬和填充字符,可是設置好的屬性僅對下一個輸出的內容有效,以後的輸出要再次設置。即cout <<setw(2) <<a <<b;語句中域寬設置僅對a有效,對b無效。
③setw和setfill被稱爲輸出控制符,使用時須要在程序開頭寫上#include 「iomanip.h」,不然沒法使用。code

實例

#include <iostream>
using namespace std;
 
#include <iomanip>
using std::setw;
 
int main ()
{
   int n[ 10 ]; // n 是一個包含 10 個整數的數組
 
   // 初始化數組元素          
   for ( int i = 0; i < 10; i++ )
   {
      n[ i ] = i + 100; // 設置元素 i 爲 i + 100
   }
   cout << "Element" << setw( 13 ) << "Value" << endl;
 
   // 輸出數組中每一個元素的值                     
   for ( int j = 0; j < 10; j++ )
   {
      cout << setw( 7 )<< j << setw( 13 ) << n[ j ] << endl;
   }
 
   return 0;
}

上面的程序使用了 setw() 函數來格式化輸出。當上面的代碼被編譯和執行時,它會產生下列結果:

Element        Value
      0          100
      1          101
      2          102
      3          103
      4          104
      5          105
      6          106
      7          107
      8          108
      9          109
相關文章
相關標籤/搜索