07/05/2018, 15:00

Number trong C++

Thông thường, khi chúng ta làm việc với Number (các kiểu giá trị số), chúng ta sử dụng các kiểu dữ liệu gốc như int, short, long, float và double, …. Các kiểu dữ liệu số, về giá trị có thể và dãy giá trị của chúng, đã được bàn luận trong chương Kiểu dữ liệu trong C++. Định ...

Thông thường, khi chúng ta làm việc với Number (các kiểu giá trị số), chúng ta sử dụng các kiểu dữ liệu gốc như int, short, long, float và double, …. Các kiểu dữ liệu số, về giá trị có thể và dãy giá trị của chúng, đã được bàn luận trong chương Kiểu dữ liệu trong C++.

Định nghĩa

Bạn đã thấy định nghĩa các số trong các ví dụ đa dạng ở các chương trước. Dưới đây là một ví dụ tổng hợp để định nghĩa các kiểu số đa dạng trong C++:

#include <iostream>
using namespace std;
 
int main ()
{
   // phan dinh nghia cac so:
   short  s;
   int    i;
   long   l;
   float  f;
   double d;
   
   // phep gan cho cac so;
   s = 10;      
   i = 1000;    
   l = 1000000; 
   f = 230.47;  
   d = 30949.374;
   
   // in cac so;
   cout << "short  s la: " << s << endl;
   cout << "int    i la: " << i << endl;
   cout << "long   l la: " << l << endl;
   cout << "float  f la: " << f << endl;
   cout << "double d la: " << d << endl;
 
   return 0;
}

Khi code trên được biên dịch và thực thi, nó cho kết quả sau:

short  s la: 10
int    i la: 1000
long   l la: 1000000
float  f la: 230.47
double d la: 30949.4

Hàm toán học trong C++

Bên cạnh các hàm đa dạng bạn có thể tạo, C++ cũng bao gồm một số hàm toán học hữu ích cho bạn sử dụng. Những hàm này có sẵn trong các thư viện C và C++ chuẩn, và được gọi là các hàm built-in. Đây là các hàm mà có thể được bao trong chương trình của bạn và sau đó sử dụng.

C++ có một tập hợp hàm toán học đa dạng, có thể được thực hiện trên các kiểu số khác nhau. Bảng dưới liệt kê một số hàm toán học có sẵn hữu ích trong C++.

Để sử dụng các hàm này, bạn cần bao header file là <cmath>.

STT Hàm & Mục đích
1 double cos(double);

Hàm này trả về cosin của một góc (dạng một double)

2 double sin(double);

Hàm này trả về sin của một góc (dạng một double)

3 double tan(double);

Hàm này trả về tang của một góc (dạng một double)

4 double log(double);

Hàm này trả về logarit tự nhiên (ln) của số đó

5 double pow(double, double);

Hàm mũ với cơ số là số double đầu tiên và số mũ là double thứ hai

6 double hypot(double, double);

Nếu bạn truyền độ dài của hai cạnh của tam giác (lần lượt là các số double), nó sẽ trả về độ dài cạnh huyền

7 double sqrt(double);

Trả về căn bậc hai của số double

8 int abs(int);

Trả về trị tuyệt đối của int

9 double fabs(double);

Trả về trị tuyệt đối của bất kỳ số double nào

10 double floor(double);

Tìm số integer mà nhỏ hơn hoặc bằng tham số đã truyền cho nó

Ví dụ sau minh họa một số hàm toán học trong C++:

#include <iostream>
#include <cmath>
using namespace std;
 
int main ()
{
   // phan dinh nghia cac so:
   short  s = 10;
   int    i = -1000;
   long   l = 100000;
   float  f = 230.47;
   double d = 200.374;

   // cac hoat dong toan hoc;
   cout << "sin(d)     co gia tri la: " << sin(d) << endl;
   cout << "abs(i)     co gia tri la: " << abs(i) << endl;
   cout << "floor(d)   co gia tri la: " << floor(d) << endl;
   cout << "sqrt(f)    co gia tri la: " << sqrt(f) << endl;
   cout << "pow( d, 2) co gia tri la: " << pow(d, 2) << endl;
 
   return 0;
}

Chạy chương trình C++ trên sẽ cho kết quả như hình sau:

Hàm toán học trong C++

Số ngẫu nhiên (Random Number) trong C++

Trong một số trường hợp, bạn muốn tạo một số ngẫu nhiên (random number). Có hai hàm có thể giúp bạn thực hiện việc này. Hàm đầu tiên là rand() được định nghĩa trong thư viện <cstdlib>: sẽ chỉ trả về một số ngẫu nhiên giả, mà có thể không thay đổi qua các lần chạy chương trình. Để giải quyết điểm bất thường này, chúng ta sẽ sử dụng hàm srand() trong thư viện <ctime>.

Ví dụ sau sẽ tạo vài số ngẫu nhiên trong C++. Ví dụ có sử dụng hàm time() để lấy số giây trên System time của bạn. Giá trị trả về từ time là qua scrand, bạn lưu ý là số ngẫu nhiên được tạo ra trước lời gọi rand.

#include <iostream>
#include <ctime>
#include <cstdlib>

using namespace std;
 
int main ()
{
   int i,j;
 
 
   srand( (unsigned)time( NULL ) );

   /* tao 10 so ngau nhien. */
   for( i = 0; i < 10; i++ )
   {
      
      j= rand();
      cout <<" So ngau nhien la : " << j << endl;
   }

   return 0;
}

Chạy chương trình C++ trên sẽ cho kết quả như hình sau:

Số ngẫu nhiên trong C++

Mọi người cho thể tham gia khóa học thứ 6 của vietjackteam (đang tuyển sinh) vào đầu tháng 03/2018 do anh Nguyễn Thanh Tuyền, admin vietjack.com trực tiếp giảng dạy tại Hà Nội. Chi tiết nội dung khóa học tham khỏa link : .Các bạn học CNTT, điện tử viễn thông, đa phương tiện, điện-điện tử, toán tin có thể theo học khóa này. Số lượng các công việc Java hoặc .NET luôn gấp ít nhất 3 lần Android hoặc iOS trên thị trường tuyển dụng.

Mọi người có thể xem demo nội dung khóa học tại địa chỉ

Các bạn ở xa học không có điều kiện thời gian có thể tham dự khóa Java online để chủ động cho việc học tập. Trong tháng 4/2018, VietJack khuyến mại giá SỐC chỉ còn 150k cho khóa học, liên hệ facebook admin fb.com/tuyen.vietjack để thanh toán chuyển khoản hoặc thẻ điện thoại, khóa học bằng Tiếng Việt với gần 100 video, các bạn có thể chủ động bất cứ lúc nào, và xem mãi mãi. Thông tin khóa học tại

Loạt bài hướng dẫn học lập trình C++ cơ bản và nâng cao của chúng tôi dựa trên nguồn tài liệu của: Tutorialspoint.com

Follow fanpage của team hoặc facebook cá nhân Nguyễn Thanh Tuyền để tiếp tục theo dõi các loạt bài mới nhất về Java,C,C++,Javascript,HTML,Python,Database,Mobile.... mới nhất của chúng tôi.

Bài học C++ phổ biến khác tại vietjack.com:

0