1. Trang chủ
  2. » Công Nghệ Thông Tin

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

45 9 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 45
Dung lượng 303,26 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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!

Trang 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ấntuanhq@fpt.edu.vnhttp://hoangquoctuanpro.wordpress.com

Hoàng Quốc Tuấntuanhq@fpt.edu.vnhttp://hoangquoctuanpro.wordpress.com

Trang 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

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

Trang 3

I – CÁC HÀM NHẬP XUẤT THUỘC STDIO.H

Trang 4

1 Hàm đưa kết quả ra màn hình (printf)

(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.

Trang 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ụ :

Trang 6

1 Hàm đưa kết quả ra màn hình (printf)

Trang 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

f float hoặc double số thực

e float hoặc double số thực dạng ký pháp khoa học

Trang 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

g float hay double không in ra các số 0 vô nghĩa

Trang 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

Trang 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

Trang 13

printf ( “ Nhap mot so: ” );

scanf ( “%f” , & value); /*Nhap mot so => 23*/

printf ( “ Ket qua la: %f ” , value);

/* ket qua la: 23.000000 */

printf ( “ Nhap mot so: ” );

scanf ( “%f” , & value); /*Nhap mot so => 23*/

printf ( “ Ket qua la: %f ” , value);

/* ket qua la: 23.000000 */

}

Trang 18

printf (“Nhap mot ky tu: ”);

j = getchar (); /* nhan mot ky tu tu ban phim

roi gan cho j Gia su j = ‘A’*/

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);

Trang 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

Trang 20

5 Lưu ý về các hàm scanf, gets và getchar

printf (“Nhap mot so: ”);

scanf (“%d”, & a);

printf (“Nhap mot ky tu: ”);

printf (“Nhap mot so: ”);

scanf (“%d”, & a);

printf (“Nhap mot ky tu: ”);

scanf (“%c”, & b);

Giả sử, chạy chương

trình, ta nhập 65<Enter> khi đó lệnh scanf thứ hai

bị trôi và kết quả là a=65

và b=<Enter>.

Để các hàm hoạt động đúng, phải khử ký tự \n

Trang 21

5 Lưu ý về các hàm scanf, gets và getchar

Trang 22

6 Hàm putchar

Cú pháp:

int putchar ( int ch );

Hàm này xuất ký tự ch lên màn hình Kết

quả của hàm trả về ký tự xuất nếu thành

công, ngược lại cho kết quả EOF (-1).

Ví dụ:

Trang 23

7 Hàm puts

Cú pháp:

int puts ( const char *s);

Hàm này xuất một chuỗi lên màn hình với *s là

con trỏ kiểu char trỏ tới ô nhớ đầu của vùng nhớ chứa chuỗi ký tự muốn hiển thị.

Hàm này khi xuất sẽ thêm ký tự \n vào cuối.

Kết quả trả về của hàm là ‘\n’ nếu thành công,

EOF khi có lỗi.

Trang 24

char a[25] = “Lap trinh C”;

puts(“”); /* xuat ra chuoi rong roi xuong dong */

puts(a); /* xuat ra chuoi Lap trinh C roi xuogn dong */}

#include <stdio.h>

void main()

{

char a[25] = “Lap trinh C”;

puts(“”); /* xuat ra chuoi rong roi xuong dong */

puts(a); /* xuat ra chuoi Lap trinh C roi xuogn dong */}

Trang 25

II – CÁC HÀM NHẬP XUẤT THUỘC CONIO.H

Trang 26

Nếu bộ đệm rỗng thì chờ Khi một phím được nhấn thì

nhận ngay ký tự đó mà không cần phải ấn Enter

Hàm getche cho hiển thị ký tự lên màn hình còn getch thì không hiển thị ký tự lên màn hình.

Trang 27

1 Hàm getch và getche

Lưu ý: Cách nhận các phím đặc biệt Với các phím đặc biệt khi được ấn thì có hai giá trị được gửi lên bộ đệm bàn phím Vì vậy, để nhận được mã của các phím này cần phải đọc bộ đệm bàn phím hai lần và lấy mã ký tự ở lần thứ hai.

Ví dụ: khi ấn phím F1 thì giá trị đầu là 0 và giá trị kế là 59

được gửi lên bộ đệm bàn phím

Trang 28

Nếu bộ đệm rỗng thì chờ Khi một phím được nhấn thì

nhận ngay ký tự đó mà không cần phải ấn Enter

Hàm getche cho hiển thị ký tự lên màn hình còn getch thì không hiển thị ký tự lên màn hình.

Trang 29

scanf ( “%d” , & b); // Nhap so b

printf ( “%d + %d = %d” , a, b, a + b); // xuat ra tong

ch = getch (); // Nhan ma lan thu nhat

