Kỹ thuật lập trình C Chương 2: Lệnh nhập / xuất

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

pdf9 trang | Chia sẻ: lylyngoc | Lượt xem: 1713 | Lượt tải: 1download
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
Tài liệu liên quan