CHƯƠNG 3: VÀO RA DỮ LIỆU
Mục tiêu
Sau khi hoàn tất bài này học viên sẽ hiểu vận dụng các kiến
thức năng bản sau:
- Ý nghĩa, cách sử dụng hàm printf, scanf
- Sử dụng khuôn dạng, tự đặc biệt, tự điều khiển
trong printf, scanf.
CHƯƠNG 3: VÀO RA DỮ LIỆU
3. Hàm printf
printf hàm dùng để in dữ liệu ra màn hình. Tên đầy đủ: print formatted in ra theo định dạng.
pháp:
printf("chuỗi điều khiển", danh_sách_đối);
Trong đó:
-Chuỗi điều khiển gồm: Chữ nh thường: in y nguyên ra màn hình. t đặc biệt: \n, \t... tự
định dạng: %d, %f, %c, %s,
-Danh sách đối: Mỗi đặc tả (%d, %f, %s…) phải một đối tương ứng. Kiểu dữ liệu của đối
phải đúng với đặc tả, nếu sai sẽ in ra kết quả sai. Có thể nhiều đối hơn số %→ Đối sẽ
không được in.
dụ: #include <stdio.h>
int main() {
float x = 3.14159;
printf("Gia tri x = %f", x);
return 0;
}
CHƯƠNG 3: VÀO RA DỮ LIỆU
CHƯƠNG 3: VÀO RA DỮ LIỆU
3.1 Đặc tả trong printf
pháp chung:
%[-][n][.m]<ký tự chuyển dạng>
Trong đó:
% tự chuyển dạng (d, f, c, s, …) bắt buộc.
-, n, .m không bắt buộc.
n quy định độ rộng (số cột) để in giá trị.
Quy tắc với n:
Nếu không n hoặc n nhỏ hơn độ dài giá trị in vừa đủ.
Nếu n lớn hơn độ dài giá trị:
Không - căn phải, thêm khoảng trắng bên trái.
- căn trái, thêm khoảng trắng bên phải.
CHƯƠNG 3: VÀO RA DỮ LIỆU
3.5 Giá trị trả về của printf
Khi printf in thành công, trả về số tự đã in ra, kể cả tự đặc
biệt như \n.
dụ:
#include <stdio.h>
int main() {
int k;
k = printf("A = %d, B = %d\n", 3, 5);
printf("k = %d", k);
return 0;
}
CHƯƠNG 3: VÀO RA DỮ LIỆU
In ra chuỗi văn bản
printf("Xin chao the gioi!");
In ra số nguyên (%d)
int a = 10;
printf("Gia tri cua a la: %d", a);
In ra số thực (%f)
float b = 3.14;
printf("So pi xap xi: %f", b);
In ra nhiều biến cùng lúc
int tuoi = 20;
float diem = 8.5;
printf("Tuoi: %d, Diem: %.1f", tuoi, diem);
Căn phải
int a = 123;
printf("%10d\n", a);
Căn trái
printf("%-10d\n", a);
float x = 3.1415926;
printf("%8.2f\n", x); // Rộng 8, 2 chữ số thập phân
printf("%10.4f\n", x); // Rộng 10, 4 chữ số thập phân
In bảng dữ liệu
printf("%-10s %-10s %-10s\n", "Ten", "Tuoi", "Diem");
printf("%-10s %-10d %-10.2f\n", "An", 20, 8.5);
printf("%-10s %-10d %-10.2f\n", "Binh", 21, 7.8);
In số với số 0 đầu
int n = 25;
printf("%05d", n);
CHƯƠNG 3: VÀO RA DỮ LIỆU
3.2 Hàm scanf
Đọc dữ liệu t n phím
Chuyển dữ liệu đó thành số nguyên, số thực, tự, chuỗi…
Lưu vào bộ nhớ tại địa chỉ của các biến ơng ng
pháp:
scanf(“chuỗi_điều_khiển”, &biến1, &biến2, ...);
Trong đó:
Chuỗi điều khiển gồm các tự đặc tả chuyển dạng, mỗi đặc tả
thường một đối tương ứng (%d, %f, %c, …). pháp của đặc
tả: %[*][n]ký_tự_chuyển_dạng
Phải dùng & trước n biến để truyền địa chỉ cho scanf.
dụ: char s[20];
scanf("%5s", s);
printf("%s", s);
int a;
float b;
scanf("%d %f", &a, &b);
int a, b;
scanf("%*d %d", &b);
printf("b = %d", b);
CHƯƠNG 3: VÀO RA DỮ LIỆU
3.3 Dòng vào stdin các hàm scanf, gets, getchar
stdin: dòng o chuẩn (bàn phím).
Các hàm scanf, gets, getchar đều nhận dữ liệu từ stdin. 3 trường hợp xảy ra:
Trường hợp 1: Trên stdin
đủ dữ liệu
Nếu trên stdin đã đủ dữ
liệu, thì hàm chỉ lấy đúng
phần cần, phần vẫn còn
trong stdin.
dụ:
int a;
scanf("%d", &a);
Người dùng nhập: 123 456
Trường hợp 2: Trên stdin
chưa đủ dữ liệu
Nếu chưa đủ dữ liệu cho hàm,
chương trình sẽ dừng lại chờ
người dùng nhập thêm cho
đến khi bấm Enter.
dụ:
int a, b;
scanf("%d %d", &a, &b);
Người dùng nhập: 5
Trường hợp 3: Nhập thừa
cho các đối
Nếu người dùng nhập nhiều
hơn số dữ liệu mà hàm cần,
phần thừa vẫn nằm lại trong
stdin để cho các hàm sau dùng
dụ:
int a;
scanf("%d", &a);
char c;
c = getchar();
Người dùng nhập: 12AB
CHƯƠNG 3: VÀO RA DỮ LIỆU
Chú ý:
Khi bấm Enter, bàn phím không chỉ kết thúc dòng còn sinh ra
tự xuống dòng '\n', tự này cũng nằm trong stdin.
dụ:
int a;
char c;
scanf("%d", &a);
c = getchar();
int a;
char c;
char s[50];
scanf("%d", &a);
c = getchar();
gets(s);
Bỏ qua tự trắng
scanf(" %c", &c);
Dấu cách trước %c giúp bỏ qua Enter
còn sót lại
CHƯƠNG 3: VÀO RA DỮ LIỆU
3.3 Dòng vào stdin các hàm scanf, gets, getchar
Hàm gets()?
gets() dùng để nhập một chuỗi tự từ bàn phím
Đọc cho đến khi gặp Enter (\n)
Không đọc tự Enter, chỉ lấy nội dung trước đó
pháp:
char s[50];
gets(s);
Trong đó:
s là mảng tự (chuỗi)
Không cần &
Không có tham số giới hạn độ dài
dụ 1:
#include <stdio.h>
int main() {
char ten[30];
printf("Nhap ten: ");
gets(ten);
printf("Ten vua nhap: %s", ten);
return 0;
}
dụ 2:
char s[5];
gets(s);
CHƯƠNG 3: VÀO RA DỮ LIỆU
dụ:
#include <stdio.h>
int main() {
char s[20];
printf("Nhap chuoi: ");
fgets(s, 20, stdin);
printf("Chuoi vua nhap: %s", s);
return 0;
}
Hàm fgets()
fgets() dùng để nhập một chuỗi tự (string)
từ bàn phím hoặc từ tệp
Đây hàm AN TOÀN để nhập chuỗi trong C
Thường dùng thay cho gets()
pháp
fgets(ten_mang, so_ky_tu, stdin);
Trong đó:
- ten_mang : mảng tự để lưu chuỗi
- so_ky_tu : số tự tối đa được phép đọc
(bao gồm cả \0)
- stdin : thiết bị nhập chuẩn (bàn phím)
CHƯƠNG 3: VÀO RA DỮ LIỆU
Hàm getchar()
getchar() dùng để đọc 1 tự duy nhất
từ bàn phím
tự được đọc bao gồm c Enter ('\n’)
Thường dùng để:
Nhập 1 tự
Đọc từng tự
Xóa bộ đệm (buffer)
pháp:
char c;
c = getchar();
#include <stdio.h>
int main() {
char c;
printf("Nhap 1 ky tu: ");
c = getchar();
printf("Ky tu vua nhap: %c", c);
return 0;
}
CHƯƠNG 3: VÀO RA DỮ LIỆU
dụ 1: getchar() đọc cả Enter (\n)
#include <stdio.h>
int main() {
char c1, c2;
printf("Nhap ky tu thu nhat: ");
c1 = getchar();
printf("Nhap ky tu thu hai: ");
c2 = getchar();
printf("c1 = %c\n", c1);
printf("c2 = %c\n", c2);
return 0;
}
dụ 2: Dùng getchar() để bỏ Enter
#include <stdio.h>
int main() {
char c;
printf("Nhap ky tu: ");
c = getchar(); // doc ky tu
getchar(); // doc va bo '\n'
printf("Ky tu vua nhap: %c", c);
return 0;
}
CHƯƠNG 3: VÀO RA DỮ LIỆU
Bài 1.
Viết chương trình nhập vào giờ, phút, giây
hiện tại. Sau đó in ra màn hình theo dạng:
Bây giờ là: 14:30:25
Bài 2.
Viết chương trình in ra dòng chữ “CHÀO
MỪNG BẠN” chính giữa màn hình.
Bài 3.
Viết chương trình in ra hình sau o giữa màn
hình:
# # # # # # # # #
# # CNTT # #
# # LẬP TRÌNH # #
# # # # # # # # #
Bài 4.
Viết chương trình nhập vào hai số nguyên
x y. Sau đó in ra màn hình theo dạng:
Giá trị của x = 10, giá trị của y = 25
Bài 5.
Viết chương trình nhập vào Họ tên
sinh viên, sau đó in ra màn hình:
Họ tên : Nguyễn Văn A
sinh viên : 123456
(yêu cầu các dấu “:” thẳng cột)
CHƯƠNG 4 CÁC CÂU LỆNH ĐIỀU KHIỂN
Hiểu khái niệm vai trò của các câu lệnh rẽ nhánh trong lập trình.
Sử dụng thành thạo câu lệnh IF để đưa ra quyết định theo điều kiện.
Phân biệt áp dụng câu lệnh SWITCH trong các trường hợp lựa chọn nhiều
nhánh.
Hiểu pháp, tác dụng phạm vi sử dụng của câu lệnh GOTO nhãn
Nắm được nguyên hoạt động của các câu lệnh lặp trong chương trình.
Sử dụng vòng lặp FOR cho các trường hợp lặp xác định số lần.
Sử dụng vòng lặp WHILE cho các trường hợp lặp theo điều kiện.
Sử dụng vòng lặp DO…WHILE phân biệt với WHILE.
Hiểu áp dụng câu lệnh BREAK CONTINUE để điều khiển luồng lặp.
Vận dụng các câu lệnh trên để xây dựng chương trình đúng logic hiệu quả.
CHƯƠNG 4 CÁC CÂU LỆNH ĐIỀU KHIỂN
Các câu lệnh rẽ nhánh
Câu lệnh IF
Câu lệnh SWITCH
Câu lệnh GOTO nhãn
Các câu lệnh cấu trúc lặp
Câu lệnh FOR
Câu lệnh WHILE
Câu lệnh DO…WHILE
Câu lệnh BREAK câu lệnh CONTINUE
CHƯƠNG 4 CÁC CÂU LỆNH ĐIỀU KHIỂN
4.1. Các câu lệnh rẽ nhánh
Câu lệnh if
Câu lệnh if dùng để ra quyết định: nếu
điều kiện đúng thì thực hiện một khối
lệnh, ngược lại thể thực hiện khối lệnh
khác.
pháp
if (điều_kiện)
khối_lệnh_1;
else
khối_lệnh_2;
dụ 1: Kiểm tra số chẵn l
#include <stdio.h>
int main()
{
int n = 7;
if (n % 2 == 0)
printf("So chan");
else
printf("So le");
return 0;
}
CHƯƠNG 4 CÁC CÂU LỆNH ĐIỀU KHIỂN
dụ 2: m số lớn hơn trong hai số
#include <stdio.h>
int main()
{
float a = 3.5;
float b = 5.2;
if (a > b)
printf("So lon hon la %.1f", a);
else
printf("So lon hon la %.1f", b);
return 0;
}
CHƯƠNG 4 CÁC CÂU LỆNH ĐIỀU KHIỂN
Câu lệnh if lồng nhau
Trong khối lệnh của if thể chứa if khác.
Khi dùng if lồng nhau, nên dùng { } để
tránh nhầm lẫn.
Quy tắc: else luôn gắn với if gần nhất
chưa else.
#include <stdio.h>
int main()
{
int x = -5;
if (x >= 0)
{
if (x == 0)
printf("So 0");
else
printf("So duong");
}
else
printf("So am");
return 0;
}
CHƯƠNG 4 CÁC CÂU LỆNH ĐIỀU KHIỂN
Câu lệnh else if
Dùng khi cần chọn một trong nhiều trường hợp.
pháp
if (dk1)
lenh1;
else if (dk2)
lenh2;
...
else
lenh_cuoi;

Preview text:

CHƯƠNG 3: VÀO RA DỮ LIỆU Mục tiêu
Sau khi hoàn tất bài này học viên sẽ hiểu và vận dụng các kiến
thức kĩ năng cơ bản sau:
- Ý nghĩa, cách sử dụng hàm printf, scanf
- Sử dụng khuôn dạng, ký tự đặc biệt, ký tự điều khiển trong printf, scanf.
CHƯƠNG 3: VÀO RA DỮ LIỆU 3. Hàm printf
printf là hàm dùng để in dữ liệu ra màn hình. Tên đầy đủ: print format ed – in ra theo định dạng.
Cú pháp:printf("chuỗiđiềukhiển",danh_sách_đối); Trong đó:
-Chuỗi điều khiển gồm: Chữ bình thường: in y nguyên ra màn hình. Ký tự đặc biệt: \n, \t... Ký tự
định dạng: %d, %f, %c, %s, …
-Danh sách đối: Mỗi đặc tả (%d, %f, %s…) phải có một đối tương ứng. Kiểu dữ liệu của đối
phải đúng với đặc tả, nếu sai sẽ in ra kết quả sai. Có thể có nhiều đối hơn số %→ Đối dư sẽ không được in. Ví dụ: #include int main() { float x = 3.14159; printf("Gia tri x = %f", x); return 0; }
CHƯƠNG 3: VÀO RA DỮ LIỆU
CHƯƠNG 3: VÀO RA DỮ LIỆU 3.1 Đặc tả trong printf Cú pháp chung: %[-][n][.m] Trong đó:
% và ký tự chuyển dạng (d, f, c, s, …) là bắt buộc.
-, n, .m là không bắt buộc.
n quy định độ rộng (số cột) để in giá trị. Quy tắc với n:
Nếu không có n hoặc n nhỏ hơn độ dài giá trị → in vừa đủ.
Nếu n lớn hơn độ dài giá trị:
Không có - → căn phải, thêm khoảng trắng bên trái.
Có - → căn trái, thêm khoảng trắng bên phải.
CHƯƠNG 3: VÀO RA DỮ LIỆU
3.5 Giá trị trả về của printf
Khi printf in thành công, nó trả về số ký tự đã in ra, kể cả ký tự đặc biệt như \n. Ví dụ: #include int main() { int k;
k = printf("A = %d, B = %d\n", 3, 5); printf("k = %d", k); return 0; }
CHƯƠNG 3: VÀO RA DỮ LIỆU
In ra chuỗi văn bản float x = 3.1415926; printf("Xin chao the gioi!");
printf("%8.2f\n", x); / Rộng 8, 2 chữ số thập phân In ra số nguyên (%d)
printf("%10.4f\n", x); / Rộng 10, 4 chữ số thập phân int a = 10; In bảng dữ liệu
printf("Gia tri cua a la: %d", a);
printf("%-10s %-10s %-10s\n", "Ten", "Tuoi", "Diem"); In ra số thực (%f)
printf("%-10s %-10d %-10.2f\n", "An", 20, 8.5); float b = 3.14;
printf("%-10s %-10d %-10.2f\n", "Binh", 21, 7.8); printf("So pi xap xi: %f", b);
In số với số 0 ở đầu
In ra nhiều biến cùng lúc int n = 25; int tuoi = 20; float diem = 8.5; printf("%05d", n);
printf("Tuoi: %d, Diem: %.1f", tuoi, diem); Căn phải int a = 123; printf("%10d\n", a); Căn trái printf("%-10d\n", a);
CHƯƠNG 3: VÀO RA DỮ LIỆU 3.2 Hàm scanf
 Đọc dữ liệu từ bàn phím
 Chuyển dữ liệu đó thành số nguyên, số thực, ký tự, chuỗi…
 Lưu vào bộ nhớ tại địa chỉ của các biến tương ứng Cú pháp:
