(C++) Biến. định dạng đầu ra


Biến

Máy tính sẽ không cần thiết nếu nó không có khả năng lưu trữ nhiều thông tin khác nhau trong bộ nhớ của nó và có thể xử lý cùng một loại thông tin bằng cách sử dụng cùng một thuật toán.Để tạo ra các chương trình thú vị hơn, người ta phải học cách lưu trữ thông tin trong bộ nhớ của máy tính. Đồng thời, chúng ta cần học cách truy cập bằng cách nào đó vào các ô nhớ của máy tính. 
Trong lập trình, cũng như trong cuộc sống, để chỉ bất kỳ phần nào trong bộ nhớ của máy tính, nó sẽ xuất hiện theo tên. Sử dụng tên này, bạn có thể đọc và viết thông tin ở đó.
 
Biến là một vị trí trong bộ nhớ máy tính có tên và lưu trữ một số giá trị tương ứng với loại .

Từ "biến" cho chúng ta biết rằng giá trị của nó có thể thay đổi trong quá trình thực hiện chương trình.  Khi một giá trị biến mới được lưu, giá trị biến cũ sẽ bị xóa.


Đối với máy tính, tất cả thông tin là dữ liệu trong bộ nhớ của nó - tập hợp các số 0 và 1 (nói một cách đơn giản, mọi thông tin trong máy tính chỉ là những con số và nó xử lý chúng theo cùng một cách). Tuy nhiên, chúng ta biết rằng số nguyên và số phân số hoạt động khác nhau. Do đó, mỗi ngôn ngữ lập trình có các loại dữ liệu khác nhau, được xử lý bằng các phương pháp khác nhau.

Ví dụ:
số nguyên biến – gõ int (từ tiếng Anh integer – integer), chiếm 4 byte trong bộ nhớ;
thực biến có thể có phần phân số (loại float – từ tiếng Anh dấu chấm động – dấu phẩy động) , chiếm 4 byte trong bộ nhớ hoặc nhập double, chiếm 8 byte;
ký tự (loại char – từ tiếng Anh ký tự – ký tự), chiếm 1 byte trong bộ nhớ.

Hãy thử thêm một số biến vào chương trình của chúng ta.
Trước khi sử dụng một biến, bạn cần yêu cầu máy tính phân bổ không gian trong bộ nhớ cho biến đó. Để làm điều này, biến phải được khai báo, nghĩa là chỉ định loại giá trị mà biến sẽ lưu trữ và đặt tên cho biến.
Bạn cũng có thể gán giá trị ban đầu cho nó nếu cần. 

Ví dụ
Tháo rời chương trình. #include <iosrstream> sử dụng không gian tên std; chủ yếu(){ int a = 6, b; // khai báo 2 biến kiểu số nguyên, // giá trị 6 ngay lập tức được lưu vào biến а. // Biến b chưa được đặt giá trị ban đầu, // những gì sẽ có trong bộ nhớ trong trường hợp này, chúng tôi không biết. }

Máy tính


Hãy thử viết một máy tính đơn giản.
Nhiệm vụ của chúng ta là hiển thị một biểu thức số học nào đó lên màn hình và yêu cầu máy tính tính toán.
Ví dụ: 
5+7=12
Ngoài ra, thay vì 57, có thể có các số khác nhau tùy thuộc vào giá trị của các biến ab trong chương trình.

Trong câu lệnh đầu ra, bạn không chỉ có thể hiển thị văn bản mà còn hiển thị giá trị của các biến, cũng như kết quả của một biểu thức số học. Hơn nữa, trình tự đầu ra có thể khác nhau. Ví dụ, để hiển thị biểu thức trên, bạn cần viết nó như sau: cout << a << "+" << b << "=" << a+b;
Nếu chúng ta muốn hiển thị giá trị của một biến, thì chúng ta chỉ cần chỉ định tên của nó mà không cần dấu ngoặc kép. Nếu chúng ta muốn hiển thị kết quả của một biểu thức số học, thì chỉ cần viết đúng biểu thức số học là đủ.
 
Cần ghi nhớ!
Các biến, văn bản và biểu thức số học được phân tách với nhau bằng <<.
 
*** Chuyên sâu: Sự khác biệt của C***
Trong chuỗi định dạng, số lượng bộ xác định đầu ra không bị giới hạn, điều chính đối với mỗi bộ xác định sau chuỗi định dạng là liệt kê tất cả các giá trị được phân tách bằng dấu phẩy sẽ được thay thế cho mẫu.
Ví dụ: printf("%d+%d=%d",a,b,a+b);
Chuỗi định dạng chứa ba thông số định dạng đầu ra (%d).
Công cụ xác định định dạng - dãy được tạo bởi dấu phần trăm đứng trước (%), được dùng để chỉ định loại và định dạng dữ liệu.

Trình xác định %d chỉ ra rằng các giá trị số nguyên phải được xuất ra.  Thứ tự thay thế là trực tiếp.  Những thứ kia. thay vì mẫu đầu tiên %d, giá trị của biến a sẽ được hiển thị, thay vì mẫu thứ hai - giá trị của biến b và  thay vì phần ba - giá trị của biểu thức  a+b.

Nhập giá trị biến

Để người dùng có thể tự đặt giá trị của biến, cần có thể nhập giá trị từ bàn phím. 
Tuyên bố đầu vào được viết như thế này: cin>> Một; Sau câu lệnh này, dữ liệu nhập từ bàn phím được lưu vào một biến nào đó.
Bạn cũng có thể kết hợp nhiều câu lệnh cin thành một.

