Bài giảng Kỹ thuật lập trình C: Bài 3 - Hoàng Quốc Tuấn
lượt xem 4
download
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!
Bình luận(0) Đăng nhập để gửi bình luận!
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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Kỹ thuật lập trình - Phạm Thế Bảo
0 p | 220 | 32
-
Bài giảng Kỹ thuật lập trình: Chương I - Lưu Hồng Việt
48 p | 194 | 23
-
Bài giảng Kỹ thuật lập trình: Chương IV - Lưu Hồng Việt
32 p | 151 | 17
-
Bài giảng Kỹ thuật lập trình: Chương III - Lưu Hồng Việt
51 p | 147 | 15
-
Bài giảng Kỹ thuật lập trình: Chương V - Lưu Hồng Việt
19 p | 127 | 15
-
Bài giảng Kỹ thuật lập trình: Phần 1 - ĐH CNTT&TT
37 p | 114 | 10
-
Bài giảng Kỹ thuật lập trình - Bài 1: Tổng quan về kỹ thuật lập trình
65 p | 164 | 8
-
Bài giảng Kỹ thuật lập trình: Bài 1 - Phạm Đình Sắc
9 p | 127 | 7
-
Bài giảng Kỹ thuật lập trình nâng cao: Chương 4 - ThS. Dương Thành Phết
26 p | 92 | 7
-
Bài giảng Kỹ thuật lập trình - Chương 10: Tổng kết môn học (Trường Đại học Bách khoa Hà Nội)
67 p | 15 | 4
-
Bài giảng Kỹ thuật lập trình: Chương 1 - Trần Quang
39 p | 8 | 2
-
Bài giảng Kỹ thuật lập trình: Chương 2 - Trần Quang
25 p | 10 | 2
-
Bài giảng Kỹ thuật lập trình: Chương 7 - Trần Quang
28 p | 6 | 2
-
Bài giảng Kỹ thuật lập trình: Chương 8 - Trần Quang
34 p | 7 | 2
-
Bài giảng Kỹ thuật lập trình: Chương 9 - Trần Quang
33 p | 3 | 2
-
Bài giảng Kỹ thuật lập trình: Chương 3 - Trần Quang
52 p | 8 | 1
-
Bài giảng Kỹ thuật lập trình: Chương 4 - Trần Quang
32 p | 6 | 1
-
Bài giảng Kỹ thuật lập trình: Chương 6 - Trần Quang
37 p | 10 | 1
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn