Professional Documents
Culture Documents
NMLT C4 Caclenhcautruc
NMLT C4 Caclenhcautruc
CHƯƠNG 4:
CÁC LỆNH CÓ CẤU TRÚC
1
&
VC
BB
Nội dung
S
<BT Logic>
Đ
<Lệnh 1>
if (a == 0)
{
printf(“a bang 0”);
a = 2912;
}
if (a == 0)
printf(“a bang 0”);
if (a != 0)
printf(“a khac 0”);
}
LTCB – Các lệnh có cấu trúc 4
&
VC
BB
I. Các cấu trúc rẽ nhánh (tt)
Câu lệnh if đủ
Trong ( ), cho kết quả
(sai = 0, đúng ≠ 0)
if (<BT Logic>)
<Lệnh 1>; Câu lệnh đơn hoặc
else Câu lệnh phức (đặt
giữa { và })
<Lệnh 2>;
S
<BT Logic> <Lệnh 2>
Đ
<Lệnh 1>
if (a == 0)
printf(“a bang 0”);
else
printf(“a khac 0”);
}
S
<BT Logic1>
Đ
S
<Lệnh 1> <BT Logic2> ………
Đ
<Lệnh 2>
<Lệnh n>
S
<Biến/BT> là biến/biểu
thức cho giá trị rời rạc.
<Lệnh> : đơn hoặc khối
lệnh nhưng không cần
{}. LTCB – Các lệnh có cấu trúc 12
&
VC
BB
I. Các cấu trúc rẽ nhánh (tt)
Câu lệnh switch thiếu (tt)
void main()
{
int a;
printf(“Nhap a: ”);
scanf(“%d”, &a);
switch (a)
{
case 1 : printf(“Mot”); break;
case 2 : printf(“Hai”); break;
case 3 : printf(“Ba”); break;
}
}
}
<Lệnh n>
switch (a)
{
case 1 : printf(“Mot”); break;
case 2 : printf(“Hai”); break;
case 3 : printf(“Ba”); break;
default : printf(“Ko biet doc”);
}
}
if (a == 1) switch (a)
printf(“Mot”); {
if (a == 2) case 1: printf(“Mot”);
printf(“Hai”); break;
if (a == 3) case 2: printf(“Hai”);
printf(“Ba”); break;
if (a == 4) case 3: printf(“Ba”);
printf(“Bon”); break;
if (a == 5) case 4: printf(“Bon”);
printf(“Nam”); break;
case 5: printf(“Nam”);
}
LTCB – Các lệnh có cấu trúc 18
&
VC
BB
II. Các cấu trúc lặp
Đặt vấn đề
Ví dụ
Viết chương trình xuất các số từ 1 đến 10
=> Sử dụng 10 câu lệnh printf
Viết chương trình xuất các số từ 1 đến 1000
=> Sử dụng 1000 câu lệnh printf !?
Giải pháp
Sử dụng cấu trúc lặp để lặp lại một hành
động trong khi một điều kiện nào đó còn
đúng.
3 lệnh lặp: for, while, do… while
LTCB – Các lệnh có cấu trúc 19
&
VC
BB
II. Các cấu trúc lặp (tt)
Cấu trúc for
for (<Khởi đầu>; <Đ/K lặp>; <Bước nhảy>)
<Lệnh>;
<Khởi đầu>
<Bước nhảy>
Đ
<Đ/K lặp> <Lệnh>
<Bước nhảy>
for (i = 0; i < 10; )
{
printf(“%d\n”, i); Đ
<Đ/K lặp> <Lệnh>
i++;
}
S
for (i = 0; ; i++)
printf(“%d\n”, i);
for (i = 0; ; i++)
{
if (i >= 10)
break;
printf(“%d\n”, i);
} 26
LTCB – Các lệnh có cấu trúc
&
VC
BB
II. Các cấu trúc lặp (tt)
Cấu trúc for (tt)
Lệnh break làm kết thúc câu lệnh.
Lệnh continue bỏ qua lần lặp hiện tại.
for (i = 0; i < 10; i++)
{
if (i % 2 == 0)
break;
printf(“%d\n”, i);
}
Đ
<Đ/K lặp> <Lệnh>
S
while (<Đ/K lặp>)
<Lệnh>;
int i = 0;
while (i < 10)
{
printf(“%d\n”, i);
i++;
}
int i = 0;
for (; i < 10; )
{
printf(“%d\n”, i);
i++;
}
NMLT - Câu lệnh lặp 31
&
VC
BB
Câu lệnh while - Một số lưu ý
n = 1;
while (n < 10)
printf(“%d”, n);
}
NMLT - Câu lệnh lặp 35
&
VC
BB
Câu lệnh do… while
<Lệnh>
Đ
<Đ/K lặp>
S
do
<Lệnh>;
while (<Đ/K lặp>);
int i = 0;
do
{
printf(“%d\n”, i);
i++;
}
while (i < 10);
int i = 0;
printf(“%d\n”, i);
i++;
for (; i < 10; )
{
printf(“%d\n”, i);
i++;
}
NMLT - Câu lệnh lặp 37
&
VC
BB
Câu lệnh do… while - Một số lưu ý
n = 1;
do
printf(“%d”, n);
while (n < 10);
… 40
NMLT - Câu lệnh lặp
&
VC
BB
while & do… while