SlideShare une entreprise Scribd logo
1  sur  14
Nhập môn về lập trình (C4) Slide 1
Chương 4
Lệnh if-else
Lệnh switch
Presenter:
Nhập môn về lập trình (C4) Slide 2
Learning outcomes
L.O.3.1 – Liệt kê được các kiểu điều khiển và vẽ sơ đồ mô
tả chúng.
L.O.3.2 – Mô tả được được nguyên tắc kết hợp các kiểu
điều khiển để mô tả các giải thuật.
L.O.3.3 – Hiện thực được các kiểu điều khiển bằng ngôn
ngữ C.
L.O.3.4 – Sử dụng các cấu trúc điều khiển để giải quyết bài
toán thực tế.
Nhập môn về lập trình (C4) Slide 3
Cấu trúc lựa chọn if-else
Cú pháp và vận hành
 Cho phép dựa vào giá trị luận lý đúng/sai để quyết định thi
hành 1 trong 2 nhánh lệnh và bỏ qua nhánh còn lại.
 Cú pháp:
• condition là biểu thức luận lý miêu tả điều kiện cần kiểm tra.
• statement1 (statement2) là lệnh thực thi (nếu muốn dùng nhiều
lệnh thì đặt trong dấu ghép {...}).
• Khi chạy, nếu condition có giá trị đúng thì làm statement1, ngược
lại làm statement2.
• Dấu [ ] cho biết lệnh if có thể không có else và statement2.
 Lệnh if có thể được viết trên cùng 1 dòng hay trên nhiều
dòng.
if (condition) statement1 [else statement2]
Nhập môn về lập trình (C4) Slide 4
Cấu trúc lựa chọn if-else
Lưu đồ vận hành
 Lưu đồ giải thích hoạt động của lệnh if ... else.
condition
statement1
Sai
Đúng
Không có else
condition
statement1
Sai
Đúng statement2
Có else
Nhập môn về lập trình (C4) Slide 5
Cấu trúc lựa chọn if-else
Ví dụ
// Giải phương trình bậc 2
delta = b * b – 4 * a * c;
if (delta >= 0 )
{ // co 2 nghiem thuc
x1 = (-b+sqrt(delta))/2.0/a;
x2 = (-b-sqrt(delta))/(2.0*a);
printf("Nghiem x1 = %f, x2 = %fn", x1,x2);
} else // thong bao vo nghiem
printf("Phuong trinh vo nghiem.n");
Nhập môn về lập trình (C4) Slide 6
if-else lồng nhau
 Khi có nhiều điều kiện, có thể dùng if-else lồng nhau.
<đ.kiện1> ?
M lệnh
N lệnh
Sai
Đúng
If
else if
<đ.kiện2> ?
Đúng
Sai
P lệnh
else
Nhập môn về lập trình (C4) Slide 7
if-else lồng nhau
Ví dụ
 Tìm số lớn nhất trong 3 số nhập vào.
Nhập môn về lập trình (C4) Slide 8
if-else
Ghép điều kiện bằng toán tử luận lý
 Ta có thể dùng toán tử luận lý để ghép các điều kiện lại
và giảm bớt số lệnh if-else sử dụng trong ví dụ trên.
Nhập môn về lập trình (C4) Slide 9
Biểu thức điều kiện
 Biểu thức điều kiện sử dụng toán tử ? : để cung cấp giá
trị.
 Cú pháp : <điều kiện>?<trị 1>:<trị 2>
nghĩa là nếu <điều kiện> đúng thì trả về <trị 1>, ngược lại
trả về <trị 2>
 Ví dụ : lệnh if
if (hours > 40) rate = 0.45; else rate = 0.02;
có thể thay bằng :
rate = (hours > 40) ? 0.45 : 0.02;
Nhập môn về lập trình (C4) Slide 10
Cấu trúc lựa chọn switch
Cú pháp
 Cú pháp :
