Tải bản đầy đủ (.ppt) (40 trang)

Các Cấu Trúc Điều Khiển(Control Structures)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.63 MB, 40 trang )

CHƯƠNG 3
CÁC CẤU TRÚC ĐIỀU KHIỂN
(Control Structures)

1


1. Giới thiệu
 Các cấu trúc điều khiển thứ tự thực thi các lệnh

của chương trình.
 Có 3 loại cấu trúc điều khiển:


Cấu trúc tuần tự (sequence)



Cấu trúc lựa chọn (selection)

Cấu

trúc lặp (repetition or loop)
2


Cấu trúc “Tuần Tự”


Cấu trúc tuần tự (sequence): thực hiện các
lệnh theo thứ tự từ trên xuống


Lệnh 1
Lệnh 2

Lệnh n
3


Cấu trúc “Lựa chọn”


Cấu trúc lựa chọn (selection): dựa vào kết
quả của biểu thức điều kiện mà những lệnh
tương ứng sẽ được thực hiện. Các cấu trúc
lựa chọn gồm:


if



switch

4


Cấu trúc “Lặp”


Cấu trúc lặp (repetition or loop): lặp lại 1
hay nhiều lệnh cho đến khi biểu thức điều

kiện có giá trị sai. Các cấu trúc lặp gồm:


for



while

do ... while.
 Tuy nhiên, thứ tự thực hiện các lệnh của
chương trình còn bị chi phối bởi các lệnh
nhảy như continue, break, goto.


5


3. CẤU TRÚC “IF “

6


3.1. Cấu trúc IF “Dạng thiếu”


Cú pháp:
if (expression)
statement;


Ý nghĩa:

Lưu đồ

Expression được định trị. Nếu
kết quả là true thì statement được thực thi,
ngược lại, không làm gì cả.
7


Ví dụ
Viết chương trình nhập vào một số nguyên a. In ra màn hình
kết quả a có phải là số dương không.
#include <iostream.h>
#include <conio.h>
int main()
{
int a;
cout << "Input a = "; cin>>a; // 10
if(a>=0)
cout << a << " is a positive.”;
getch ();
return 0;
8


3.2. Cấu trúc IF “Dạng đủ”
 Cú pháp

if (expression)

statement1;
else
statement2;


Ý nghĩa:

Lưu đồ

− Nếu

Expression được định là true thì
statement1 được thực thi.
− Ngược lại, thì statement2 được thực thi.
9


Ví dụ
Viết chương trình nhập vào một số nguyên a. In ra màn hình kết quả
kiểm tra a là số âm hay dương.
#include <iostream.h>
#include <conio.h>
int main()
{
int a;
cout << "Input a = "; cin >> a; //10
if(a>=0)
cout << a << " is a positive.”;
else
cout << a << " is a negative.”;

getche();
return 0;
}

10


Lưu ý


Ta có thể sử dụng các câu lệnh if…else lồng
nhau. Khi dùng if…else lồng nhau thì else
sẽ kết hợp với if gần nhất.
Ví dụ: Cho biết tháng m (m được nhập từ bàn phím) có
bao nhiêu ngày?
#include <iostream.h>
#include <conio.h>

11


int main()
{
unsigned int m;//khai bao m kieu nguyen ko co dau
cout << "Input month: ";
cin >> m; //13
if(m==1 || m==3 || m==5 || m==7 || m==8 || m==10 || m==12)
cout << "Month “ << m << ” has 31 days.";
else
if(m==4 || m==6 || m==9 || m==11)

cout << "Month “ << m << ” has 30 days.";
else
if(m==2)
cout << "Month “ << m << ” has 28 or 29 days.";
else
cout << "This is not a valid month: ” << m;
getche(); return 0;
}
12


4. CẤU TRÚC “ switch“


Cấu trúc switch là gì?




Cấu trúc switch là một cấu trúc lựa chọn có
nhiều nhánh, được sử dụng khi có nhiều lựa
chọn.
Cú pháp:
switch(expression)
{
case value_1: statement_1; [break;]

case value_n: statement_n; [break;]
[default : statement;]
}

14


Lưu đồ cấu trúc switch

15


Hoạt động của cấu trúc “switch”
1.
2.
3.

4.

Expression sẽ được định trị.
Nếu giá trị của expression bằng value_1 thì
thực hiện statement_1 và thoát.
Nếu giá trị của expression khác value _1 thì
so sánh với value_2, nếu bằng value_2 thì
thực hiện statement_2 và thoát…., so sánh
tới value_n.
Nếu tất cả các phép so sánh đều sai thì thực
hiện statement của default.
16


Lưu ý:



Expression trong switch() phải có kết quả
là giá trị kiểu số nguyên (int, char, long).



Các giá trị sau case phải là hằng nguyên.



Không bắt buộc phải có default.



Khi thực hiện lệnh tương ứng của case có
giá trị bằng expression, chương trình thực
hiện lệnh break để thoát khỏi cấu trúc
switch.
17


Ví dụ
Ví dụ: Nhập vào một số nguyên, chia số nguyên này
cho 2 lấy phần dư. Kiểm tra nếu phần dư bằng 0 thì
in ra thông báo “là số chẳn”, nếu số dư bằng 1 thì in
thông báo “là số lẽ”.
#include <iostream.h>
#include <conio.h>

18



int main ()
{
int n, intSoDu;
cout<<”Nhap mot so: "; cin>>n;
//10
intSoDu = (n % 2); //0
switch(intSoDu)
{
case 0: cout << n << ” la so chan.";
break;
case 1: cout << n << ” la so le.";
break;
}
getche(); return 0;
}
19


5. CẤU TRÚC LẶP
“while” và “do…while”

20


5.1 Cấu trúc while



1.

2.

3.

Cú pháp:
While (expression)
statement;
Ý nghĩa:
Expression được định trị
Nếu kết quả là true thì
statement thực thi và quay
lại (1)
Nếu kết quả là false thì thoát
khỏi vòng lặp while.
21


Viết chương trình tính tổng các số nguyên từ 1 tới n.
#include<iostream.h>
#include<conio.h>
int main ()
{
int i, n, sum;
cout<<”Input n= ”; cin >> n; // 10
i = 1; sum = 0;
if(n>=0)
{
While (i<=n) // khi i<=n la dung thi thưc hien
{
sum += i; i++;

}
cout<< “i=: ” <}
else
cout<<“ n<0, không thuc hien!”;
getche();
return 0;

Ví dụ : ch3- bai 28

22


5.2 Cấu trúc do…while



1.
2.
3.
4.

Cú pháp:
do {
statement;
}while (expression);
Ý nghĩa:
Statement được thực hiện
Expression được định trị.
Nếu Expression là true thì

quay lại bước 1
Nếu Expression là false thì
thoát khỏi vòng lặp.

23


Ví dụ
Viết chương trình in dãy số nguyên từ 1 đến 10.
#include <iostream.h>
#include <conio.h>

24


int main ()
{
int i;
clrscr();
cout<<"Display one to ten: ";
i=1;
do
{
cout << setw(7) << i;
i+=1;
} while(i<=10);
getche();
return 0;
}
25



×