Bài giảng Nhập môn lập trình - Chương 4: Cấu trúc điều khiển - Nguyễn Minh Huy

Cꢀu trúc điꢁu khiꢂn  
GV. Nguyꢀn Minh Huy  
Nhꢁp môn lꢁp trình ꢂ GV. Nguyꢀn Minh Huy  
1
Nꢃi dung  
ꢀ Biꢄu thꢅc và toán tꢆ trong C.  
ꢀ Cꢇu trúc rꢈ nhánh.  
ꢀ Cꢇu trúc lꢉp.  
Nhꢁp môn lꢁp trình ꢂ GV. Nguyꢀn Minh Huy  
2
Nꢃi dung  
ꢀ Biꢂu thꢃc và toán tꢄ trong C.  
ꢀ Cꢇu trúc rꢈ nhánh.  
ꢀ Cꢇu trúc lꢉp.  
Nhꢁp môn lꢁp trình ꢂ GV. Nguyꢀn Minh Huy  
3
Biꢄu thꢅc và toán tꢆ trong C  
ꢀ Biꢄu thꢅc trong C:  
ꢀ Là mꢃt dãy hꢊu hꢋn các toán hꢋng và toán tꢆ.  
a + b – d * c / e  
(x >> (p + 1 ꢅ n)) & ~(~0 << n)  
ꢀ Toán hꢋng: biꢌn, hꢍng.  
ꢀ Toán tꢆ:  
ꢁ Toán tꢆ mꢃt ngôi: <phép toán> a ꢂ ~a, !b, ++c.  
ꢁ Toán tꢆ hai ngôi: a <phép toán> b ꢂ a + b, x / y.  
ꢁ Toán tꢆ ba ngôi: toán tꢆ điꢎu kiꢏn ( ) ? :  
ꢀ Kꢌt quꢐ biꢄu thꢅc: mꢃt giá trꢑ sꢒ.  
Nhꢁp môn lꢁp trình ꢂ GV. Nguyꢀn Minh Huy  
4
Biꢄu thꢅc và toán tꢆ trong C  
ꢀ Toán tꢆ sꢒ hꢓc:  
int a = 5 % 3; // Đúng  
float x = 5 % 3.0; // Sai  
ꢀ Ký hiꢏu: +, ꢂ, *, /, %.  
ꢁ % chꢔ dùng vꢕi sꢒ nguyên.  
int b = 5 / 3; // Chia nguyên  
float y = 5.0 / 3; // Chia thꢗc  
ꢁ / kꢌt quꢐ phꢖ thuꢃc toán hꢋng.  
ꢀ Toán tꢆ so sánh:  
int a = 5 > 3;  
int b = 5 == 3; // 0 (false)  
int c = 5 != 3; // 1 (true)  
// 1 (true)  
ꢀ Ký hiꢏu: >, <, >=, <=, ==, !=.  
ꢀ Kꢌt quꢐ: 1 (true), 0 (false).  
Nhꢁp môn lꢁp trình ꢂ GV. Nguyꢀn Minh Huy  
5
Biꢄu thꢅc và toán tꢆ trong C  
ꢀ Toán tꢆ logic:  
ꢀ Ký hiꢏu:  
int a = (5 > 3) && (4 > 7); // 0 (false)  
int b = (5 > 3) || (4 > 7); // 1 (true)  
int c = !(5 == 3); // 1 (true)  
ꢁ ! (not), && (and), || (or).  
ꢀ Kꢌt nꢒi biꢄu thꢅc so sánh.  
ꢀ Kꢌt quꢐ: 1 (true), 0 (false).  
ꢀ Toán tꢆ trên bit:  
short a = 5 & 6; // 0101 and 0110  
short b = 5 | 6; // 0101 or 0110  
unsigned short c = ~1; // not 0001  
short d = a >> 1;  
ꢀ Ký hiꢏu:  
ꢁ & (and), | (or), ^ (xor).  
ꢁ ~ (bù).  
ꢁ >> (dꢑch phꢐi), << (dꢑch trái).  
ꢀ Thao tác trên bit dꢊ liꢏu.  
Nhꢁp môn lꢁp trình ꢂ GV. Nguyꢀn Minh Huy  
6
Biꢄu thꢅc và toán tꢆ trong C  
ꢀ Toán tꢆ tăng, giꢐm:  
ꢀ Ký hiꢏu: ++, ꢂꢂ.  
int a = 5++;  
// Sai  
int a = 5;  
ꢀ Tăng/giꢐm 1 đơn vꢑ trên biꢌn.  
int b = ++a * 4; // b = 24  
int c = a++ * 4; // b = 20  
ꢁ Tiꢎn tꢒ: tính trưꢕc biꢄu thꢅc.  
ꢁ Hꢁu tꢒ: tính sau biꢄu thꢅc.  
ꢀ Toán tꢆ gán:  
int a = 5;  
ꢀ Ký hiꢏu: =, <phép toán>=  
int b, c, d;  
d = c = b = a; // b = a  
// c = b  
a <phép toán>= b;  
ꢂ a = a <phép toán> b;  
// d = c  
ꢀ <phép toán>:  
ꢁ +, ꢂ, *, /, %,  
int e += a;  
// e = e + a  
int f *= a + 1; // f = f * (a + 1)  
ꢁ &, |, ^, >>, <<.  
Nhꢁp môn lꢁp trình ꢂ GV. Nguyꢀn Minh Huy  
7
Biꢄu thꢅc và toán tꢆ trong C  
ꢀ Đꢃ ưu tiên toán tꢆ:  
Nhꢁp môn lꢁp trình ꢂ GV. Nguyꢀn Minh Huy  
8
Nꢃi dung  
ꢀ Biꢄu thꢅc và toán tꢆ trong C.  
ꢀ Cꢀu trúc rꢆ nhánh.  
ꢀ Cꢇu trúc lꢉp.  
Nhꢁp môn lꢁp trình ꢂ GV. Nguyꢀn Minh Huy  
9
Cꢇu trúc rꢈ nhánh  
ꢀ Câu lꢏnh ifꢂelse:  
ꢀ Cú pháp:  
if (<biꢄu thꢅc logic>)  
<Lꢏnh 1>;  
[else  
Mã giꢇ:  
Nꢌu <biꢄu thꢅc logic>  
sai  
<biꢄu thꢅc logic>  
đúng  
Lꢏnh 1  
[Ngưꢘc lꢋi  
Lꢏnh 2]  
<Lꢏnh 2>;]  
Lꢏnh 1  
Lꢏnh 2  
ꢀ Ví dꢖ:  
// Câu lꢏnh ifꢂelse đꢙ  
if (n > 0)  
// Bꢚ mꢏnh đꢎ else  
if (n > 0)  
// Dùng khꢒi lꢏnh  
if (n > 0)  
a = a * 2;  
a = a * 2;  
{
else  
a = a * 2;  
a = a / 2;  
b = b + 1;  
}
Nhꢁp môn lꢁp trình ꢂ GV. Nguyꢀn Minh Huy  
10  
Cꢇu trúc rꢈ nhánh  
ꢀ Câu lꢏnh ifꢂelse:  
ꢀ Lưu ý:  
if n > 0  
a = a * 2;  
// Sai  
ꢁ Biꢄu thꢅc logic phꢐi đꢉt giꢊa ( ).  
ꢃ Giá trꢑ 1: true.  
if (1)  
// Luôn đúng  
// Sai  
ꢃ Giá trꢑ 0: false.  
a = a * 2;  
ꢁ ifꢅelse là câu lꢏnh phꢅc.  
ꢃ Không có ; sau if hoꢉc else.  
ꢁ ifꢅelse có thꢄ lꢛng nhau.  
ꢃ else tương ꢅng if gꢜn nhꢇt.  
if (n > 0) ;  
a = a * 2;  
else ;  
a = a / 2;  
if (n > 0)  
if (a > b)  
c = c + 1;  
// ifꢂelse lꢛng  
else  
c = c – 1;  
Nhꢁp môn lꢁp trình ꢂ GV. Nguyꢀn Minh Huy  
11  
Cꢇu trúc rꢈ nhánh  
ꢀ Câu lꢏnh ifꢂelse:  
ꢀ ifꢂelse lꢛng nhau, kiꢄm tra điꢎu kiꢏn trên cùng 1 biꢌn:  
if (dtb >= 8)  
loai = “Gioi”;  
if (dtb >= 8)  
loai = “Gioi”;  
else  
else if (dtb >= 6.5)  
loai = “Kha”;  
else if (dtb >= 5)  
if (dtb >= 6.5)  
loai = “Kha”;  
else  
loai = “Trung binh”;  
if (dtb >= 5)  
else  
loai = “Trung binh”;  
loai = “Yeu”;  
else  
loai = “Yeu”;  
Nhꢁp môn lꢁp trình ꢂ GV. Nguyꢀn Minh Huy  
12  
Cꢇu trúc rꢈ nhánh  
ꢀ Câu lꢏnh switchꢂcase:  
ꢀ Cú pháp:  
switch (<biꢄu thꢅc>)  
// Câu lꢈnh ifꢅelse tương đương  
{
if (<biꢄu thꢅc> == <giá trꢑ 1>)  
[case <giá trꢑ 1>:  
<Lꢏnh 1>;  
break;  
case <giá trꢑ 2>:  
<Lꢏnh 2>;  
break;  
<Lꢏnh 1>;  
else if (<biꢄu thꢅc> == <giá trꢑ 2>)  
<Lꢏnh 2>;  
ꢉ
else  
<Lꢏnh N>;  
....]  
[default:  
<Lꢏnh N>;]  
}
Nhꢁp môn lꢁp trình ꢂ GV. Nguyꢀn Minh Huy  
13  
Cꢇu trúc rꢈ nhánh  
ꢀ Câu lꢏnh switchꢂcase:  
switch (thu)  
{
case 1:  
printf(“Chu nhat”); break;  
case 2:  
printf(“Thu hai”); break;  
case 3:  
printf(“Thu ba”); break;  
case 4:  
printf(“Thu tu”); break;  
case 5:  
printf(“Thu nam”); break;  
case 6:  
printf(“Thu sau”); break;  
case 7:  
printf(“Thu bay”); break;  
}
Nhꢁp môn lꢁp trình ꢂ GV. Nguyꢀn Minh Huy  
14  
Cꢇu trúc rꢈ nhánh  
ꢀ Câu lꢏnh switchꢂcase:  
ꢀ Lưu ý:  
switch a + b // Sai  
{
ꢁ Biꢄu thꢅc phꢐi đꢉt giꢊa ( ).  
ꢁ Giá trꢑ ꢝ mꢏnh đꢎ case:  
ꢃ Giá trꢑ đơn.  
ꢞ
}
ꢃ Không là miꢎn giá trꢑ.  
ꢁ Câu lꢏnh break:  
switch (a + b)  
{
ꢃ Ngꢟt giꢊa các case.  
ꢃ Có thꢄ bꢚ đꢄ ghép các case.  
case > 5: // Sai  
ꢞ
}
Nhꢁp môn lꢁp trình ꢂ GV. Nguyꢀn Minh Huy  
15  
Cꢇu trúc rꢈ nhánh  
ꢀ Câu lꢏnh switchꢂcase:  
switch (thu)  
{
case 2:  
case 3:  
case 4:  
case 5:  
case 6:  
printf(“Ngay lam viec”); break;  
case 1:  
case 7:  
printf(“Ngay nghi”); break;  
default:  
printf(“Ngay khong ton tai”);  
}
Nhꢁp môn lꢁp trình ꢂ GV. Nguyꢀn Minh Huy  
16  
Nꢃi dung  
ꢀ Biꢄu thꢅc và toán tꢆ trong C.  
ꢀ Cꢇu trúc rꢈ nhánh.  
ꢀ Cꢀu trúc lꢊp.  
Nhꢁp môn lꢁp trình ꢂ GV. Nguyꢀn Minh Huy  
17  
Cꢇu trúc lꢉp  
ꢀ Xét chương trình xuꢇt sꢒ:  
ꢀ Xuꢇt các sꢒ nguyên tꢠ 1 đꢌn 10.  
ꢁ Thꢗc hiꢏn 10 lꢜn lꢏnh xuꢇt.  
ꢀ Xuꢇt các sꢒ nguyên tꢠ 1 đꢌn 100.  
ꢁ Thꢗc hiꢏn 100 lꢜn lꢏnh xuꢇt!!  
ꢃ Dùng lꢏnh lꢉp.  
Nhꢁp môn lꢁp trình ꢂ GV. Nguyꢀn Minh Huy  
18  
Cꢇu trúc lꢉp  
ꢀ Câu lꢏnh while và doꢂwhile:  
ꢀ Cú pháp:  
// Câu lꢈnh while  
// Câu lꢈnh doꢅwhile  
while (<điꢎu kiꢏn lꢉp>)  
do  
<Lꢏnh>;  
{
<Lꢏnh>;  
} while (<điꢎu kiꢏn lꢉp>);  
// Câu lꢈnh while tương đương  
<Lꢏnh>;  
while (<điꢎu kiꢏn lꢉp>)  
<Lꢏnh>;  
Lꢏnh  
đúng  
đúng  
<điꢎu kiꢏn lꢉp>  
<điꢎu kiꢏn lꢉp>  
sai  
Lꢏnh  
sai  
Nhꢁp môn lꢁp trình ꢂ GV. Nguyꢀn Minh Huy  
19  
Cꢇu trúc lꢉp  
ꢀ Câu lꢏnh while và doꢂwhile:  
ꢀ Ví dꢖ:  
// Câu lꢈnh doꢅwhile  
printf(“Nhap vao n = “);  
scanf(“%d”, &n);  
// Câu lꢈnh while  
printf(“Nhap vao n = “);  
scanf(“%d”, &n);  
i = 1;  
i = 1;  
do  
while (i <= n)  
{
{
printf(“%d”, i);  
i++;  
printf(“%d”, i);  
i++;  
} while (i <= n);  
}
Nhꢁp môn lꢁp trình ꢂ GV. Nguyꢀn Minh Huy  
20  
Tải về để xem bản đầy đủ
pdf 31 trang myanh 28520 Free
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Nhập môn lập trình - Chương 4: Cấu trúc điều khiển - Nguyễn Minh Huy", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_nhap_mon_lap_trinh_chuong_4_cau_truc_dieu_khien_ng.pdf