switch (expression)
{ case constant-expression1 : [ n1 statements ] [ break; ]
case constant-expression2 : [ n2 statements ] [ break; ]
...
[default : [n statements] ]
}
• expression là 1 biểu thức thuộc kiểu dữ liệu đếm được như char, short,
enum.
• n1, n2 là danh sách các lệnh thực thi VC++.
• Khi giá trị của expression bằng với constant-expression của nhánh nào thì
nhánh đó được chạy.
• Lưu ý : cần phải dùng lệnh break; để kết thúc sự thi hành của mỗi nhánh
và bỏ qua các nhánh khác.
Nhập môn về lập trình (C4) Slide 11
Cấu trúc lựa chọn switch
Lưu đồ vận hành
Expression
statement1 . . .
Trị 1
statement1
Trị 2
statement1
Trị n
Nhập môn về lập trình (C4) Slide 12
Cấu trúc lựa chọn switch
Ví dụ
Nhập môn về lập trình (C4) Slide 13
Cấu trúc lựa chọn switch
Kết quả chạy ví dụ
Nhập môn về lập trình (C4) Slide 14
if-else đối với switch
if (cond) state1 else state2;
switch (cond)
{ case 1 : state1; break;
case 2 : state2; break;
default : state3;
}
 Trong C++, 2 lệnh if-else và switch là tương đương
nhau, if-else có thể thay thế switch và ngược lại :
switch (cond)
{ case 0 : state2; break;
default : state1;
}
if (cond == 1) state1;
else if (cond == 2)
state2;
else state3;

Contenu connexe

Similaire à Nhập môn lập trình - Vương Bá Thịnh

OOP_02_Java can ban.pdf
OOP_02_Java can ban.pdfOOP_02_Java can ban.pdf
OOP_02_Java can ban.pdfssuserd01a5c
 
Giáo trình vb.net
Giáo trình vb.netGiáo trình vb.net
Giáo trình vb.netHung Pham
 
10. C - Function And Operator Overload
10. C   - Function And Operator Overload10. C   - Function And Operator Overload
10. C - Function And Operator OverloadDarian Pruitt
 
Giới thiệu hệ quản trị csdl oracle và thủ tục
Giới thiệu hệ quản trị csdl oracle và thủ tụcGiới thiệu hệ quản trị csdl oracle và thủ tục
Giới thiệu hệ quản trị csdl oracle và thủ tụcThoL718186
 
Ngon ngu c theo chuan ansi
Ngon ngu c theo chuan ansiNgon ngu c theo chuan ansi
Ngon ngu c theo chuan ansiHuynh MVT
 
Bài 3 - Cấu trúc điều khiển - Nền tảng lập trình ứng dụng với C#
Bài 3 -  Cấu trúc điều khiển - Nền tảng lập trình ứng dụng với C#Bài 3 -  Cấu trúc điều khiển - Nền tảng lập trình ứng dụng với C#
Bài 3 - Cấu trúc điều khiển - Nền tảng lập trình ứng dụng với C#MasterCode.vn
 
Giaotrinhbaitapkythuatlaptrinh
GiaotrinhbaitapkythuatlaptrinhGiaotrinhbaitapkythuatlaptrinh
GiaotrinhbaitapkythuatlaptrinhHồ Lợi
 
Nmlt c04 cau_lenhdieukienvarenhanh_in
Nmlt c04 cau_lenhdieukienvarenhanh_inNmlt c04 cau_lenhdieukienvarenhanh_in
Nmlt c04 cau_lenhdieukienvarenhanh_inHuy Nguyễn
 
Thdc3 Lap Trinh C
Thdc3 Lap Trinh CThdc3 Lap Trinh C
Thdc3 Lap Trinh Cquyloc
 
Compiler Optimization
Compiler OptimizationCompiler Optimization
Compiler OptimizationEddie Bui
 

Similaire à Nhập môn lập trình - Vương Bá Thịnh (20)

Bg cau trucrenhanh
Bg cau trucrenhanhBg cau trucrenhanh
Bg cau trucrenhanh
 
OOP_02_Java can ban.pdf
OOP_02_Java can ban.pdfOOP_02_Java can ban.pdf
OOP_02_Java can ban.pdf
 
