You are on page 1of 35

LẬP TRÌNH C

(TIẾP)

GIẢNG VIÊN: NGUYỄN SAO MAI


Lệnh switch

 Công dụng:
Bản thân từ switch nghĩa là chuyển mạch.
 Lệnh switch trong C dùng để tổ chức một cấu trúc rẽ nhiều
nhánh trong chương trình.
Việc rẽ nhánh của chương trình có thể được tổ chức bằng lệnh
if, tuy nhiên, mỗi lệnh if chỉ rẽ thành hai nhánh tương ứng với
giá trị một biểu thức là 0 (sai) hay khác 0 (đúng).
Có thể thấy, việc rẽ nhiều nhánh ở lệnh switch có thể thay thế
bằng các lệnh if.

THUẬT TOÁN CƠ BẢN 2


Lệnh switch
 Cú pháp:

 switch (biểu thức)

 {

 case n1 : [nhóm lệnh 1;]

 case n2 : [nhóm lệnh 2;]

 ...

 case nk : [nhóm lệnh k;]

 [default : nhóm lệnh k+1;]

 }

THUẬT TOÁN CƠ BẢN 3


Lệnh switch
 Biểu thức là một biểu thức bất kì nhưng phải có kết quả là một
số nguyên (char, int, long, unsigned, ...);

 ni (i=1k) là các hằng nguyên hoặc kiểu char (kiểu char sẽ


được chuyển thành kiểu int) và bắt buộc phải có giá trị khác nhau;

 Nhóm lệnh i (i=1k+1) gồm tập hợp các lệnh bất kì của C, nếu
có nhiều lệnh, không cần đặt trong cấu trúc khối lệnh;

 Đoạn trình nằm trong cặp dấu { } gọi là thân switch. Khi nói
thoát khỏi switch nghĩa là thoát ra khỏi dấu } cuối cùng của
switch.

4
Lệnh switch
 Tác động:
Bước 1: Máy sẽ tính giá trị của biểu thức. Biểu thức sẽ quyết
định sự hoạt động của switch.
Bước 2: Duyệt lần lượt các giá trị ni (i=1k), khi gặp ni nào
thoả mãn điều kiện (biểu thức = ni) thì cho thực hiện nhóm lệnh
i tương ứng. Trong trường hợp giá trị của biểu thức khác tất cả
các giá trị ni thì sẽ phụ thuộc vào trong lệnh switch có mặt
default (thành phần tự chọn) hay không, cụ thể như sau:
◦ Nếu có default thì: Thực hiện nhóm lệnh k+1 rồi thoát khỏi switch;
◦ Nếu không có default thì: thoát khỏi switch.

THUẬT TOÁN CƠ BẢN 5


Lệnh switch: chú ý
 Các ni và default được coi như các nhãn nên sau khi thực hiện
xong nhóm lệnh i của case ni đó, nó sẽ thực hiện luôn nhóm lệnh
i+1 của case dưới nó mà không xét lại điều kiện (biểu thức = ni +1 )
có thoả mãn hay không.

 Trong trường hợp cần thiết phải thoát khỏi thân switch ngay sau
khi thực hiện một nhóm lệnh nào đó, ở cuối nhóm lệnh đó người
ta viết thêm lệnh break;

 Việc thoát ra khỏi thân switch được thực hiện trong các trường
hợp: Gặp lệnh break; hoặc dấu } cuối cùng của thân switch hoặc
lệnh goto từ trong thân lệnh switch ra ngoài thân switch (sẽ xét
sau). Trường hợp switch nằm trong một hàm, có thể thoát khỏi
thân switch bằng return().

THUẬT TOÁN CƠ BẢN 6


Ví dụ 1: Đọc một số nguyên có giá trị từ 1 đến 5 từ
bàn phím rồi hiển thị bằng chữ giá trị số vừa nhập.

THUẬT TOÁN CƠ BẢN 7


Dùng switch để xác định số lớn và số bé
trong hai số a,b.

THUẬT TOÁN CƠ BẢN 8


Dùng switch để xếp loại một sinh viên theo điểm thi (nguyên):
Từ 0 đến 3 xếp loại kém, 4 là loại yếu, 5 đến 6 là loại trung
bình, 7 đến 8 là loại khá, 9 đến 10 là loại giỏi.

THUẬT TOÁN CƠ BẢN 9


Lệnh for
 Công dụng: Để tổ chức một chu trình có số lần lặp biết trước
