Xem mẫu
- 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
- 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.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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- Độ 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
- Độ 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
- Độ 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
- Độ 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
- Độ 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
- 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
- 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
- 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