Ví dụ: mục nhập: cin>> Một; cin>> b; thực hiện các hành động tương tự như viết: cin>> một>> b; nghĩa là, dữ liệu được nhập đầu tiên được nhập vào biến a, dữ liệu thứ hai vào biến b.
 
***Tài liệu chuyên sâu***
Để nhập dữ liệu từ bàn phím bằng ngôn ngữ C, toán tử nhập được sử dụng, nói chung có cấu trúc như sau: scanf("định dạng đầu vào", <địa chỉ biến>);

Định dạng đầu vào – là một chuỗi được trích dẫn liệt kê một hoặc nhiều định dạng định dạng.

Ví dụ, thường được sử dụng nhất: %d - đầu vào số nguyên (biến kiểu int); %f - nhập số thực (biến kiểu float);< /trước> %c - Đang nhập một ký tự (biến loại char). Ví dụ: scanf("%d%d", &a, &b); Toán tử này yêu cầu các giá trị của hai biến số nguyên từ bàn phím. Số đầu tiên được nhập từ bàn phím sẽ đi vào biến  a, số thứ hai vào biến  b.
 
Sau định dạng đầu vào, các tên biến được liệt kê, phân tách bằng dấu phẩy, có biểu tượng địa chỉ (&), nơi các giá trị đã nhập sẽ được lưu trữ. Các giá trị của biến luôn được nhập bằng cách chỉ định địa chỉ của biến này. Do đó, trước tên biến, bạn phải đặt một dấu và: &a - địa chỉ của biến a.
Cần ghi nhớ!
Số lượng định dạng đầu vào  và số lượng biến phải khớp!
 

Độ rộng và độ chính xác của trường đầu ra
*** Tài liệu chuyên sâu: dành cho những người quan tâm đến ngôn ngữ C ***
Các công cụ xác định đầu ra bổ sung cho phép bạn kiểm soát đầu ra của các số ở các định dạng nhất định.


Chiều rộng trường tối thiểu

Ví dụ:
%04d  - số sẽ được hiển thị ở 4 vị trí, nếu có ít hơn bốn chữ số, thì những chữ số đầu tiên sẽ là số không. inta=34; printf("%04d",a); //trên màn hình:0 0 3 4    Dấu gạch dưới được đặt ở đây đặc biệt để hiển thị trực quan đầu ra của số.   

%4d – giống nhau, chỉ thay vì số không sẽ có khoảng trắng inta=34; printf("%4d",a); //trên màn hình: _ _ 3 4


Xuất ra với độ chính xác nhất định

Đầu ra với độ chính xác nhất định được sử dụng để xuất số thực. Theo mặc định, số thực được hiển thị với độ chính xác lên tới 6 chữ số thập phân. Nhưng có những lúc bạn cần hiển thị một số với độ chính xác khác. Trong trường hợp này, bạn cần chỉ định số lượng địa điểm quen thuộc cần phân bổ cho chính số đó và số lượng sau dấu thập phân.
Ví dụ:
%9.3f   - Một số thực sẽ được hiển thị ở 9 vị trí (bao gồm cả vị trí dưới dấu chấm), với ba ký tự sau dấu chấm (phân cách giữa phần nguyên và phần phân số là dấu chấm). gấp đôi a=34,24356; printf("%9.3f",a); // trên màn hình: _ _ _ 32.2 44

Hiển thị giá trị của một biến trên màn hình. Thông số đầu ra *** Tài liệu chuyên sâu ***
Làm cách nào để hiển thị giá trị của một biến trên màn hình?
Để thực hiện việc này, bên trong chuỗi định dạng trong câu lệnh đầu ra, bạn phải chỉ định một số mẫu, tại vị trí mà giá trị của biến sẽ được hiển thị.
Việc sử dụng mẫu nào tùy thuộc vào loại biến. 
Các mẫu này được gọi là thông số đầu ra và được trình bày trong bảng. Một số lượng đủ các specifiers được đưa ra. Không cần thiết phải ghi nhớ tất cả chúng. 
Trong hầu hết các trường hợp, chúng tôi sẽ sử dụng các trình xác định để xuất số nguyên, số thực, cũng như các ký tự và chuỗi. Nhưng bạn có thể quay lại bài học này bất kỳ lúc nào và xem mẫu bạn cần.
  <đầu>
Để hiển thị các biến như short int  công cụ sửa đổi h được sử dụng (ví dụ: %hd).
Để hiển thị giá trị của biến kiểu long int, hãy sử dụng công cụ sửa đổi l (ví dụ: %ld).
Công cụ sửa đổi L có thể được sử dụng làm tiền tố trước các công cụ chỉ định e, f, g. Điều đó có nghĩa là một giá trị thuộc loại long double  được hiển thị trên màn hình. (ví dụ: %Lf).

 

Định dạng
%c Biểu tượng
%d Số thập phân có dấu
%i Số thập phân có dấu
%e Định dạng khoa học (chữ thường e)
%E Định dạng khoa học (viết hoa E)
%f Số thực 
%g Tùy thuộc vào định dạng nào ngắn hơn, %e hoặc %f được sử dụng
%G Tùy thuộc vào định dạng nào ngắn hơn, %E hoặc %f được sử dụng
%o Bát phân có dấu
%s Chuỗi ký tự
%u Số thập phân không dấu
%x Số thập lục phân không dấu (chữ thường)
%X Số thập lục phân không dấu (chữ hoa)
%p Chỉ mục
%n Con trỏ tới một biến số nguyên. Trình xác định làm cho biến số nguyên này được gán số ký tự được in trước nó
%% Ký %