Xâu điều khiển bao gồm 3 loại kí tự
– Các kí tự điều khiển
•\n sang dòng mới
•\f sang trang mới
•\b xóa kí tự bên trái
•\t dấu Tab
– Các kí tự để đưa ra màn hình
– Các kí tự định dạng và khuôn in
• Công thức định dạng: %[-][w][.p]Kt
• w= wide(độ rộng); p= precise(độ chính xác); Kt =
Ký tự chuyển dạng (dạng hiển thị). Dấu trừ sẽ quy
định canh lề trái thay vì canh lề phải
• Ví dụ: %.2f %8d %s %-5c
9 trang |
Chia sẻ: lylyngoc | Lượt xem: 1698 | Lượt tải: 1
Bạn đang xem nội dung tài liệu Kỹ thuật lập trình C Chương 2: Lệnh nhập / xuất, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
bangtqh@hotmail.com
KỸ THUẬT LẬP TRÌNH C
Chương 2: Lệnh nhập / xuất
04/2010
Kỹ thuật lập trình C - Nhập/xuất dữ liệu 2bangtqh@hotmail.com
Xuất dữ liệu, hàm: printf
• Thuộc thư viện “stdio.h”
• Cú pháp:
• Ví dụ:
printf(“Xâu điều khiển”,[danh sách tham số]);
04/2010
Kỹ thuật lập trình C - Nhập/xuất dữ liệu 3bangtqh@hotmail.com
Hàm printf
• Xâu ñiều khiển bao gồm 3 loại kí tự
– Các kí tự ñiều khiển
•\n sang dòng mới
•\f sang trang mới
•\b xóa kí tự bên trái
•\t dấu Tab
– Các kí tự ñể ñưa ra màn hình
– Các kí tự ñịnh dạng và khuôn in
• Công thức định dạng: %[-][w][.p]Kt
• w = wide(độ rộng); p = precise(độ chính xác); Kt =
Ký tự chuyển dạng (dạng hiển thị). Dấu trừ sẽ quy
định canh lề trái thay vì canh lề phải
• Ví dụ: %.2f %8d %s %-5c
04/2010
Kỹ thuật lập trình C - Nhập/xuất dữ liệu 4bangtqh@hotmail.com
Hàm printf
• Các ký tự chuyển dạng thường dùng
In ra ở dạng số thực (bỏ các số 0 vô nghĩa)g, G
In ra rở dạng khoa học e, E
In ra ở dạng số nguyên hệ 8o
In ra ở dạng số nguyên hệ 16 (hecxa)x
In ra ở dạng xâu ký tựs
In ra ở dạng số thực floatf
In ra ở dạng số nguyên unsigned longlu
In ra ở dạng số nguyên longld
In ra ở dạng số nguyên unsigned intu
In ra ở dạng số nguyên intd
In ra ở dạng ký tự charc
Ý nghĩaKý tự
04/2010
Kỹ thuật lập trình C - Nhập/xuất dữ liệu 5bangtqh@hotmail.com
Hàm printf
• Ví dụ
04/2010
Kỹ thuật lập trình C - Nhập/xuất dữ liệu 6bangtqh@hotmail.com
Hàm printf
• In các ký tự ñặc biệt
• Công thức định dạng
%[-][w][.p]Kt
– W: wide (độ rộng)
– P: precse (độ chính xác)
– Kt: Ký tự chuyển dạng
• Giá trị của w
– Nhỏ hơn hoặc bằng độ rộng thực tế in bình thường
– Lớn hơn độ rộng thực tế (chèn thêm khoảng trống cho đủ
độ rộng là w (nếu có dấu trừ chèn bên phải, ngược lại
chèn bên trái)
• Giá trị p: quy ñịnh làm tròn đến bao nhiêu chữ số
đằng sau chấm thập phân.
In xuống dòng mới\n
In lùi 1 vị trí\b
In ký tự Tab\t
In ký tự backslash (\)\\
In ký tự dấu nháy kép (“)\”
In ký tự dấu nháy đơn (‘)\’
Ý nghĩaViết
04/2010
Kỹ thuật lập trình C - Nhập/xuất dữ liệu 7bangtqh@hotmail.com
Hàm puts
• Thư viện: “conio.h”
• Công dụng: in ra màn hình 1 xâu ký tự
• Ví dụ:
04/2010
Kỹ thuật lập trình C - Nhập/xuất dữ liệu 8bangtqh@hotmail.com
Hàm sprintf
• Thư viện: “stdio.h”
• Công dụng: giống printf, chỉ khác ở ñiểm kết quả
không xuất ra màn hình mà ñưa vào 1 biến xâu.
• Ví dụ:
04/2010
Kỹ thuật lập trình C - Nhập/xuất dữ liệu 9bangtqh@hotmail.com
Nhập dữ liệu, hàm: scanf
• Thuộc thư viện “stdio.h”
• Cú pháp:
– Xâu điều khiển: Cho phép định dạng dữ liệu nhập vào
– Danh sách tham số: Là ñịa chỉ các biến cần nhập liệu
• Sử dụng toán tử & ñể xác định địa chỉ các biến
• Ví dụ:
scanf(“%d%f%c”, &x, &y, &z);
scanf(“%s”, &hoten);
scanf(“Xâu điều khiển”,[DS tham số]);
04/2010
Kỹ thuật lập trình C - Nhập/xuất dữ liệu 10bangtqh@hotmail.com
• Không thông báo cho
người dùng biết giá trị
cần nhập là giá trị gì?
phải kết hợp với
lệnh xuất dữ liệu
• Không nhận được
xâu có dấu cách trống
• Không xóa ký tự thừa
trong bộ ñệm ảnh
hưởng tới lện nhập
phía sau.
Hàm scanf
04/2010
Kỹ thuật lập trình C - Nhập/xuất dữ liệu 11bangtqh@hotmail.com
Sử dụng fflush sau scanf
Công dng:
xóa những ký tự
thừa còn dư lại
trong bộ ñệm của
scanf
04/2010
Kỹ thuật lập trình C - Nhập/xuất dữ liệu 12bangtqh@hotmail.com
Kết hợp nhập và xuất dữ liệu
Kết quả
chương
trình ?
04/2010
Kỹ thuật lập trình C - Nhập/xuất dữ liệu 13bangtqh@hotmail.com
Hàm gets
• Thư viện: “conio.h”
• Công dụng: nhập vào 1 xâu ký tự
• Ví dụ: Liệu có dùng
gets nhập 1 số
không?
04/2010
Kỹ thuật lập trình C - Nhập/xuất dữ liệu 14bangtqh@hotmail.com
Một số hàm nhập/xuất dữ liệu khác
chuyển tới vị trí (cột x, hàng y)gotoxy(x, y)
Giống printf nhưng có màu sắccprintf()
Kiểm tra xem có 1 phím bị nhấn không?int kbhit()
In ra màn hình 1 ký tựint putch()
giống getch() nhưng hiển thị ở màn hìnhint getche()
đợi nhập 1 ký tự từ bàn phím (không hiển thị ở màn hình)int getch()
Ý nghĩaHàm
04/2010
Kỹ thuật lập trình C - Nhập/xuất dữ liệu 15bangtqh@hotmail.com
Màu sắc khi xuất dữ liệu
• Đặt màu nền
textbackground(màu nền)
• Đặt màu chữ
textcolor(màu chữ)
Đỏ4RED
7
6
5
3
2
1
0
Giá trị
XámLIGHTGRAY
NâuBROWN
TímMAGENTA
Xanh ngọcCYAN
Xanh láGREEN
Xanh dươngBLUE
ĐenBLACK
ý nghĩaHằng màu
04/2010
Kỹ thuật lập trình C - Nhập/xuất dữ liệu 16bangtqh@hotmail.com
Một vài ví dụ nhập/xuất dữ liệu
1. Viết chương trình cho nhập các hệ số của phương trình bậc nhất 1 ẩn
ax+b=0 (với a≠0) hãy in ra màn hình nghiệm của phương trình đã
cho.
2. Viết chương trình hiển thị ra màn hình số tiền phải trả cho 1 cuộc gọi
điện thoại N giây. Biết rằng cước gọi tính theo mỗi block là xñ, và 1
block bằng 6 giây. Các giá trị x, N nhập từ bàn phím.
3. Viết chương trình nhập tọa độ của 3 ñiểm A, B, C trên mặt phẳng.
Tính và in ra màn hình chu vi, diện tích của tam giác ABC.
4. Viết chương trình nhập họ tên, hệ số lương của 1 nhân viên. Tính và
in ra màn hình lương còn lĩnh của nhân viên đó sau khi trừ ñi các
khoản: BHYT 1.5%, BH thất nghiệp 1% và ðảng phí 1%
5. Viết chương trình hiện ra màn hình thể tích của tứ diện ABCD biết
rằng A, B, C có tọa độ nhập từ bàn phím (XA, YA) (XB, YB) (XC, YC) và
chiều cao từ ñỉnh D xuống mặt phẳng ABC là h
04/2010
Kỹ thuật lập trình C - Nhập/xuất dữ liệu 17bangtqh@hotmail.com
04/2010
Kỹ thuật lập trình C - Nhập/xuất dữ liệu 18bangtqh@hotmail.com