Trong ngôn ngữ lập trình C, các lệnh cấu trúc là các lệnh được sử dụng để điều khiển luồng thực thi của chương trình. Chúng cho phép bạn thực hiện các phân nhánh (branches), vòng lặp (loops), và các hàm (functions) trong chương trình của bạn. Dưới đây là một số lệnh cấu trúc phổ biến trong C:
Trang 1LẬP TRÌNH CĂN BẢN
CÁC LỆNH CÓ CẤU TRÚC
Giảng viên: TS.Trương Quốc Bảo
Trang 2NỘI DUNG CỦA CHƯƠNG
Trang 3Sn
Trang 4 1 khối lệnh có thể chứa nhiều khối lệnh khác gọi
là khối lệnh lồng nhau (số khối lồng nhau là không hạn chế).
1 khối lệnh có thể được dùng như 1 lệnh đơn.
KHỐI LỆNH TRONG C (2)
N phát biểu 1 phát biểu
{ }
Trang 5 Có thể khai báo các biến cùng
tên trong các khối
Nếu một biến được khai báo bên
ngoài khối lệnh và không trùng
tên với biến bên trong khối lệnh
thì nó cũng dùng được bên trong
khối
Một khối lệnh con có thể sử
dụng các biến bên ngoài, nhưng
điều ngược lại không đúng
Thursday, January 15, 2015 Lập trình căn bản
TẦM VỰC (PHẠM VI) CỦA BIẾN
Trang 6 Các biến sẽ bị tác động hay
thay đổi giá trị trong phạm vi
khối lệnh mà nó khai báo
Các khối lệnh chứa khối lệnh
khác (khối lệnh bên ngoài) và
có biến trùng với biến trong
khối lệnh bên trong, khi đó:
Khi thay đổi giá trị của biến trong
khối lệnh bên ngoài, giá trị biến sẽ
tác động lên khối lệnh bên trong,
Khi thay đổi giá trị của biến trong
khối lệnh bên trong sẽ không tác
động lên khối lệnh bên ngoài.
TẦM VỰC (PHẠM VI) CỦA BIẾN
Trang 7Statements
False
End Begin
Trang 9boolean_expression !=0 => thực hiện Statement1,
boolean_expression ==0 => thực hiện Statement2
Thursday, January 15, 2015 Lập trình căn bản
CẤU TRÚC RẼ NHÁNH ĐẦY ĐỦ - IF… ELSE
Boolean expression
Trang 11Thursday, January 15, 2015 Lập trình căn bản
CẤU TRÚC RẼ NHÁNH – NHẦM LẪN
Trang 12 Câu lệnh if-else lồng nhau
else sẽ kết hợp với if gần nhất chứa có else
Trong trường hợp if bên trong không có else thì phải viết nó trong cặp dấu {} để tránh sự kết hợp else if sai
Ví dụ
CẤU TRÚC RẼ NHÁNH – CHÚ Ý
Trang 13 Dùng 1 dãy các câu lệnh if để thiết lập các lựa chọn
rẽ nhánh
Thursday, January 15, 2015 Lập trình căn bản
CẤU TRÚC LỰA CHỌN - SWITCH
Trang 14 switch-case có thể đưa đến mã máy (machine code) hiệu quả hơn (vì jump tables có thể được dùng)
CẤU TRÚC LỰA CHỌN - SWICH
Trang 1515 Thursday, January 15, 2015 Lập trình căn bản
CẤU TRÚC LỰA CHỌN - SWICH
Trang 16 Ý nghĩa:
Tính giá trị của biểu thức expr,
Nếu giá trị expr = value1 thực
hiện statement_sequence1 rồi
thoát.
Nếu giá trị expr khác value1
thì so sánh nó với value2, nếu
o Nếu break/return vắng mặt, câu lệnh trong các case bên dưới có thể được thực hiện cho đến khi gặp
break/return hoặc kết thúc lệnh switch.
Trang 17VÍ DỤ SWITCH…CASE (1)
Thursday, January 15, 2015 Lập trình căn bản
Trang 18In ra số ngày của 1 tháng
VÍ DỤ SWITCH…CASE (2)
Trang 20 Thứ tự thực hiện:
B1: Tính giá trị biểu thức 1
B2: Tính giá trị biểu thức 2
Nếu giá trị biểu thức 2 là
sai (==0) => thoát khỏi for
Nếu giá trị biểu thức 2 là
đúng (!=0) => thực hiện
<Công việc>
B3: Tính giá trị biểu thức 3
rồi quay lại B2
for (Biểu thức 1; biểu thức 2; biểu thức 3)
<Công việc>;
VÒNG LẶP FOR (1)
Cú
pháp
Trang 2121 Thursday, January 15, 2015 Lập trình căn bản
VÒNG LẶP FOR (2)
Trang 22 Chương trình in dãy số nguyên từ 1 10
output
VÒNG LẶP FOR (3)
Trang 23 Nhập số nguyên n Tính tổng các số nguyên từ 1 n
output
Thursday, January 15, 2015 Lập trình căn bản
VÒNG LẶP FOR (4)
Trang 24- Nếu điều kiện sai (==0) thì
thoát khỏi lệnh while.
- Nếu điều kiện đúng (!=0)
thì thực hiện công việc rồi
quay lại kiểm tra điều kiện
tiếp.
Cú pháp: while (Biểu thức điều kiện) <Công việc>;
VÒNG LẶP WHILE (1)
Trang 26 Nhập số nguyên n Tính tổng các số nguyên từ 1 n.
VÒNG LẶP WHILE (3)
Trang 27 <Công việc>: có thể là 1 câu lệnh
hay 1 khối lệnh
Các bước thực hiện:
Công việc được thực hiện trước, sau
đó mới kiểm tra điều kiện.
Nếu điều kiện sai thì thoát khỏi lệnh
do-while.
Nếu điều kiện còn đúng thì thực hiện
công việc rồi quay lại kiểm tra điều
kiện tiếp.
do
<Công việc>
while (<Biểu thức điều kiện>);
Thursday, January 15, 2015 Lập trình căn bản
VÒNG LẶP DO…WHILE (1)
Trang 28 Chương trình in dãy số nguyên từ 1 10
output
VÒNG LẶP DO…WHILE (2)
Trang 30 Vòng lặp for là vòng lặp xác định còn while
và do…while là các vòng lặp không xác định
Vòng lặp for/while:
Kiểm tra điều kiện trước thực hiện công việc sau
Công việc có thể không được thực hiện lần nào
Vòng lặp kết thúc khi nào điều kiện sai
Vòng lặp do-while
Thực hiện công việc trước kiểm tra điều kiện sau
Công việc được thực hiện ít nhất 1 lần
Vòng lặp kết thúc khi nào điều kiện sai
SO SÁNH CÁC VÒNG LẶP
Trang 31 Lệnh break
Dùng để thoát khỏi vòng lặp hoặc switch-case
Tiếp tục thực hiện lệnh liền sau đó.
Lệnh continue
Trong vòng lặp, khi gặp lệnh continue , chương trình sẽ bỏ qua các câu lệnh sau continue
for: quay lên tính trị cho biểu thức 3, rồi kiểm tra
điều kiện coi có lặp tiếp không.
while/do-while: kiểm tra điều kiện coi có lặp tiếp không.
Thursday, January 15, 2015 Lập trình căn bản
CÁC CÂU LỆNH ĐẶC BIỆT