scanf ( “%d” , & b); // Nhap so b

printf ( “%d + %d = %d” , a, b, a + b); // xuat ra tong

ch = getch (); // Nhan ma lan thu nhat

if (ch == 0)

ch = getch (); // Nhan ma lan thu hai

}

while (ch != 59);

Trang 30

2 Hàm cprintf

Hàm cprintf giống như hàm printf , nhưng

màu của nội dung được in bởi hàm cprintf

Trang 32

clrscr (); // xoa man hinh

textcolor ( YELLOW ); // dat mau chu la mau vang

textbackground ( BLUE ); // dat mau nen la mau xanh

cprintf ( “\n Nhap mot so: ” );

cscanf ( “%d%*c” , & a); // khong co *c se troi lanh cscanf duoi

cprintf ( “\n Nhap mot ky tu: ” );

clrscr (); // xoa man hinh

textcolor ( YELLOW ); // dat mau chu la mau vang

textbackground ( BLUE ); // dat mau nen la mau xanh

cprintf ( “\n Nhap mot so: ” );

cscanf ( “%d%*c” , & a); // khong co *c se troi lanh cscanf duoi

cprintf ( “\n Nhap mot ky tu: ” );

scscanf ( “%c” , & b);

cprintf ( “\n %d %c” , a, b);

Trang 35

4.2 Hàm đặt tọa độ gotoxy

Cú pháp:

gotoxy ( int x , int y );

Chức năng: Hàm đặt con trỏ màn hình vào tọa

Trang 36

4.3 Hàm đặt màu nền textbackground

Cú pháp:

void textbackground ( int color );

Chức năng: chọn màu nền, trong đó color là một biểu

thức có giá trị từ 0 đến 7 tương ứng với một trong các hằng số màu đầu tiên của bảng màu nền.

Ví dụ:

textbackground( 3 );

Trang 37

4.4 Hàm đặt màu chữ textcolor

Cú pháp:

void textcolor ( int color );

Chức năng: chọn màu ký tự, trong đó color là một biểu

thức có giá trị từ 0 đến 15 tương ứng với một trong các hằng số màu đầu tiên của bảng màu văn bản.

Ví dụ:

textcolor( 4 );

tương đương với

Trang 38

5 Hàm kiểm tra bộ đệm bàn phím kbhit

Trang 39

III – BÀI TẬP MINH HỌA

Sử dụng các hàm nhập xuất và tính toán

Trang 40

printf ( “Nhap so dam: ” );

scanf ( “%f” , & sdam );

skm = sdam * ( float ) 10000 / 5400 ; printf ( “Ket qua la: %0.2f dam => %0.2 km” , sdam , skm );

printf ( “Nhap so dam: ” );

scanf ( “%f” , & sdam );

skm = sdam * ( float ) 10000 / 5400 ; printf ( “Ket qua la: %0.2f dam => %0.2 km” , sdam , skm );

printf ( “Nhap so km: ” );

scanf ( “%f” , & skm );

Bài 1: Viết chương trìnhnhập vào số dặm, sau đó đổi ra số

km và ngược lại (biết 10000 km = 5400 dặm).

Bài 1: Viết chương trìnhnhập vào số dặm, sau đó đổi ra số

km và ngược lại (biết 10000 km = 5400 dặm).

giải

Trang 41

Bài 2: Viết chương trình nhập vào a, b, c (giả sử a, b, c

thỏa mãn điều kiện là ba cạnh của tam giác: a+b>c,

a+c>b, b+c>a) Tính diện tích của tam giác, Biết.

Bài 2: Viết chương trình nhập vào a, b, c (giả sử a, b, c

thỏa mãn điều kiện là ba cạnh của tam giác: a+b>c,

a+c>b, b+c>a) Tính diện tích của tam giác, Biết.

giải

) )(

a

=

Trang 43

Bài 3: Viết chương trình nhập từ bàn phím và sau đó xuất

lên màn hình các thông tin của một mặt hàng bao gồm:

tên mặt hàng, khối lượng, đơn giá, mã chất lượng, số

lượng.

Bài 3: Viết chương trình nhập từ bàn phím và sau đó xuất

lên màn hình các thông tin của một mặt hàng bao gồm:

tên mặt hàng, khối lượng, đơn giá, mã chất lượng, số

lượng.

giải

Trang 45

BÀI 3: NHẬP XUẤT DỮ LIỆU TRONG C

Hỏi - Đáp

Hoàng Quốc Tuấntuanhq@fpt.edu.vnhttp://hoangquoctuanpro.wordpress.com

Hoàng Quốc Tuấntuanhq@fpt.edu.vnhttp://hoangquoctuanpro.wordpress.com

Ngày đăng: 23/02/2022, 10:22

🧩 Sản phẩm bạn có thể quan tâm