scanf(“chuỗi_điều_khiển”, &biến1, &biến2, ...); Trong đó:
Chuỗi điều khiển gồm các ký tự đặc tả chuyển dạng, mỗi đặc tả
thường có một đối tương ứng (%d, %f, %c, …). Cú pháp của đặc
tả: %[*][n]ký_tự_chuyển_dạng
Phải dùng & trước tên biến để truyền địa chỉ cho scanf. Ví dụ: char s[20]; int a; int a, b; scanf("%5s", s); float b; scanf("%*d %d", &b);
printf("%s", s); scanf("%d %f", &a, &b); printf("b = %d", b);
CHƯƠNG 3: VÀO RA DỮ LIỆU
3.3 Dòng vào stdin và các hàm scanf, gets, getchar
stdin: là dòng vào chuẩn (bàn phím).
Các hàm scanf, gets, getchar đều nhận dữ liệu từ stdin. Có 3 trường hợp xảy ra:
Trường hợp 1: Trên stdin có Trường hợp 2: Trên stdin Trường hợp 3: Nhập thừa đủ dữ liệu chưa đủ dữ liệu cho các đối
Nếu trên stdin đã có đủ dữ Nếu chưa đủ dữ liệu cho hàm, Nếu người dùng nhập nhiều
liệu, thì hàm chỉ lấy đúng chương trình sẽ dừng lại chờ hơn số dữ liệu mà hàm cần,
phần nó cần, phần dư vẫn còn người dùng nhập thêm cho phần thừa vẫn nằm lại trong trong stdin. đến khi bấm Enter.
stdin để cho các hàm sau dùng Ví dụ: Ví dụ: Ví dụ: int a; int a, b; int a; scanf("%d", &a);
scanf("%d %d", &a, &b); scanf("%d", &a); Người dùng nhập: 123 456 Người dùng nhập: 5 char c; c = getchar(); Người dùng nhập: 12AB
CHƯƠNG 3: VÀO RA DỮ LIỆU Chú ý:
Khi bấm Enter, bàn phím không chỉ kết thúc dòng mà còn sinh ra
ký tự xuống dòng '\n', và ký tự này cũng nằm trong stdin. Ví dụ:inta; int a; char c; char c; scanf("%d", &a); char s[50]; c = getchar(); scanf("%d", &a); c = getchar(); gets(s);
Bỏ qua ký tự trắng scanf(" %c", &c);
Dấu cách trước %c giúp bỏ qua Enter còn sót lại
CHƯƠNG 3: VÀO RA DỮ LIỆU
3.3 Dòng vào stdin và các hàm scanf, gets, getchar Hàm gets()? Ví dụ 1:
 gets() dùng để nhập một chuỗi ký tự từ bàn phím #include
 Đọc cho đến khi gặp Enter (\n) int main() {
 Không đọc ký tự Enter, chỉ lấy nội dung trước đó char ten[30]; printf("Nhap ten: "); Cú pháp: gets(ten); char s[50];
printf("Ten vua nhap: %s", ten); gets(s); return 0; Trong đó: }
s là mảng ký tự (chuỗi) Không cần & Ví dụ 2:
Không có tham số giới hạn độ dài char s[5]; gets(s);
CHƯƠNG 3: VÀO RA DỮ LIỆU Hàm fgets()
 fgets() dùng để nhập một chuỗi ký tự (string)
