Professional Documents
Culture Documents
c03 Cac Cau Truc Dieu Khien 3913
c03 Cac Cau Truc Dieu Khien 3913
Hà Nội – 2013
Nội dung
S
<BT Logic>
Đ
<Lệnh>
void main()
{
if (a == 0)
printf(“a bang 0”);
if (a == 0)
{
printf(“a bang 0”);
a = 2912;
}
}
S
<BT Logic> <Lệnh 2>
Đ
<Lệnh 1>
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 (kẹp
giữa { và })
<Lệnh 2>;
05/01/2023 Chương 3 - Các cấu trúc điều khiển 6/56
Câu lệnh if (đủ)
void main()
{
if (a == 0)
printf(“a bang 0”);
else
printf(“a khac 0”);
if (a == 0)
{
printf(“a bang 0”);
a = 2912;
}
else
printf(“a khac 0”);
}
05/01/2023 Chương 3 - Các cấu trúc điều khiển 7/56
Câu lệnh if - Một số lưu ý
Câu lệnh if và câu lệnh if… else là một câu
lệnh đơn.
{
if (a == 0)
printf(“a bang 0”);
}
{
if (a == 0)
{
printf(“a bang 0”);
a = 2912;
}
else
printf(“a khac 0”);
}
05/01/2023 Chương 3 - Các cấu trúc điều khiển 8/56
Câu lệnh if - Một số lưu ý
Câu lệnh if có thể lồng vào nhau và else sẽ
tương ứng với if gần nó nhất.
if (a != 0)
if (b > 0)
printf(“a != 0 va b > 0”);
else
printf(“a != 0 va b <= 0”);
if (a !=0)
{
if (b > 0)
printf(“a != 0 va b > 0”);
else
printf(“a != 0 va b <= 0”);
}
05/01/2023 Chương 3 - Các cấu trúc điều khiển 9/56
Câu lệnh if - Một số lưu ý
Nên dùng else để loại trừ trường hợp.
if (delta < 0)
printf(“PT vo nghiem”);
if (delta == 0)
printf(“PT co nghiem kep”);
if (delta > 0)
printf(“PT co 2 nghiem”);
if (delta < 0)
printf(“PT vo nghiem”);
else // delta >= 0
if (delta == 0)
printf(“PT co nghiem kep”);
else
printf(“PT co 2 nghiem”);
05/01/2023 Chương 3 - Các cấu trúc điều khiển 10/56
Câu lệnh if - Một số lưu ý
Không được thêm ; sau điều kiện của if.
void main()
{
int a = 0;
if (a != 0)
printf(“a khac 0.”);
if (a != 0);
printf(“a khac 0.”);
if (a != 0)
{
};
printf(“a khac 0.”);
}
05/01/2023 Chương 3 - Các cấu trúc điều khiển 11/56
1.2 Câu lệnh switch – Dạng thiếu
switch (<Biến/BT>)
{
<Biến/BT> Đ
<Lệnh 1> case <GT1>:<L1>;break;
= <GT1>
case <GT2>:<L2>;break;
S …
Đ
<Biến/BT>
= <GT2>
<Lệnh 2> }
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 {}
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>
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;
default : printf(“Ko biet doc”);
}
}
switch (a)
{
case 1 : printf(“Mot”); break;
case 1 : printf(“MOT”); break;
case 2 : printf(“Hai”); break;
case 3 : printf(“Ba”); break;
case 1 : printf(“1”); break;
case 1 : printf(“mot”); break;
default : printf(“Khong biet doc”);
}
switch (a)
{
case 1 : printf(“Mot”); break;
case 2 : printf(“Hai”); break;
case 3 : printf(“Ba”); break;
}
4 Một số lưu ý
[Khởi tạo]
[Thay đổi điều kiện]
Đúng, !=0
[Điều kiện] <Lệnh>
Sai, =0
Thuật toán:
M = 15
AAAAAAAAAAAAAAA
AAAAAAAAAAAAAAA
AAAAAAAAAAAAAAA N=5
AAAAAAAAAAAAAAA
AAAAAAAAAAAAAAA
Cách viết 2:
int i = 1;
for (; i <= 10; i++)
printf(“%d”, i);
Đúng, !=0
<Điều kiện> <Lệnh>
Sai, =0
void main()
{
int n = 1;
while (1)
printf(“%d”, n);
}
Lặp vô hạn chỉ kết thúc được nhờ câu lệnh break
Trong thân vòng lặp, cần có lệnh thay đổi giá trị
<Điều kiện>
05/01/2023 Chương 3 - Các cấu trúc điều khiển 45/56
Bài toán
Bài toán: Nhập số
Nhập vào một số nguyên cho đến khi số đó là số
nguyên dương
Nhận xét:
Công việc nhập được thực hiện lặp đi lặp lại
chừng nào số nhập được còn chưa là số nguyên
dương
Số lần lặp là không biết trước
Thuật toán:
Bước 1. Nhập số nguyên n
Bước 2. Nếu n>0 thông báo nhập đúng và kết thúc
Bước 3. Nếu n<=0 quay lại Bước 1
Đúng
<Điều kiện>
Sai
Cách hoạt động
Bước 1. Thực hiện <Lệnh> trong thân vòng lặp
Bước 2. Xác định giá trị <Điều kiện>.
- Nếu <Điều kiện> bằng 0 (sai), máy ra ra khỏi vòng
lặp.
- Nếu <Điều kiện> khác 0 (đúng) máy thực hiện
<Lệnh> và trở lại Bước 1
05/01/2023 Chương 3 - Các cấu trúc điều khiển 48/56
Giải bài toán nhập số nguyên dương
#include <stdio.h>
#include <conio.h>
void main()
{
int n;
do
{
printf("Hay nhap mot so >0: ");
scanf("%d",&n);
printf("Ban da nhap so %d\n «,n);
}
while (n<=0)
printf("Dung so duong roi!");
getch();
}
void main()
{
int n = 1;
do
printf(“%d”, n);
while (1)
}