Java Tieng Viet
Java Tieng VietJava Tieng Viet
Java Tieng Viet
 
Giáo trình vb.net
Giáo trình vb.netGiáo trình vb.net
Giáo trình vb.net
 
Debug trong c
Debug trong cDebug trong c
Debug trong c
 
Tin11
Tin11Tin11
Tin11
 
Cấu Trúc Rẽ Nhánh
Cấu Trúc Rẽ NhánhCấu Trúc Rẽ Nhánh
Cấu Trúc Rẽ Nhánh
 
10. C - Function And Operator Overload
10. C   - Function And Operator Overload10. C   - Function And Operator Overload
10. C - Function And Operator Overload
 
Giới thiệu hệ quản trị csdl oracle và thủ tục
Giới thiệu hệ quản trị csdl oracle và thủ tụcGiới thiệu hệ quản trị csdl oracle và thủ tục
Giới thiệu hệ quản trị csdl oracle và thủ tục
 
Ngon ngu c theo chuan ansi
Ngon ngu c theo chuan ansiNgon ngu c theo chuan ansi
Ngon ngu c theo chuan ansi
 
Bài 3 - Cấu trúc điều khiển - Nền tảng lập trình ứng dụng với C#
Bài 3 -  Cấu trúc điều khiển - Nền tảng lập trình ứng dụng với C#Bài 3 -  Cấu trúc điều khiển - Nền tảng lập trình ứng dụng với C#
Bài 3 - Cấu trúc điều khiển - Nền tảng lập trình ứng dụng với C#
 
Giaotrinhbaitapkythuatlaptrinh
GiaotrinhbaitapkythuatlaptrinhGiaotrinhbaitapkythuatlaptrinh
Giaotrinhbaitapkythuatlaptrinh
 
Nmlt c04 cau_lenhdieukienvarenhanh_in
Nmlt c04 cau_lenhdieukienvarenhanh_inNmlt c04 cau_lenhdieukienvarenhanh_in
Nmlt c04 cau_lenhdieukienvarenhanh_in
 
C9 templates
C9 templatesC9 templates
C9 templates
 
C9 templates
C9 templatesC9 templates
C9 templates
 
Ontap ltc
Ontap ltcOntap ltc
Ontap ltc
 
Thdc3 Lap Trinh C
Thdc3 Lap Trinh CThdc3 Lap Trinh C
Thdc3 Lap Trinh C
 
chương1.pdf
chương1.pdfchương1.pdf
chương1.pdf
 
Compiler Optimization
Compiler OptimizationCompiler Optimization
Compiler Optimization
 
Chuong1 c
Chuong1 c Chuong1 c
Chuong1 c
 