từ bàn phím hoặc từ tệp
 Đây là hàm AN TOÀN để nhập chuỗi trong C
 Thường dùng thay cho gets() Cú pháp Ví dụ:
fgets(ten_mang, so_ky_tu, stdin); #include Trong đó: int main() {
- ten_mang : mảng ký tự để lưu chuỗi char s[20];
- so_ky_tu : số ký tự tối đa được phép đọc printf("Nhap chuoi: "); (bao gồm cả \0) fgets(s, 20, stdin);
- stdin : thiết bị nhập chuẩn (bàn phím)
printf("Chuoi vua nhap: %s", s); return 0; }
CHƯƠNG 3: VÀO RA DỮ LIỆU Hàm getchar()
 getchar() dùng để đọc 1 ký tự duy nhất từ bàn phím
 Ký tự được đọc bao gồm cả Enter ('\n’) #include Thường dùng để: int main() { Nhập 1 ký tự char c; printf("Nhap 1 ky tu: "); Đọc từng ký tự c = getchar(); Xóa bộ đệm (buffer)
printf("Ky tu vua nhap: %c", c); Cú pháp: return 0; char c; } c = getchar();
CHƯƠNG 3: VÀO RA DỮ LIỆU
Ví dụ 1: getchar() đọc cả Enter (\n)
Ví dụ 2: Dùng getchar() để bỏ Enter #include #include int main() { int main() { char c1, c2; char c;
printf("Nhap ky tu thu nhat: "); printf("Nhap ky tu: "); c1 = getchar(); c = getchar(); / doc ky tu
printf("Nhap ky tu thu hai: "); getchar(); / doc va bo '\n' c2 = getchar();
printf("Ky tu vua nhap: %c", c); printf("c1 = %c\n", c1); return 0; printf("c2 = %c\n", c2); } return 0; }
CHƯƠNG 3: VÀO RA DỮ LIỆU Bài 1. Bài 4.
Viết chương trình nhập vào giờ, phút, giây
Viết chương trình nhập vào hai số nguyên
hiện tại. Sau đó in ra màn hình theo dạng:
x và y. Sau đó in ra màn hình theo dạng: Bây giờ là: 14:30:25
Giá trị của x = 10, giá trị của y = 25 Bài 2. Bài 5.
Viết chương trình in ra dòng chữ “CHÀO
Viết chương trình nhập vào Họ tên
MỪNG BẠN” chính giữa màn hình.
sinh viên, sau đó in ra màn hình: Bài 3. Họ tên : Nguyễn Văn A
Viết chương trình in ra hình sau vào giữa màn Mã sinh viên : 123456 hình:
(yêu cầu các dấu “:” thẳng cột) # # # # # # # # # # # CNTT # # # # LẬP TRÌNH # # # # # # # # # # #
CHƯƠNG 4 CÁC CÂU LỆNH ĐIỀU KHIỂN
 Hiểu khái niệm và vai trò của các câu lệnh rẽ nhánh trong lập trình.
 Sử dụng thành thạo câu lệnh IF để đưa ra quyết định theo điều kiện.
 Phân biệt và áp dụng câu lệnh SWITCH trong các trường hợp lựa chọn nhiều nhánh.
 Hiểu cú pháp, tác dụng và phạm vi sử dụng của câu lệnh GOTO và nhãn
 Nắm được nguyên lý hoạt động của các câu lệnh lặp trong chương trình.
 Sử dụng vòng lặp FOR cho các trường hợp lặp xác định số lần.
 Sử dụng vòng lặp WHILE cho các trường hợp lặp theo điều kiện.
 Sử dụng vòng lặp DO…WHILE và phân biệt với WHILE.
 Hiểu và áp dụng câu lệnh BREAK và CONTINUE để điều khiển luồng lặp.
 Vận dụng các câu lệnh trên để xây dựng chương trình đúng logic và hiệu quả.
