Định dạng nhập xuất trong C

Cùng tìm hiểu về Định dạng nhập xuất trong C. Bạn sẽ biết khái niệm định dạng nhập xuất trong C là gì, cũng như cách chỉ định và sử dụng của hầu hết các định dạng nhập xuất trong ngôn ngữ C sau bài học này.

Định dạng nhập xuất trong C là gì

Định dạng nhập xuất trong C chính là những bộ miêu tả có tính năng chỉ định định dạng hiển thị của những tài liệu nhập và xuất trong C. Định dạng nhập xuất được sử dụng trong những hàm như printf ( ), fprintf ( ), sprintf ( ), scanf ( ), fscanf ( ) và sscanf ( ) trong ngôn từ C .

Bảng định dạng xuất trong C

Dưới đây là bảng những định dạng xuất thông dụng được sử dụng trong những hàm xuất tài liệu trong C như printf ( ), fprintf ( ), sprintf ( ) .

Chuỗi định dạng Đại diện cho kiểu ký tự Ý nghĩa Ví dụ
%c char Xuất ra một ký tự "%c"
%s char * Xuất ra một chuỗi ký tự "%8s", "%-10s"
%d int, short Xuất ra một số nguyên dưới dạng thập phân "%-2d","%03d"
%u unsigned int, unsigned short Xuất ra một số nguyên dưới dạng thập phân không dấu "%2u","%02u"
%x int, short, unsigned int, unsigned short Xuất ra một số nguyên dưới dạng thập lục phân %04x"
%o int, short,unsigned int, unsigned short Xuất ra một số nguyên dưới dạng bát phân "%06o","%03o"
%f float Xuất ra một số thực "%5.2f"
%e float Xuất ra một số thực dưới dạng số mũ "%5.3e"
%g float Xuất ra một số thực dưới dạng phù hợp nhất "%g"
%ld long xuất ra số nguyên chính xác kép ở dạng thập phân "%-10ld"
%lu unsigned long xuất ra số nguyên chính xác kép ở dạng thập phân không dấu "%10lu"
%lo long, unsigned long Xuất ra số nguyên chính xác kép trong hệ bát phân "%12lo"
%lx long, unsigned long xuất ra số nguyên chính xác kép ở hệ thập lục phân "%08lx"
%lf double, unsigned long xuất ra số thực chính xác gấp đôi "%8.3lf"
%a double Xuất ra một số thực chính xác kép thập lục phân "%a"

Chỉ định số chữ số hiển thị trong C

Để chỉ định số chữ số hiển thị trong C, chúng ta sử dụng tới [chiều rộng tổng thể. chiều rộng sau dấu thập phân]. Chúng ta có thể lược bỏ một trong 2, hoặc là lược bỏ tất cả cũng không sao. Nếu không chỉ định chúng thì giá trị mặc định sẽ được sử dụng. Chú ý rằng chiều rộng sau dấu thập phân trong trường hợp chỉ định cho số có ý nghĩa là số chữ số hàng thập phân, tuy nhiên nếu chỉ định cho chuỗi ký tự sẽ có ý nghĩa là số ký tự đối đa của chuỗi đó.

Các ví dụ đơn cử :

Ví dụ Kết quả
printf("[%8.3f]", 123.45678); [ 123.456]
printf("[%15s]", "I am a boy."); [ I am a boy.]
printf("[%.6s]", "I am a boy."); [I am a]
printf("[%8.3e]", 1234.5678); [1.234e+3]

Lại nữa, cũng có những trường hợp mà chuỗi ký tự hiển thị thực tế có thể dài hơn số chữ số hiển thị được chỉ định. Điều này cần đặc biệt chú ý trong trường hợp chúng ta sử dụng hàm sprintf(). Lý do ở đây là vì hiện tượng tràn mảng. Ngay cả khi định dạng được chỉ định có cùng kích thước với vùng lưu trữ của chuỗi ký tự đi chăng nữa thì hiện tượng tràn mảng cũng có thể xảy ra.

Đệm số 0 đầu chuỗi cần in trong C

Trong trường hợp xuất số ra màn hình, chúng ta có thể đệm số 0 vào đầu chuỗi cho đủ độ dài của kết quả chuỗi Xuất ra màn hình như sau:

Ví dụ Kết quả
printf("[%08.3f]", 123.45678); [0123.456]
printf("[%05d]", 1); [00001]

Căn trái căn phải chuỗi cần in trong C

Chúng ta có thể căn trái căn phải chuỗi cần in trong C bằng cách sử dụng tới đối số flags - như dưới đây.

Ví dụ Kết quả
printf("[%-15s]", "I am a boy."); [I am a boy. ]
printf("[%15s]", "I am a boy."); [ I am a boy.]
printf("[%-8.3f]", 123.45678); [123.456 ]
printf("[%8.3f]", 123.45678); [ 123.457]
printf("[%-5d]", 1); [1 ]
printf("[%5d]", 1); [ 1]

Chỉ định dấu trong số khi in

Chúng ta có thể chỉ định dấu trong số khi in kết quả trong C bằng cách sử dụng tới đối số flags + như dưới đây.

Ví dụ Kết quả
printf("[%+5d]", 32); [ +32]
printf("[%+5d]", -32); [ -32]
printf("[%+8.3f]", 1.414); [ +1.414]

Bảng định dạng nhập trong C

Dưới đây là bảng những định dạng nhập thông dụng được sử dụng trong những hàm nhập tài liệu trong C như scanf ( ), fscanf ( ), sscanf ( ) .

Chuỗi định dạng Đại diện cho kiểu ký tự Ý nghĩa
%c char Nhập một ký tự
%s char * Nhập một chuỗi ký tự
%d int, short Nhập một số nguyên dưới dạng thập phân
%u unsigned int, unsigned short Nhập một số nguyên dưới dạng thập phân không dấu
%x int, short, unsigned int, unsigned short Nhập một số nguyên dưới dạng thập lục phân
%o int, short,unsigned int, unsigned short Nhập một số nguyên dưới dạng bát phân
%f float Nhập một số thực
%e float Nhập một số thực dưới dạng số mũ
%g float Nhập một số thực dưới dạng phù hợp nhất
%ld long Nhập số nguyên chính xác kép ở dạng thập phân
%lu unsigned long Nhập số nguyên chính xác kép ở dạng thập phân không dấu
%lo long, unsigned long Nhập số nguyên chính xác kép trong hệ bát phân
%lx long, unsigned long Nhập số nguyên chính xác kép ở hệ thập lục phân
%lf double, unsigned long Nhập số thực chính xác gấp đôi
%a double Nhập một số thực chính xác kép thập lục phân

Tổng kết

Trên đây Kiyoshi đã hướng dẫn bạn về định dạng nhập xuất trong C rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.

Và hãy cùng khám phá những kỹ năng và kiến thức sâu hơn về C trong những bài học kinh nghiệm tiếp theo .

Source: https://dvn.com.vn
Category: Hỏi Đáp

Alternate Text Gọi ngay