Chức năng: cho phép tùy chọn công việc thực
hiện tùy theo điều kiện
Cú pháp
if <điều kiện> { // khối lệnh1 }
else { // khối lệnh 2 }
Hoạt động: Nếu điều kiện là đúng thì thực hiện khối lệnh 1. Nếu điều kiện là sai thì thực hiện khối lệnh 2.
7/2020 Cơ sở lập trình 81
Có thể bạn quan tâm!
- Cơ sở lập trình - Trường ĐH Thương mại - 3
- Cơ sở lập trình - Trường ĐH Thương mại - 4
- Cơ sở lập trình - Trường ĐH Thương mại - 5
- Cơ sở lập trình - Trường ĐH Thương mại - 7
- Cơ sở lập trình - Trường ĐH Thương mại - 8
- Cơ sở lập trình - Trường ĐH Thương mại - 9
Xem toàn bộ 113 trang tài liệu này.
Ví dụ: Viết chương trình nhập giá trị của
biến x và tính giá trị của hàm f(x) biết
x*x-1 nếu x≠1
F(x) =
x+1 ngược lại
7/2020 Cơ sở lập trình 82
Lưu ý
Cấu trúc khuyết của if … else
Cú pháp
if (biểu thức điều kiện)
{ // khối lệnh }
Sử dụng cặp dấu { } với câu lệnh đơn và khối lệnh
Ngôn ngữ C cho phép có nhiều câu lệnh if…else lồng nhau →nguyên tắc hoạt động của else
Ví dụ: Viết chương trình giải pt bậc 1/bậc 2.
7/2020 Cơ sở lập trình 83
Cú pháp
E1 ? E2 : E3
Trong đó: E1, E2, E3 là các biểu thức.
Hoạt động: Biểu thức E1 sẽ được tính toán, nếu E1 ≠ 0 thì nó sẽ nhận giá trị của biểu thức E2 và ngược lại sẽ nhận giá trị của biểu thức E3.
Ý nghĩa: là một dạng biểu diễn của câu if đặc biệt. Biểu thức điều kiện hoạt động như một biểu thức bất kỳ.
7/2020 Cơ sở lập trình 84
Ví dụ 1: Tìm giá trị max, min của hai số a và b.
(a>b) ? a:b
Max = (a>b) ? a:b;
Min = (a>b) ? b:a;
printf(“gia tri min là: %6.3f”, (a>b) ? b:a);
7/2020 Cơ sở lập trình 85
Chức năng: cho phép lựa chọn một nhánh trong nhiều khả năng tuỳ thuộc vào giá trị của một biểu thức.
Cú pháp
switch(bieu_thuc)
{ case n1:
khối lệnh 1; break;
…..
case nk:
khối lệnh k; break;
[ default: khối lệnh mặc định ]
}
7/2020 Cơ sở lập trình 86
Trong đó:
bieu_thuc là một biểu thức nhận giá trị kiểu nguyên
n1, n2… nk: là số nguyên, hằng ký tự hoặc biểu thức hằng khác nhau từng đôi.
default, switch, case: từ khóa
break: cho phép ra khỏi câu lệnh switch và các lệnh lặp mà không cần điều kiện kết thúc chu trình
7/2020 Cơ sở lập trình 87
Sự hoạt động
Xác định giá trị của biểu thức.
So sánh giá trị đó với các ni
Nếu giá trị của biểu thức bằng giá trị của ni nào thì khối lệnh sau nó được thực hiện và kết thúc câu lệnh
Nếu giá trị của biểu thức khác với tất cả ni thì:
▪ Nếu có default thì khối lệnh đứng sau nó được thực hiện
▪ Nếu không có từ khóa default thì chương trình dịch thoát khỏi câu lệnh switch.
7/2020 Cơ sở lập trình 88
Lưu ý
Nếu không có từ khóa break sau mỗi khối lệnh chương trình sẽ thực hiện khối lệnh rồi đi tiếp xuống nhánh case tiếp theo.
Cấu trúc đặc biệt: Có thể có nhiều giá trị case cho cùng một trường hợp.
Câu lệnh switch có thể lồng nhau hoặc lồng với các câu lệnh khác.
7/2020 Cơ sở lập trình 89
Ví dụ 1: Viết chương trình tìm học lực khi
biết điểm tổng kết biết
xuat sac DTK = 9.0
gioi DTK = 8.0
HL= kha nếu DTK = 7.0 trung bình DTK =6.0, 5.0
yeu còn lại
7/2020 Cơ sở lập trình 90
Ví dụ 2: viết chương trình nhập vào một
tháng trong năm và in ra mùa của tháng đó.
Ví dụ 3: viết chương trình nhập một biểu thức đơn giản a ∆ b với a, b là các số nguyên dương còn ∆ là một trong các toán tử số học
+,-,*,/, %. In ra kết quả của biểu thức tương ứng với từng toán tử. Khác với các toán tử này in ra thông báo toán tử không hợp lệ.
7/2020 Cơ sở lập trình 91
while
do … while
for
7/2020 Cơ sở lập trình 92
Chức năng: for là cấu trúc lặp trong đó một khối lệnh sẽ được thực hiện lặp đi lặp lại với số lần lặp được xác định.
Cú pháp:
for ([khởi_tạo];[điều_kiện];[thay_đổi])
{ // khối lệnh } Trong đó:
khởi_tạo: có thể là biểu thức hoặc khai báo, dùng để khởi tạo giá trị cho các biến điều khiển của vòng lặp
điều_kiện: là một biểu thức logic, dùng để quyết định tiếp tục hay dừng việc thực hiện khối lệnh.
thay_đổi: thường là một biểu thức gán dùng để thay đổi ( tăng hoặc giảm ) giá trị của các biến điều khiển.
7/2020 Cơ sở lập trình 93
Sự hoạt động:
Bước 1: Xác định giá trị biểu thức khởi_tạo
Bước 2: Xác định giá trị của biểu thức điều_kiện.
Bước 3: Nếu biểu thức điều_kiện có giá trị là sai thì trình biên dịch sẽ thoát khỏi cấu trúc lặp for. Nếu biểu thức điều_kiện có giá trị đúng (khác 0) thì khối lệnh sẽ được thực hiện và trình biên dịch sẽ chuyển sang bước 4.
Bước 4: Xác định giá trị của biểu thức thay_đổi và
quay trở lại bước 2.
7/2020 Cơ sở lập trình 94
Nhận xét
Biểu thức khởi_tạo chỉ được thực hiện một lần, còn các biểu thức điều_kiện, thay_đổi và khối lệnh có thể được thực hiện lặp lại nhiểu lần.
Có thể khối lệnh không bao giờ được thực hiện.
7/2020 Cơ sở lập trình 95
Lưu ý:
Cả ba biểu thức trong cấu trúc for có thể vắng mặt nhưng bắt buộc vẫn phải để dấu ;.
Nếu biểu thức điều_kiện bị khuyết thì nó luôn được xem là đúng.
Mỗi phần khởi_tạo,điều_kiện,thay_đổi có thể là một dãy các biểu thức cách nhau bởi dấu phẩy. Khi đó các biểu thức trong mỗi phần sẽ được xác định từ trái sang phải. Tính đúng sai của điều_kiện được xác định bởi tính đúng sai của biểu thức cuối cùng trong dãy này.
Cấu trúc for có thể sử dụng lồng nhau. Và khi gặp câu lệnh break trong khối lệnh của for, máy sẽ thoát khỏi vòng lặp for sâu nhất chứa câu lệnh này.
7/2020 Cơ sở lập trình 96