CHƯƠNG 4 CÁC CÂU LỆNH ĐIỀU KHIỂN
Các câu lệnh rẽ nhánh Câu lệnh IF Câu lệnh SWITCH Câu lệnh GOTO và nhãn
Các câu lệnh có cấu trúc lặp
Câu lệnh FOR Câu lệnh WHILE Câu lệnh DO…WHILE
Câu lệnh BREAK và câu lệnh CONTINUE
CHƯƠNG 4 CÁC CÂU LỆNH ĐIỀU KHIỂN
4.1. Các câu lệnh rẽ nhánh
Ví dụ 1: Kiểm tra số chẵn – lẻ Câu lệnh if
Câu lệnh if dùng để ra quyết định: nếu #include
điều kiện đúng thì thực hiện một khối int main()
lệnh, ngược lại có thể thực hiện khối lệnh { khác. int n = 7; Cú pháp if (n % 2 == 0) if (điều_kiện) printf("So chan"); khối_lệnh_1; else else printf("So le"); khối_lệnh_2; return 0; }
CHƯƠNG 4 CÁC CÂU LỆNH ĐIỀU KHIỂN
Ví dụ 2: Tìm số lớn hơn trong hai số #include int main() { floata=3.5; float b = 5.2; if (a > b)
printf("So lon hon la %.1f", a);
elseprintf("Solonhonla%.1f",b); return 0; }
CHƯƠNG 4 CÁC CÂU LỆNH ĐIỀU KHIỂN #include
Câu lệnh if lồng nhau int main()
Trong khối lệnh của if có thể chứa if khác. { intx=-5;
Khi dùng if lồng nhau, nên dùng { } để if (x >= 0) tránh nhầm lẫn. {
Quy tắc: else luôn gắn với if gần nhất if (x == 0) printf("So 0"); chưa có else. elseprintf("Soduong"); } elseprintf("Soam"); return 0; }
CHƯƠNG 4 CÁC CÂU LỆNH ĐIỀU KHIỂN Câu lệnh else if
Dùng khi cần chọn một trong nhiều trường hợp. Cú pháp if(dk1) lenh1; else if (dk2) lenh2; ... elselenh_cuoi;