trong trường hợp cần kiểm tra điều kiện trước rồi mới thực hiện
chu trình.

 Cú pháp: for ( [biểu thức 1]; [biểu thức 2]; [biểu thức 3] )

 [Nhóm lệnh;]

 Trong đó:

 for là từ khoá

 Các biểu thức 1, 2, 3 là các biểu thức bất kì và đều có thể có


hoặc không có nhưng vẫn phải có dấu ngăn cách là ; , ví dụ: for
(i=1 ; ++i<n ; ) và phải đặt trong cặp ( ).

THUẬT TOÁN CƠ BẢN 10


Lệnh for
 Trường hợp thường dùng, lệnh for có dạng:

for ([khởi tạo] ; [điều kiện] ; [thay đổi điều kiện] )


Biểu thức 1 là một phép gán (biểu thức gán) để tạo giá trị ban
đầu cho biến điều khiển chu trình (biến chu trình);
Biểu thức 2 là một biểu thức logic thể hiện điều kiện tiếp tục
vòng lặp;
Biểu thức 3 là một phép gán để thay đổi giá trị của biến chu
trình.

THUẬT TOÁN CƠ BẢN 11


Các bước thực hiện lệnh for
 Bước 1: Tính giá trị biểu thức 1 (nếu có)

 Bước 2: Tính giá trị biểu thức 2 (nếu không có biểu thức 2 thì
coi biểu thức 2 luôn nhận giá trị đúng)

 Bước 3: Kiểm tra giá trị biểu thức 2

 Nếu biểu thức 2 khác 0 (đúng): thực hiện nhóm lệnh (thân
chu trình) rồi sang bước 4.

 Nếu biểu thức 2 bằng 0 (sai): thoát khỏi chu trình.

 Bước 4: Tính giá trị biểu thức 3 (nếu có) rồi quay lại bước 2 để
tiếp tục lặp lại quá trình trên.

THUẬT TOÁN CƠ BẢN 12


Tính giai thừa của 1 số nguyên nhập từ
bàn phím

13
Hiển thị dãy từ A->Z và ngược lại

THUẬT TOÁN CƠ BẢN 14


Tính trung bình cộng của dãy số a1, a2, ... a n

THUẬT TOÁN CƠ BẢN 15


Lệnh break

 Công dụng: Lệnh break dùng để thoát khỏi chu trình của lệnh for, lệnh
while, lệnh do while và cấu trúc switch ... case.

 Cú pháp: break;

 Tác động: break chỉ có thể có mặt trong các lệnh chu trình và lệnh switch.
Khi thực hiện chương trình, lệnh break được thực hiện như sau:
Nếu break nằm trong thân chu trình của các lệnh for, while, do while thì sẽ thoát
khỏi chu trình đó. Nói cách khác là, break sẽ bỏ qua các lệnh sau nó trong thân
chu trình để thoát khỏi chu trình, bất kể điều kiện thực hiện chu trình có thoả mãn
hay không.
Nếu có các chu trình lồng nhau, break sẽ thoát khỏi chu trình trong nhất chứa nó.
Nếu break nằm trong các case của switch thì sẽ thoát khỏi lệnh switch đó, bỏ qua
các lệnh sau nó trong mỗi case. Nếu có các switch lồng nhau, break sẽ thoát khỏi
switch trong cùng chứa nó.

THUẬT TOÁN CƠ BẢN 16


Xác định xem một số tự nhiên vào từ bàn
phím có là số nguyên tố hay không?
 Thuật toán
+ Nhập n
+ Tổ chức một chu trình để kiểm tra: “ n có chia hết cho các số
i hay không” (i chạy từ 2 đến sqrt(n)). Nếu tồn tại một phép
chia hết đầu tiên thì xác định n không phải là số nguyên tố và
thoát ngay ra khỏi chu trình, ngược lại, nếu không tồn tại phép
chia hết nào thì xác định n là số nguyên tố.

17
Xác định xem một số tự nhiên vào từ bàn
phím có là số nguyên tố hay không?

18
Xác định xem một số tự nhiên vào từ bàn
phím có là số nguyên tố hay không?

19
In ra các số nguyên tố nằm trong [1,
1000]

20
In ra các số nguyên tố nằm trong [1,
1000]

THUẬT TOÁN CƠ BẢN 21


Lệnh goto

 Công dụng: Lệnh goto dùng để chuyển vô điều kiện đến thực
