6.3 Sử Dụng Các Lệnh Liên Quan đến Xuất Dữ Liệu. Biến Số. Hằng Số

Sử dụng các lệnh liên quan đến xuất dữ liệu

Trong ngôn ngữ lập trình C++, có một số kí tự trên bàn phím chúng ta không thể đưa trực tiếp vào cặp dấu ngoặc kép để in ra màn hình trong lệnh cout được. Chúng ta cần định dạng chúng lại một chút. Sau đây là bảng một số kí tự đặc biệt và cách để in chúng ra màn hình:

(Nguồn: https://msdn.microsoft.com) Đầu tiên là sử dụng kí tự xuống dòng:

Như các bạn thấy, không còn sử dụng đối tượng endl nữa nhưng chuỗi kí tự trên vẫn được tách thành 2 dòng bằng cách sử dụng kí tự new line “\n”.

Tiếp theo, chúng ta thêm kí tự Tab và đầu chuỗi kí tự muốn in ra:

Ta thấy dòng đầu tiên đã được đẩy vào 1 Tab so với dòng thứ 2. Các bạn có thể thử lần lượt các kí tự đặc biệt trên nếu có thời gian. Tuy nhiên, cần lưu ý rằng kí tự new line “\n” và đối tượng endl đều đóng vai trò là kí tự xuống dòng nhưng nó hoàn toàn khác nhau.

Ngoài ra, các bạn còn có thể sử dụng đối tượng cout để in ra kết quả của một biểu thức toán học:

Ngoài tính toán và cho ra kết quả số nguyên, một chương trình C++ còn có thể tính toán các biểu thức và in ra giá trị là số âm, số thực…

  • Chương trình C++ không thể in ra giá trị là một phân số (trừ khi chúng ta tự định nghĩa lại), vì thế, ở biểu thức cuối cùng, máy tính không in ra được giá trị là 5/10 mà nó chỉ có thể in ra giá trị 0

Sử dụng thư viện iomanip

iomanip viết tắt của cụm từ iostream manipulator là một thư viện thuộc namespace std, nó định nghĩa một số hàm giúp lập trình viên có thể định dạng output.

Trong bài này, chúng ta chỉ làm quen với một số hàm đơn giản thường xuyên được sử dụng.

setw(int n)

setw là một hàm cho phép giới hạn độ rộng của một giá trị được xuất lên màn hình.

Cách sử dụng:

Cùng nhìn vào hình trên để xem cú pháp sử dụng và đánh giá kết quả.

  • Đầu tiên, chúng ta include thêm thư viện iomanip vào chương trình.
  • Tiếp theo, gọi hàm setw(int n) với n là một số nguyên (ví dụ: setw(8)) để định dạng độ rộng cho kiểu dữ liệu số, ngay lúc này, bất kì giá trị số nào được truyền vào luồng output stream thông qua cout đều bị đối tượng coutformat có độ rộng là 10 ô.
  • Cuối cùng thì thử truyền vài giá trị số nguyên vào để kiểm chứng thôi.

Trong hình trên, mình định dạng độ rộng của các số được đưa vào cout có độ rộng là 10, mình truyền thử 2 số nguyên mà số đầu tiên chỉ có 1 chữ số, số thứ 2 thì có 10 chữ số. Kết quả cho thấy có 9 khoảng trắng thừa đứng trước số 1 ở dòng đầu tiên.

Nếu các bạn muốn định dạng khoảng trắng phía sau, chỉ cần đổi giá trị trong hàm setw thành số âm như hình bên dưới:

setprecision(int n)

Cũng tương tự như hàm setw, hàm setprecision cũng nhận vào một giá trị số nguyên, nhưng mục đích của hàm này là định dạng số lượng chữ số trong phần thập phân của kiểu số thực.

Cách sử dụng:

  • Đảm bảo rằng thư viện iomanip đã được include vào chương trình.
  • Đẩy định dạng độ chính xác setpresicion(int n) và đối tượng cout thông qua toán tử <<, sau thời điểm này, mọi số thực có phần thập phân sẽ được định dạng lại, với độ dài phần thập phân bằng với số nguyên mà bạn đặt trong hàm setprecision.

Nhìn vào kết quả của đoạn chương trình trên, ta thấy rằng mặc định phần thập phân của một số thực chỉ có 6 chữ số. Sau khi định dạng lại với hàm setprecision(9) thì độ chính xác đã lên đến 9 chữ số.

Biến

Hình 1.4.10

Trong cột Category, người ta chia các kiểu dữ liệu cơ bản thành 4 loại:

  • Kiểu logic (boolean): bool.
  • Kiểu kí tự (character): char, wchar_t, char16_t, char32_t. Hiện tại chúng ta chỉ cần quan tâm đến kiểu char.
  • Kiểu số nguyên (integer): short, int, long, long long. Thường dùng nhất là kiểu int.
  • Kiểu số thực (floating): floatdouble, long double. Tùy vào độ chính xác mà chúng ta đòi hỏi ở phần thập phân mà chúng ta chọn kiểu dữ liệu float hoặc double. Kiểu double có kích thước vùng nhớ lớn hơn, nên sẽ lưu giá trị có độ chính xác cao hơn float.Dưới đây là bảng giới hạn giá trị cho từng kiểu dữ liệu mà chúng ta thường xuyên sử dụng trong Visual studio:Hình 1.4.12

    Biến cục bộ (local variable) và biến toàn cục (global variable)

    Khi có một biến khác nằm trong phạm vi của khối lệnh hàm main được khai báo cùng tên với biến toàn cục bên ngoài khối lệnh hàm main, mỗi câu lệnh truy xuất đến biến đó đều được ưu tiên tìm đến biến cục bộ bên trong hàm main trước. Vậy có cách nào để ta truy xuất được biến toàn cục bên ngoài hàm main không?

    Câu trả lời là có! Chúng ta sử dụng toán tử phạm vi (::) như sau:

    #include <iostream> using namespace std; int value = 1; int main() { int value = 10; cout << "local value: " << value << endl; cout << "global value: " << ::value << endl; system("pause"); return 0; }

    Hằng

    Khai báo hằng số

    Để khiến một biến trong C++ trở thành một hằng số, bạn chỉ cần đặt từ khóa const trước hoặc sau kiểu dữ liệu của biến. Ví dụ:

    const float gravity = 9.8;

    int const my_constant = 123;

Chia sẻ:

  • Twitter
  • Facebook
Thích Đang tải...

Có liên quan

Từ khóa » Thư Viện Iomanip Trong C++