www.hoasen.edu.vn
Cng Đi hc Hoa Sen xây dng tương lai
Nhập Môn Lập Trình
Cấu trúc Vòng Lặp
For, While, Do … While
www.hoasen.edu.vn
Cng Đi hc Hoa Sen xây dng tương lai
Road Map
Lưu đồ: cấu trúc vòng lâp
Biểu thức và các phép toán trong ngôn ngữ lập trinh C
Biểu thức, toán hạng và toán tử
Phép toán: số học, quan hệ, luận lý, trên bít, tăng giảm
Phép toán điều kiện
Cấu trúc vòng lặp trong ngôn ngữ lập trinh C
for
while
do …. while
break, continue
END
www.hoasen.edu.vn
Cng Đi hc Hoa Sen xây dng tương lai
Lưu đồ: vòng lặp
Nếu để hiển thị tên ta 1000 lần:
viết DISPLAY “Scooby” 1000 lần thì rất tốn công sức.
Có thể tinh giản vấn đề bằng cách viết câu lệnh DISPLAY
chỉ một lần, sau đó đặt nó trong cấu trúc vòng lặp, và chỉ thị
máy tính thực hiện lặp 1000 lần cho câu lệnh trên
Do loop 1000 times
DISPLAY “Scooby”
End loop
www.hoasen.edu.vn
Cng Đi hc Hoa Sen xây dng tương lai
Lưu đồ: vòng lặp
Ví dụ sau là cách viết khác nhưng cũng dùng cấu trúc vòng lặp.
BEGIN
cnt=0
WHILE (cnt < 1000)
DO
DISPLAY “Scooby”
cnt=cnt+1
END DO
END
Cng Đi hc Hoa Sen xây dng tương lai
Bài tập nhóm
2. Viết một đoạn mã giả để nhập N bất kỳ số và tính trung bình các số âm.
BEGIN
cnt=0, sum = 0, cntNegNum = 0
INPUT N
WHILE (cnt < N)
DO
INPUT num
IF num < 0
sum += num
cntNegNum += 1;
END IF
cnt=cnt+1
END DO
sum = sum/cntNegNum /* something wrong here */
DISPLAY “Average of negative number”, sum
END
www.hoasen.edu.vn
Cng Đi hc Hoa Sen xây dng tương lai
Road Map
Lưu đồ: cấu trúc vòng lâp
Biểu thức và các phép toán trong ngôn ngữ lập trinh C
Biểu thức, toán hạng và toán tử
Các phép toán số học
Phép toán Ý nghĩa Ví dụ
+ Cộng 5+2=7
- Trừ 5–2=3
* Nhân 5*2=10
/ Chia 5/2=2.5
% Lấy phần dư 5%2=1
Các Phép Toán
www.hoasen.edu.vn
Cng Đi hc Hoa Sen xây dng tương lai
13
Các phép toán quan hệ (so sánh)
Phép toán Ý nghĩa Ví dụ
> Lớn hơn a > b
>= Lớn hơn hoặc bằng a >= b
< Nhỏ hơn a < b
<= Nhỏ hơn hoặc bằng a <= b
== Bằng a == b
!= Không bằng a!= b
Trong C nếu kết quả là đúng (nhận giá trị 1), nếu sai (nhận giá trị 0).
Ví dụ : 3 > 5 – 1 0 (sai)
Các Phép Toán
www.hoasen.edu.vn
Cng Đi hc Hoa Sen xây dng tương lai
14
Các phép toán luận lý (Logic)
Phép
toán
0 1 1 0 1 1
1 0 0 0 1 1
1 1 0 1 1 0
Lưu ý : Các phép toán này chỉ thực hiện trên các toán
hạng có kiểu dữ liệu là số nguyên.
Các Phép Toán
www.hoasen.edu.vn
Cng Đi hc Hoa Sen xây dng tương lai
17
Phép toán tăng giảm
Phép toán Ý nghĩa
++x Tăng x lên 1 trước khi dùng
x++ Tăng x lên 1 sau khi dùng
x Giảm x xuống 1 trước khi dùng
x Giảm x xuống 1 sau khi dùng
Ví dụ : n = 3;
A = ++n; A sẽ được gán giá trị là 4
A = n++; A sẽ được gán giá trị là 3
Các Phép Toán
www.hoasen.edu.vn
Cng Đi hc Hoa Sen xây dng tương lai
•
Prefix: changed before its value is used
q = 2 * ++ a; /* first, increment a by 1;
/* then, multiply a by 2 and assign to q */
•
Postfix: changed after its value is used
n = 3;
y = n++ + n++;
Các Phép Toán
www.hoasen.edu.vn
Cng Đi hc Hoa Sen xây dng tương lai
21
Phép toán điều kiện (biểu thức điều kiện)
<Điều Kiện> ? <biểu thức 1> : <biểu thức 2>;
ĐK đúng
ĐK sai
Ví dụ : kq = (5>3+1) ? 10 : 20; kq =10
Các Phép Toán
www.hoasen.edu.vn
Cng Đi hc Hoa Sen xây dng tương lai
22
Toán Tử Trong Ngôn Ngữ C
Toán Tử (thứ tự ưu ên từ trên xuống) Cách
nh
++ (posix) (posix) () (funcon call) [ ] { } L-R
++ (prex) (prex) - + ~ ! sizeof *() &()
(all unary)
R-L
(type name) R-L
* / % L-R
+ - (binary) L-R
<< >> L-R
== != L-R
www.hoasen.edu.vn
www.hoasen.edu.vn
Cng Đi hc Hoa Sen xây dng tương lai
www.hoasen.edu.vn
25
3/ Cho 2 số int a=2, b=4; Hãy đoán trị của các số a, b và n trong
các phép toán tăng giảm sau:
Biểu thức n=? a=? b=?
n=a+b
n=++a+b
n=a++ +b
n= a+b
n=a +b
6 2 46 2 46 2
47 3
6 3 4
5 1 4
6 1 4
CÁC VÍ DỤ