hiện một lệnh bất kì trong chương trình.

 Cú pháp: goto <nhãn>;

 Trong đó:
 goto là từ khoá;
Nhãn là một tên hợp lệ do người lập trình đặt để làm mốc đánh dấu
một lệnh cần chuyển đến của lệnh goto. Cách viết nhãn lệnh như sau:
nhãn: lệnh;
Tác động: Gặp lệnh goto, máy chuyển ngay đễn thực hiện lệnh được
viết sau nhãn

THUẬT TOÁN CƠ BẢN 22


Tính tổng của n số (n>1) nhập vào từ bàn
phím

THUẬT TOÁN CƠ BẢN 23


Lệnh while
 Công dụng: Lệnh while dùng để tổ chức một chu trình bất kì (cả chu trình có số lần
lặp biết trước và không biết trước). Tuy nhiên, nếu chu trình có số lần lặp biết trước
thì khi tổ chức viết chương trình, nên dùng lệnh for cho gọn. Cũng tương tự như for,
lệnh while chỉ sử dụng trong trường hợp kiểm tra điều kiện trước rồi mới thực hiện
chu trình.

 Cú pháp: while (biểu thức) [nhóm lệnh;]

 Trong đó:
 Biểu thức là một biểu thức bất kì đặt trong cặp dấu ( ), thường là biểu thức logic, để thể hiện
điều kiện thực hiện chu trình. Biểu thức có thể viết thành một dãy biểu thức cách nhau dấu
phảy – Khi đó, giá trị biểu thức được xác định là giá trị của biểu thức viết sau cùng;
 Nhóm lệnh gồm một tập hợp các lệnh C bất kì, nếu có nhiều lệnh thì bắt buộc phải viết trong
cấu trúc khối lệnh. Nhóm lệnh tạo thành thân chu trình. Thân chu trình có thể rỗng (không
chứa lệnh nào, tương tự như lệnh for).

THUẬT TOÁN CƠ BẢN 24


Lệnh while
 Tác động: while (biểu thức) [nhóm lệnh;]
Phỏng dịch, câu lệnh này có nghĩa là: Thực hiện lặp đi lặp lại
nhóm lệnh chừng nào mà biểu thức còn nhận giá trị đúng.
Cụ thể, lệnh while được thực hiện như sau:
◦ Khi gặp while, máy sẽ tính giá trị biểu thức rồi kiểm tra giá trị biểu thức:
◦ - Nếu biểu thức khác 0 (đúng) thì thực hiện nhóm lệnh rồi lại trở về while để lặp lại quá trình
trên.
◦ - Nếu biểu = 0 (sai) thì thoát khỏi chu trình để thực hiện tiếp lệnh đứng ngay sau while

THUẬT TOÁN CƠ BẢN 25


Sơ đồ khối thực hiện lệnh While

bằng 0
Thoát khỏi chu
B. thức trình

khác 0

Nhóm lệnh

Sơ đồ khối quá trình thực hiện lệnh while

26
Tính n!

27
Cho số n. Tìm số các chữ số của n.

28
Tính số e

29
Lệnh do ..while
 Công dụng: Lệnh do ... while dùng để tổ chức chu trình
bất kì (cả số lần lặp biết trước và không biết trước) nhưng
chỉ được sử dụng trong trường hợp thực hiện chu trình trước
rồi mới kiểm tra điều kiện kết thúc chu trình.

 cú pháp: do

 [ nhóm lệnh ;]

 while (biểu thức);

30
Lệnh do ..while
 Trong đó:
do và while là từ khoá;
Nhóm lệnh nằm sau do đến trước while là một tập hợp các
lệnh bất kì của C, có thể có hoặc không (rỗng), tạo thành thân
chu trình;
Nếu có nhiều lệnh hoặc rỗng phải đặt trong cấu trúc khối lệnh;
Nếu chứa các lệnh có cấu trúc thì chúng phải nằm trọn trong
thân chu trình.
Biểu thức là một biểu thức bất kì (thường là biểu thức logic)
đặt trong cặp dấu ( ) để xác định điều kiện kết thúc chu trình.

31
Sơ đồ khối

Nhóm lệnh

bằng 0 Thoát khỏi chu


B. thức trình

khác 0

Sơ đồ khối quá trình thực hiện lệnh do ...while

32
Kiểm tra 1 số nguyên tố nhập từ bàn
phím

33
34
THANK
YOU
35

You might also like