Nhập môn lập trình - Vương Bá Thịnh

  • 1. Nhập môn về lập trình (C4) Slide 1 Chương 4 Lệnh if-else Lệnh switch Presenter:
  • 2. Nhập môn về lập trình (C4) Slide 2 Learning outcomes L.O.3.1 – Liệt kê được các kiểu điều khiển và vẽ sơ đồ mô tả chúng. L.O.3.2 – Mô tả được được nguyên tắc kết hợp các kiểu điều khiển để mô tả các giải thuật. L.O.3.3 – Hiện thực được các kiểu điều khiển bằng ngôn ngữ C. L.O.3.4 – Sử dụng các cấu trúc điều khiển để giải quyết bài toán thực tế.
  • 3. Nhập môn về lập trình (C4) Slide 3 Cấu trúc lựa chọn if-else Cú pháp và vận hành  Cho phép dựa vào giá trị luận lý đúng/sai để quyết định thi hành 1 trong 2 nhánh lệnh và bỏ qua nhánh còn lại.  Cú pháp: • condition là biểu thức luận lý miêu tả điều kiện cần kiểm tra. • statement1 (statement2) là lệnh thực thi (nếu muốn dùng nhiều lệnh thì đặt trong dấu ghép {...}). • Khi chạy, nếu condition có giá trị đúng thì làm statement1, ngược lại làm statement2. • Dấu [ ] cho biết lệnh if có thể không có else và statement2.  Lệnh if có thể được viết trên cùng 1 dòng hay trên nhiều dòng. if (condition) statement1 [else statement2]
  • 4. Nhập môn về lập trình (C4) Slide 4 Cấu trúc lựa chọn if-else Lưu đồ vận hành  Lưu đồ giải thích hoạt động của lệnh if ... else. condition statement1 Sai Đúng Không có else condition statement1 Sai Đúng statement2 Có else
  • 5. Nhập môn về lập trình (C4) Slide 5 Cấu trúc lựa chọn if-else Ví dụ // Giải phương trình bậc 2 delta = b * b – 4 * a * c; if (delta >= 0 ) { // co 2 nghiem thuc x1 = (-b+sqrt(delta))/2.0/a; x2 = (-b-sqrt(delta))/(2.0*a); printf("Nghiem x1 = %f, x2 = %fn", x1,x2); } else // thong bao vo nghiem printf("Phuong trinh vo nghiem.n");
  • 6. Nhập môn về lập trình (C4) Slide 6 if-else lồng nhau  Khi có nhiều điều kiện, có thể dùng if-else lồng nhau. <đ.kiện1> ? M lệnh N lệnh Sai Đúng If else if <đ.kiện2> ? Đúng Sai P lệnh else
  • 7. Nhập môn về lập trình (C4) Slide 7 if-else lồng nhau Ví dụ  Tìm số lớn nhất trong 3 số nhập vào.
  • 8. Nhập môn về lập trình (C4) Slide 8 if-else Ghép điều kiện bằng toán tử luận lý  Ta có thể dùng toán tử luận lý để ghép các điều kiện lại và giảm bớt số lệnh if-else sử dụng trong ví dụ trên.
  • 9. Nhập môn về lập trình (C4) Slide 9 Biểu thức điều kiện  Biểu thức điều kiện sử dụng toán tử ? : để cung cấp giá trị.  Cú pháp : <điều kiện>?<trị 1>:<trị 2> nghĩa là nếu <điều kiện> đúng thì trả về <trị 1>, ngược lại trả về <trị 2>  Ví dụ : lệnh if if (hours > 40) rate = 0.45; else rate = 0.02; có thể thay bằng : rate = (hours > 40) ? 0.45 : 0.02;
  • 10. Nhập môn về lập trình (C4) Slide 10 Cấu trúc lựa chọn switch Cú pháp  Cú pháp : switch (expression) { case constant-expression1 : [ n1 statements ] [ break; ] case constant-expression2 : [ n2 statements ] [ break; ] ... [default : [n statements] ] } • expression là 1 biểu thức thuộc kiểu dữ liệu đếm được như char, short, enum. • n1, n2 là danh sách các lệnh thực thi VC++. • Khi giá trị của expression bằng với constant-expression của nhánh nào thì nhánh đó được chạy. • Lưu ý : cần phải dùng lệnh break; để kết thúc sự thi hành của mỗi nhánh và bỏ qua các nhánh khác.
  • 11. Nhập môn về lập trình (C4) Slide 11 Cấu trúc lựa chọn switch Lưu đồ vận hành Expression statement1 . . . Trị 1 statement1 Trị 2 statement1 Trị n
  • 12. Nhập môn về lập trình (C4) Slide 12 Cấu trúc lựa chọn switch Ví dụ
  • 13. Nhập môn về lập trình (C4) Slide 13 Cấu trúc lựa chọn switch Kết quả chạy ví dụ
  • 14. Nhập môn về lập trình (C4) Slide 14 if-else đối với switch if (cond) state1 else state2; switch (cond) { case 1 : state1; break; case 2 : state2; break; default : state3; }  Trong C++, 2 lệnh if-else và switch là tương đương nhau, if-else có thể thay thế switch và ngược lại : switch (cond) { case 0 : state2; break; default : state1; } if (cond == 1) state1; else if (cond == 2) state2; else state3;