intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Kỹ thuật lập trình C: Bài 3 - Hoàng Quốc Tuấn

Chia sẻ: Cuchoami2510 | Ngày: | Loại File: PDF | Số trang:45

27
lượt xem
4
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài giảng Kỹ thuật lập trình C: Bài 3 Nhập xuất dữ liệu trong C, cung cấp cho người học những kiến thức như: Các hàm nhập xuất thuộc stdio.h; Các hàm nhập xuất thuộc conio.h; Bài tập minh họa. Mời các bạn cùng tham khảo!

Chủ đề:
Lưu

Nội dung Text: Bài giảng Kỹ thuật lập trình C: Bài 3 - Hoàng Quốc Tuấn

  1. KỸ THUẬT LẬP TRÌNH C BÀI 3: NHẬP XUẤT DỮ LIỆU TRONG C Hoàng Quốc Tuấn tuanhq@fpt.edu.vn http://hoangquoctuanpro.wordpress.com
  2. Nội dung I. Các hàm nhập xuất thuộc stdio.h II. Các hàm nhập xuất thuộc conio.h III. Bài tập minh họa 2
  3. I – CÁC HÀM NHẬP XUẤT THUỘC STDIO.H 1. Hàm đưa kết quả ra màn hình (printf) 2. Hàm scanf 3. Hàm gets 4. Hàm getchar 5. Lưu ý về các hàm scanf, gets, getchar 6. Hàm putchar 7. Hàm puts 3
  4. 1. Hàm đưa kết quả ra màn hình (printf) Cú pháp: printf (“chuỗi_điều_khiển” [, các_biểu_thức]); Chuỗi điều khiển gồm ba loại: Chuỗi ký tự mang tính chất thông báo (hằng chuỗi). Các ký tự điều khiển. Các mã đặc tả để in ra các biểu thức tượng ứng (mỗi biểu thức khi in ra phải có một đặc tả Các biểu thức cách nhau bằng dấu phẩy. Ví dụ: printf(“\ntong cua %d va %d là %d”, a,b,c); 4
  5. 1. Hàm đưa kết quả ra màn hình (printf) Các ký tự điều khiển: \n: sang dòng mới \t: dấu tab \b: lùi lại một bước (backspace) \f: sang trang mới Ví dụ: printf(“\nTam giac ABC\n\tDT: 6\n\tCV:12”); 5
  6. 1. Hàm đưa kết quả ra màn hình (printf) Mã đặc tả: dạng tổng quát: %[-][f][.p]ký_tự_chuyển_dạng Trong đó: Dấu % là ký tự để đưa ký tự chuyển dạng vào, bắt buộc phải có. [-]: dùng để xác định lề in là lề trái [f]: dùng để xác định số lượng khoảng không gian (tính bằng ký tự) dành cho xuất dữ liệu [p]: dùng để xác định độ chính xác của số thực hoặc số lượng ký tự tối đa của một chuỗi 6
  7. 1. Hàm đưa kết quả ra màn hình (printf) Mã đặc tả: ký_tự_chuyển_dạng: Ký tự Kiểu dữ liệu Ý nghĩa c char ký tự d/di int số nguyên ld/li long số nguyên dài f float hoặc double số thực e float hoặc double số thực dạng ký pháp khoa học s char[] , char* chuỗi u int số nguyên hệ 10 không dấu 7
  8. 1. Hàm đưa kết quả ra màn hình (printf) Mã đặc tả: ký_tự_chuyển_dạng: Ký tự Kiểu dữ liệu Ý nghĩa o int số nguyên hệ 8 không dấu lo long số nguyên hệ 8 không dấu x int số nguyên hệ 16 không dấu lx long số nguyên hệ 16 không dấu g float hay double không in ra các số 0 vô nghĩa 8
  9. 1. Hàm đưa kết quả ra màn hình (printf) Ví dụ: char ky_tu = ‘A’; printf(“\nDay la ky tu %c viet hoa”, ky_tu); // Day la ky tu A viet hoa int a, b, c; a = 6; b = 9; c = a + b; printf(“%d + %d = %d”, a, b, c); // 6 + 9 = 15 9
  10. 2. Hàm scanf Cú pháp: scanf (các_đặc_tả, danh_sách_địa_chỉ_các_biến); Ví dụ: nhập vào ký tự char c; scanf (“%c”, &c); Ví dụ: nhập vào số nguyên int t; scanf (“%d”, &t); 10
  11. 2. Hàm scanf Các đặc tả: Ký tự Ý nghĩa c Một ký tự d Một giá trị int ld Một giá trị long o Một giá trị int hệ 8 lo Một giá trị long hệ 8 s Vào một chuỗi 11
  12. 2. Hàm scanf Các đặc tả: Ký tự Ý nghĩa x Một giá trị kiểu int hệ 16 lx Một giá trị kiểu long hệ 16 f hay e Một giá trị kiểu float lf hay le Một giá trị kiểu double 12
  13. 2. Hàm scanf Ví dụ: #include void main() { float value; printf (“ Nhap mot so: ”); scanf (“%f”, &value); /*Nhap mot so => 23*/ printf (“ Ket qua la: %f ”, value); /* ket qua la: 23.000000 */ } 13
  14. 2. Hàm scanf Ví dụ: #include void main() { char a[25]; /*khai bao chuoi 25 ky tu*/ int i; printf (“ Nhap chuoi ky tu: ”); scanf (“%s”, a); /*gia su nhap vao la ABCDEFGH (chu y la khong nhap duoc khoang trang bang nlenh nay)*/ /*Khi nhap chuoi ta khong can phai lay dia chi*/ printf (“%s ”, a); /* In ra ABCDEFGH */ } 14
  15. 3. Hàm gets Cú pháp: gets (tên_của_mảng_ký_tự); Hàm này cho phép nhận một chuỗi từ bàn phím cho đến khi gặp ký tự \n (có cho phép nhập khoảng trắng giữa các từ). 15
  16. 3. Hàm gets Ví dụ: #include void main() { char a[25]; /*khai bao chuoi 25 ky tu*/ int i; printf (“ Nhap chuoi ky tu: ”); gets(a); /*gia su nhap vao la ABCDEFGH, co the nhap duoc khoang trang bang nlenh nay)*/ /*Khi nhap chuoi ta khong can phai lay dia chi*/ printf (“%s ”, a); /* In ra ABCDEFGH */ } 16
  17. 4. Hàm getchar Cú pháp: getchar(); Hàm này dùng để nhận một ký tự từ bàn phím và trả về ký tự nhận được. 17
  18. 4. Hàm getchar Ví dụ: #include void main() { int j; printf(“Nhap mot ky tu: ”); j = getchar(); /* nhan mot ky tu tu ban phim roi gan cho j. Gia su j = ‘A’*/ printf(“%c\n”, j); /* in ra man hinh ky tu A */ printf(“%d”, j); /* in ra man hinh ma ASCII cua A la 65 */ } 18
  19. 5. Lưu ý về các hàm scanf, gets và getchar Các hàm này nhận dữ liệu từ stdin (dòng nhập chuẩn từ bàn phím), chúng nhận dữ liệu theo nguyên tắc sau: − Nếu trên stdin có đủ dữ liệu thì chúng sẽ nhận một phần dữ liệu mà nó yêu cầu, phần dữ liệu còn lại vẫn ở trên stdin. − Nếu trên stdin không đủ dữ liệu theo yêu cầu của hàm, thì máy tạm dừng để chờ người sử dụng đưa dữ liệu từ bàn phím lên stdin cho đến khi gặp phím Enter (\n). − Phần dữ liệu đã được lấy bởi các hàm này được tự động xóa khỏi stdin, trong đó hàm gets sẽ xóa ký tự \n trong stdin; hàm scanf và getchar không xóa \n trong stdin. Nếu sử dụng các lệnh scanf, getchar thì các lệnh sau sẽ bị trôi do mã phím \n còn lại trong stdin của scanf hoặc getchar trước đó 19
  20. 5. Lưu ý về các hàm scanf, gets và getchar Ví dụ: #include void main() Giả sử, chạy chương { trình, ta nhập 65. char a,b; khi đó lệnh scanf thứ hai printf(“Nhap mot so: ”); bị trôi và kết quả là a=65 scanf(“%d”, &a); và b=. printf(“Nhap mot ky tu: ”); Để các hàm hoạt động scanf(“%c”, &b); đúng, phải khử ký tự \n printf(“\n %d %c”, a, b); còn trong stdin bằng } lệnh fflush(stdin). 20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2