Xem mẫu

  1. BÀI GIẢNG HỌC PHẦN KỸ THUẬT LẬP TRÌNH CHƯƠNG 3: VÀO/RA DỮ LIỆU VÀ CÁC CẤU TRÚC ĐIỀU KHIỂN CHƯƠNG TRÌNH
  2. Nội dung 3.1. Vào/ra dữ liệu 3.2. Các cấu trúc điều khiển chương trình 2
  3. 3.1. Vào/ra dữ liệu • Khai báo thư viện chương trình • Lệnh đưa dữ liệu ra màn hình • Lệnh nhập dữ liệu vào từ bàn phím 3
  4. Khai báo thư viện chương trình • Để có thể sử dụng các lệnh vào/ra dữ liệu, cần khai báo tệp tiêu đề stdio.h (standard input/output) #include hoặc #include "stdio.h" 4
  5. Lệnh đưa dữ liệu ra màn hình (1) • Cú pháp: printf(xâu_định_dạng, danh_sách_tham_số); Trong đó: - xâu_định_dạng: đặt trong cặp dấu " ", quy định cách thức hiển thị dữ liệu ra màn hình máy tính, bao gồm 3 loại ký tự: + Ký tự văn bản thông thường + Ký tự điều khiển + Đặc tả - danh_sách_tham_số: danh sách các giá trị được hiển thị theo quy định trong xâu định dạng, được viết ngăn cách nhau bởi dấu phẩy, gồm: tên biến, tên hằng, biểu thức, hàm, các giá trị cụ thể 5
  6. Lệnh đưa dữ liệu ra màn hình (2) • Lưu ý: danh_sách_tham_số phải phù hợp với các đặc tả trong xâu_định_dạng cả về số lượng, kiểu dữ liệu và thứ tự 6
  7. xâu_định_dạng (1) • Ký tự văn bản thông thường: Được đưa ra màn hình nguyên vẹn như trong xâu_định_dạng Ví dụ: - printf("Xin chao!");  Kết quả hiển thị trên màn hình: Xin chao! - printf("a+b");  Kết quả hiển thị trên màn hình: a+b • Một số ký tự đặc biệt cần đặt liền sau ký hiệu \"  in ra ký tự " \\  in ra ký tự 7
  8. xâu_định_dạng (2) • Ký tự điều khiển: tạo các hiệu ứng hiển thị đặc biệt \n xuống dòng \t tab \b backspace \r carriage return – đưa con trỏ màn hình về đầu dòng \f line feed – sang trang … Ví dụ: printf("\n"); printf("\t"); printf("\n\t"); 8
  9. xâu_định_dạng (3) • Đặc tả: Xác định kiểu dữ liệu của giá trị muốn xuất Đặc tả Ý nghĩa Kiểu dữ liệu %c Kiểu ký tự đơn char %i, %d Số nguyên hệ 10 có dấu int, char unsigned %u Số nguyên hệ 10 không dấu int/char Số hệ 8 không dấu (không %o int, char có số 0 đứng trước) Số hệ 16 không dấu chữ %x, %X thường/chữ hoa (không có int, char 0x đứng trước) 9
  10. xâu_định_dạng (4) • Đặc tả: (tiếp) Đặc tả Ý nghĩa Kiểu dữ liệu %li,%ld Số nguyên hệ 10 có dấu long %lu Số nguyên hệ 10 không dấu unsigned long Số hệ 8 không dấu (không %lo long có số 0 đứng trước) Số hệ 16 không dấu chữ %lx, thường/chữ hoa (không có long %lX 0x đứng trước) 10
  11. xâu_định_dạng (5) • Đặc tả: (tiếp) Đặc tả Ý nghĩa Kiểu dữ liệu Hiển thị xâu ký tự kết thúc %s char[] bởi '\0' %f Số thực dấu phẩy tĩnh float, double %e, %E Số thực dấu phẩy động float, double Dùng %f hoặc %e tùy %g float, double thuộc loại nào ngắn hơn 11
  12. xâu_định_dạng (6) • Ví dụ: int a,b; float x; a=5; b=10; x=12.75; printf("\n%d",a);  in ra 5 printf("\n%d",b);  in ra 10 printf("\n%d, %d",a,b);  in ra 5, 10 printf("\n%f",x);  in ra 12.750000 printf("\n%f",10.0/3);  in ra 3.333333 12
  13. Độ rộng hiển thị - đối với số nguyên • Định dạng: %nd trong đó n là số nguyên không âm, cho biết số chỗ dùng để viết số nguyên • Ví dụ: int a,b; a=123; b=45; printf("\n%4d",a); printf ("\n%5d",b); Kết quả hiển thị trên màn hình: ˽123 (˽ là ký hiệu dấu cách) ˽˽˽45 13
  14. Độ rộng hiển thị - đối với số thực (1) • Định dạng: %n.mf Trong đó n, m là 2 số nguyên không âm: n - số chỗ dùng để viết số thực m - số chỗ trong n dùng để viết phần thập phân 14
  15. Độ rộng hiển thị - đối với số thực (2) • Ví dụ: float x; x=9.125; printf("\n%f",x); printf("\n%.2f",x); printf("\n%6.2f",x); Kết quả hiển thị trên màn hình: 9.125000 9.13 ˽˽9.13 15
  16. Độ rộng hiển thị - Lưu ý (1) • Đối với các ký tự và xâu ký tự, định dạng độ rộng hiển thị tương tự như đối với số nguyên • Ví dụ: printf("\n%3d%15s%3c",1,"Tran Ngoc Anh",'A'); printf("\n%3d%15s%3c",2,"Nguyen Sao Mai",'B'); Kết quả hiển thị trên màn hình: ˽˽1˽˽Tran Ngoc Anh˽˽A ˽˽2˽Nguyen Sao Mai˽˽B 16
  17. Độ rộng hiển thị - Lưu ý (2) • Khi số chỗ cần thiết để hiển thị nội dung dữ liệu lớn hơn trong định dạng  hệ thống tự cung cấp thêm chỗ để hiển thị dữ liệu trong các trường hợp: số nguyên, phần nguyên của số thực, ký tự, xâu ký tự • Ví dụ: a=1024; x=10.875; printf("\n%1d",a); printf("\n%3.2f",x); printf("\n%0c",'A'); printf("\n%1s","ABC"); Kết quả: 1024 10.88 A ABC 17
  18. Căn lề trái/phải • Khi có định dạng độ rộng hiển thị dữ liệu, ngôn ngữ C mặc định căn lề phải; để căn lề trái cần thêm dấu - ngay sau ký hiệu % • Ví dụ: printf("\n%-3d%-15s%-3c",1,"Tran Ngoc Anh",'A'); printf("\n%-3d%-15s%-3c",2,"Nguyen Sao Mai",'B'); Kết quả hiển thị trên màn hình: 1˽˽Tran Ngoc Anh˽˽A˽˽ 2˽˽Nguyen Sao Mai˽B˽˽ 18
  19. Lệnh nhập dữ liệu vào từ bàn phím (1) • Cú pháp: scanf(xâu_định_dạng, danh_sách_tham_số); Trong đó: - xâu_định_dạng: chỉ bao gồm các đặc tả quy định cho từng loại dữ liệu được nhập vào - danh_sách_tham_số: bao gồm các địa chỉ của các biến được viết ngăn cách nhau bởi dấu phẩy (&tên_biến_1, &tên_biến_2, …) 19
  20. Lệnh nhập dữ liệu vào từ bàn phím (2) • Lưu ý: danh_sách_tham_số phải phù hợp với các đặc tả trong xâu_định_dạng cả về số lượng, kiểu dữ liệu, thứ tự 20
nguon tai.lieu . vn