x9nd
05-09-2009, 10:36 PM
5. Bộ nhớ đệm nhập và xuất (Buffered I/O)
- Ngôn ngữ C bản thân nó không định nghĩa các thao tác nhập và xuất. Tất cả thao tác nhập và xuất được thực hiện bởi các hàm có sẵn trong thư viện hàm của C. Thư viện hàm C chứa một hệ thống hàm riếng mà nó điều khiển các thao tác này. Đó là:
+ Bộ nhớ đệm Nhập và Xuất - được dùng để đọc và viết các ký tự ASCII
- Một vùng đệm là nơi lưu trữ tạm thời, nằm trên bộ nhớ máy tính hoặc trên thẻ nhớ của bộ điều khiển thiết bị (controller card). Các ký tự nhập vào từ bàn phím được đưa vào bộ nhớ và đợi đến khi người dùng nhấn phím return hay enter thì chúng sẽ được thu nhận như một khối và cung cấp cho chương trình. Bộ nhớ đệm nhập và xuất có thể được phân thành:
+ Thiết bị nhập/ xuất chuẩn (Console I/O
+ Tập tin đệm nhập/ xuất (Buffered File I/O)
- Các hàm đơn giản nhất của Thiết bị nhập/ xuất chuẩn là:
Code:
getchar() - Đọc một và chỉ một ký tự từ bàn phím.
putchar() - Xuất một ký từ đơn ra màn hình.
6. getchar()
- Hàm này được dùng để đọc dữ liệu nhập vào, chỉ một ký tự tại một thời điểm từ bàn phím. Trong hầu hết việc thực thi C, khi dùng getchar(), các ký tự nằm trong vùng đệm cho đến khi người dùng nhấn phím xuống dòng. Vì vậy nó sẽ đợi cho đến khi phím Enter được gõ. Hàm getchar() không có tham số, nhưng vấn phải có cặp dấu ngoặc đơn. Nó đơn giản lấy về ký tự tiếp theo và sẵn sàng đưa ra cho chương trình. Chúng ta nói rằng hàm này trả về một giá trị có kiểu ký tự.
Ví dụ
Code:
/*Chuong trinh trinh bay cach dùng getchar()*/
#include <stdio.h>
void main()
{
char letter;
printf("\nPlease enter my character: ");
letter = getchar();
printf("\nThe character entered by you is %c. ", letter);
}
7. putchar()
- putchar() là hàm xuất ký tự trong C, nó sẽ xuất một ký tự lên màn hình tại vị trí con trỏ màn hình. Hàm này yêu cầu một tham số. Tham số của hàm putchar() đựoc thể hiện ở bảng dứoi đây:
<picture>
Ví dụ
Code:
/* Chuong trinh nay trinh bay viec su dung hang và dinh dang trong ham putchar() */
#include <stdio.h>
void main()
{
putchar("H"); putchar("\n");
putchar("\t");
putchar("E"); putchar("\n");
putchar("\t"); putchar("\t");
putchar("L"); putchar("\n");
putchar("\t"); putchar("\t"); putchar("\t");
putchar("L"); putchar("\n");
putchar("\t"); putchar("\t"); putchar("\t");
putchar("\t");
putchar("O");
}
Kết thúc bài 6
Bài tập tự làm
1. A. Hãy dùng câu lệnh printf() để:
. a) Xuất ra giá trị của biến số nguyen sum.
. b) Xuất ra chuỗi văn bản "Welcome", tiếp theo là một dòng mới.
. c) Xuất ra biến ký tự letter.
. d) Xuất ra biến số thực discount.
. e) Xuất ra biến số thực dump có 2 vị trí phần thập phân.
1. B. Dùng câu lênh scanf() và thực hiện:
. a) Đọc giá trị thập phân từ bàn phím vào biến số nguyên sum.
. b) Đọc một giá trị số thực vào biến discount_rate.
2. Viết một chương trình xuất ra giá trị ASCII của các ký tự 'A' và 'b'
3. Xét chương trình sau:
Code:
#include <stdio.h>
void main()
{
int breadth;
float length, height;
scanf("%d %f %6.2f", breadth, &length, height);
printf("%d %f %e", &breadth, length, height);
}
- Sửa lỗi chương trình trên.
4. Viết một chương trình nhạp vào name, basic, daper (phần trăm của D.A), bonper (phần trăm lợi tức) và loandet (tiền vay bị khấu trừ) cho một nhân viên. Tính lương như sau:
Code:
salary = basic + basic + daper/100 + bonper * bassic/100 - loandet
- Bảng dữ liệu:
Name - Bassic - Daper - Bonper - Loandet
Mark 2500 55 33.33 250.00
- Tính salary và xuất ra kết quả dưới các đầu đề sau (Lương được in ra gần dấu đôla($)):
Name - Basic - Salary
- Viết một chương trình yêu cầu nhập tên, họ của bạn và sau đó xuất ra tên, họ theo dạng là họ, tên.
:monkey18:monkey18:Bài 8: Điều kiện - thực hành:monkey72::monkey72:
- Ngôn ngữ C bản thân nó không định nghĩa các thao tác nhập và xuất. Tất cả thao tác nhập và xuất được thực hiện bởi các hàm có sẵn trong thư viện hàm của C. Thư viện hàm C chứa một hệ thống hàm riếng mà nó điều khiển các thao tác này. Đó là:
+ Bộ nhớ đệm Nhập và Xuất - được dùng để đọc và viết các ký tự ASCII
- Một vùng đệm là nơi lưu trữ tạm thời, nằm trên bộ nhớ máy tính hoặc trên thẻ nhớ của bộ điều khiển thiết bị (controller card). Các ký tự nhập vào từ bàn phím được đưa vào bộ nhớ và đợi đến khi người dùng nhấn phím return hay enter thì chúng sẽ được thu nhận như một khối và cung cấp cho chương trình. Bộ nhớ đệm nhập và xuất có thể được phân thành:
+ Thiết bị nhập/ xuất chuẩn (Console I/O
+ Tập tin đệm nhập/ xuất (Buffered File I/O)
- Các hàm đơn giản nhất của Thiết bị nhập/ xuất chuẩn là:
Code:
getchar() - Đọc một và chỉ một ký tự từ bàn phím.
putchar() - Xuất một ký từ đơn ra màn hình.
6. getchar()
- Hàm này được dùng để đọc dữ liệu nhập vào, chỉ một ký tự tại một thời điểm từ bàn phím. Trong hầu hết việc thực thi C, khi dùng getchar(), các ký tự nằm trong vùng đệm cho đến khi người dùng nhấn phím xuống dòng. Vì vậy nó sẽ đợi cho đến khi phím Enter được gõ. Hàm getchar() không có tham số, nhưng vấn phải có cặp dấu ngoặc đơn. Nó đơn giản lấy về ký tự tiếp theo và sẵn sàng đưa ra cho chương trình. Chúng ta nói rằng hàm này trả về một giá trị có kiểu ký tự.
Ví dụ
Code:
/*Chuong trinh trinh bay cach dùng getchar()*/
#include <stdio.h>
void main()
{
char letter;
printf("\nPlease enter my character: ");
letter = getchar();
printf("\nThe character entered by you is %c. ", letter);
}
7. putchar()
- putchar() là hàm xuất ký tự trong C, nó sẽ xuất một ký tự lên màn hình tại vị trí con trỏ màn hình. Hàm này yêu cầu một tham số. Tham số của hàm putchar() đựoc thể hiện ở bảng dứoi đây:
<picture>
Ví dụ
Code:
/* Chuong trinh nay trinh bay viec su dung hang và dinh dang trong ham putchar() */
#include <stdio.h>
void main()
{
putchar("H"); putchar("\n");
putchar("\t");
putchar("E"); putchar("\n");
putchar("\t"); putchar("\t");
putchar("L"); putchar("\n");
putchar("\t"); putchar("\t"); putchar("\t");
putchar("L"); putchar("\n");
putchar("\t"); putchar("\t"); putchar("\t");
putchar("\t");
putchar("O");
}
Kết thúc bài 6
Bài tập tự làm
1. A. Hãy dùng câu lệnh printf() để:
. a) Xuất ra giá trị của biến số nguyen sum.
. b) Xuất ra chuỗi văn bản "Welcome", tiếp theo là một dòng mới.
. c) Xuất ra biến ký tự letter.
. d) Xuất ra biến số thực discount.
. e) Xuất ra biến số thực dump có 2 vị trí phần thập phân.
1. B. Dùng câu lênh scanf() và thực hiện:
. a) Đọc giá trị thập phân từ bàn phím vào biến số nguyên sum.
. b) Đọc một giá trị số thực vào biến discount_rate.
2. Viết một chương trình xuất ra giá trị ASCII của các ký tự 'A' và 'b'
3. Xét chương trình sau:
Code:
#include <stdio.h>
void main()
{
int breadth;
float length, height;
scanf("%d %f %6.2f", breadth, &length, height);
printf("%d %f %e", &breadth, length, height);
}
- Sửa lỗi chương trình trên.
4. Viết một chương trình nhạp vào name, basic, daper (phần trăm của D.A), bonper (phần trăm lợi tức) và loandet (tiền vay bị khấu trừ) cho một nhân viên. Tính lương như sau:
Code:
salary = basic + basic + daper/100 + bonper * bassic/100 - loandet
- Bảng dữ liệu:
Name - Bassic - Daper - Bonper - Loandet
Mark 2500 55 33.33 250.00
- Tính salary và xuất ra kết quả dưới các đầu đề sau (Lương được in ra gần dấu đôla($)):
Name - Basic - Salary
- Viết một chương trình yêu cầu nhập tên, họ của bạn và sau đó xuất ra tên, họ theo dạng là họ, tên.
:monkey18:monkey18:Bài 8: Điều kiện - thực hành:monkey72::monkey72: