1. Trang chủ
  2. » Cao đẳng - Đại học

chương 3 - cấu trúc điều khiển trong c

51 705 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Chương 3 - Cấu Trúc Điều Khiển Trong C
Trường học Trường Đại học Công nghệ Thông tin - Đại học Quốc gia Hà Nội
Chuyên ngành Lập trình C
Thể loại Giáo trình
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 51
Dung lượng 3,14 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

ấu trúc rẽ nhánh chỉ cho máy tính chọn thực hiện ủa một điều ống, ến trình, ả của một điều màn hình theo th t tăng d n các s... ập vào một số nguyên từ ừ trên xuống,... Vi t chế

Trang 2

do … while

Trang 3

Tu n t th c thi ti n trình, ần tự thực thi tiến trình, ự thực thi tiến trình, ự thực thi tiến trình, ến trình,

m i l nh đ ỗi lệnh được thực thi theo ệnh 1; ược thực thi theo c th c thi theo ự thực thi tiến trình,

m t chu i t trên xu ng, ột chuỗi từ trên xuống, ỗi lệnh được thực thi theo ừ trên xuống, ống, xong l nh này r i chuy n ệnh 1; ồi chuyển ển

xu ng l nh k ti p ống, ệnh 1; ến trình, ến trình,

Lệnh 1

Lệnh 2

Lệnh 3

Trang 5

*C u trúc r nhánh ch cho máy tính ch n th c hi n ấu trúc rẽ nhánh chỉ cho máy tính chọn thực hiện ẽ nhánh chỉ cho máy tính chọn thực hiện ỉ cho máy tính chọn thực hiện ọn thực hiện ự thực thi tiến trình, ệnh 1;

m t dãy l nh nào đó d a vào k t qu c a m t đi u ột chuỗi từ trên xuống, ệnh 1; ự thực thi tiến trình, ến trình, ả của một điều ủa một điều ột chuỗi từ trên xuống, ều

ki n (bi u th c quan h hay bi u th c so sánh) ệnh 1; ển ức quan hệ hay biểu thức so sánh) ệnh 1; ển ức quan hệ hay biểu thức so sánh)

*G m 2 d ng: ồi chuyển ạng:

Ch xét tr ỉ cho máy tính chọn thực hiện ường hợp đúng ng h p đúng ợc thực thi theo

if (bi u th c đi u ki n) ểu ức điều kiện) ều kiện) ện)

{

<kh i l nh> ; ối lệnh> ; ện)

}

N u bi u th c đi u ki n cho ếu biểu thức điều kiện cho ểu ức điều kiện) ều kiện) ện)

k t qu ếu biểu thức điều kiện cho ả true thì th c hi n kh i l nh bên trong ực hiện khối lệnh bên trong ện) ối lệnh> ; ện) if

Trang 6

Ví d :ụ: Vi t chến trình, ương trình nhập vào một số nguyên từ ng trình nh p vào m t s nguyên t ập vào một số nguyên từ ột chuỗi từ trên xuống, ống, ừ trên xuống,

1 đ n 10, n u nh p sai thì thông báoến trình, ến trình, ập vào một số nguyên từ

void main() {

cout<<"So vua nhap khong hop le"; }

}

Trang 7

Xét c hai tr ả của một điều ường hợp đúng ng h p đúng và sai: ợc thực thi theo

if (bi u th c đi u ki n) ểu ức điều kiện) ều kiện) ện)

N u bi u th c đi u ki n cho k t qu ếu biểu thức điều kiện cho ểu ức điều kiện) ều kiện) ện) ếu biểu thức điều kiện cho ả true thì th c hi n kh i ực hiện khối lệnh bên trong ện) ối lệnh> ;

l nh 1, ng ện) ược lại thì cho thực hiện khối lệnh thứ 2 ại thì cho thực hiện khối lệnh thứ 2 c l i thì cho th c hi n kh i l nh th 2 ực hiện khối lệnh bên trong ện) ối lệnh> ; ện) ức điều kiện)

Trang 8

Ví d 1: Nh p vào s nguyên a và b, n u a là b i s c a b thì in ụ: ập vào một số nguyên từ ống, ến trình, ột chuỗi từ trên xuống, ống, ủa một điều thông báo “a là b i s c a b”, ng ột chuỗi từ trên xuống, ống, ủa một điều ược thực thi theo ạng: c l i in “a khong la boi so cua b”

cout<<“Nhap vao a: “; cin>>a;

cout<<“Nhap vao b: “; cin>>b;

{ cout<<“a la boi so cua b“; }

Trang 9

cout<<“a la boi so cua b”;

} else {

cout<<“a khong la boi so cua b”; }

Trang 10

Ví d 2: Gi i và bi n lu n ph ụ: ả của một điều ệnh 1; ập vào một số nguyên từ ương trình nhập vào một số nguyên từ ng trình: ax+b=0

Trang 14

1 Nh p vào hai s nguyên a, b In ra màn hình giá tr ập vào một số nguyên từ ống, ị

l n nh t ớn nhất ấu trúc rẽ nhánh chỉ cho máy tính chọn thực hiện

tr l n nh t c a ba s trên và in ra k t qu ị ớn nhất ấu trúc rẽ nhánh chỉ cho máy tính chọn thực hiện ủa một điều ống, ến trình, ả của một điều

màn hình theo th t tăng d n các s (Ch đ ức quan hệ hay biểu thức so sánh) ự thực thi tiến trình, ần tự thực thi tiến trình, ống, ỉ cho máy tính chọn thực hiện ược thực thi theo c

4 Vi t ch ến trình, ương trình nhập vào một số nguyên từ ng trình nh p vào m t s nguyên n g m ba ập vào một số nguyên từ ột chuỗi từ trên xuống, ống, ồi chuyển

ch s Xu t ra màn hình ch s l n nh t v trí ữ số Xuất ra màn hình chữ số lớn nhất ở vị trí ống, ấu trúc rẽ nhánh chỉ cho máy tính chọn thực hiện ữ số Xuất ra màn hình chữ số lớn nhất ở vị trí ống, ớn nhất ấu trúc rẽ nhánh chỉ cho máy tính chọn thực hiện ở vị trí ị nào?

Ví dụ:: n=291 Ch s l n nh t n m hàng ch c ữ số lớn nhất nằm ở hàng chục ối lệnh> ; ớn nhất nằm ở hàng chục ất nằm ở hàng chục ằm ở hàng chục ở hàng chục ục (ch s 9) ữ số lớn nhất nằm ở hàng chục ối lệnh> ;

Trang 15

5 Vi t ch ến trình, ương trình nhập vào một số nguyên từ ng trình nh p vào s nguyên n g m ba ch ập vào một số nguyên từ ống, ồi chuyển ữ số Xuất ra màn hình chữ số lớn nhất ở vị trí

s Xu t ra màn hình theo th t tăng d n c a các ống, ấu trúc rẽ nhánh chỉ cho máy tính chọn thực hiện ức quan hệ hay biểu thức so sánh) ự thực thi tiến trình, ần tự thực thi tiến trình, ủa một điều

ch s ữ số Xuất ra màn hình chữ số lớn nhất ở vị trí ống,

Ví dụ:: n=291 Xu t ra 129 ất nằm ở hàng chục

6 Nh p vào ngày, tháng, năm Ki m tra xem ngày, ập vào một số nguyên từ ển

tháng, năm đó có h p l hay không? In k t qu ra ợc thực thi theo ệnh 1; ến trình, ả của một điều màn hình.

7 Nh p vào gi , phút, giây Ki m tra xem gi , phút, ập vào một số nguyên từ ờng hợp đúng ển ờng hợp đúng

giây đó có h p l hay không? In k t qu ra màn hình ợc thực thi theo ệnh 1; ến trình, ả của một điều

8 Vi t ch ến trình, ương trình nhập vào một số nguyên từ ng trình nh p vào ngày, tháng, năm h p l ập vào một số nguyên từ ợc thực thi theo ệnh 1;

Cho bi t năm này có ph i là năm nhu n hay không? In ến trình, ả của một điều ập vào một số nguyên từ

k t qu ra màn hình ến trình, ả của một điều

9 Vi t ch ến trình, ương trình nhập vào một số nguyên từ ng trình tính di n tích và chu vi các hình: ệnh 1;

tam giác, hình vuông, hình ch nh t và hình tròn v i ữ số Xuất ra màn hình chữ số lớn nhất ở vị trí ập vào một số nguyên từ ớn nhất.

nh ng thông tin c n đ ữ số Xuất ra màn hình chữ số lớn nhất ở vị trí ần tự thực thi tiến trình, ược thực thi theo c nh p t bàn phím ập vào một số nguyên từ ừ trên xuống,

Trang 16

10 Vi t chến trình, ương trình nhập vào một số nguyên từ ng trình tính ti n cều ướn nhất.c TAXI Bi t ến trình,

r ng:ằng:

km đ u tiên là 13000 ầu tiên là 13000 đ

M i km ti p theo là 12000 ỗi km tiếp theo là 12000 ếu biểu thức điều kiện cho đ

N u l n h n 30km thì m i km thêm s là 11000 ếu biểu thức điều kiện cho ớn nhất nằm ở hàng chục ơn 30km thì mỗi km thêm sẽ là 11000 ỗi km tiếp theo là 12000 ẽ là 11000 đ

Hãy nh p s km sau đó in ra s ti n ph i tr ập vào một số nguyên từ ống, ống, ều ả của một điều ả của một điều

11 Nh p vào 3 s nguyên dập vào một số nguyên từ ống, ương trình nhập vào một số nguyên từ ng Ki m tra xem 3 ển

s đó có l p thành tam giác không? N u có hãy ống, ập vào một số nguyên từ ến trình, cho bi t tam giác đó thu c lo i nào? (Cân, vuông, ến trình, ột chuỗi từ trên xuống, ạng:

đ u, …).ều

12 Vi t chến trình, ương trình nhập vào một số nguyên từ ng trình nh p vào s nguyên dập vào một số nguyên từ ống, ương trình nhập vào một số nguyên từ ng

n Ki m tra xem n có ph i là s chính phển ả của một điều ống, ương trình nhập vào một số nguyên từ ng hay không? (s chính phống, ương trình nhập vào một số nguyên từ ng là s khi l y căn b c 2 ống, ấu trúc rẽ nhánh chỉ cho máy tính chọn thực hiện ập vào một số nguyên từ

có k t qu là nguyên).ến trình, ả của một điều

Trang 17

switch (bi u th c) ểu ức điều kiện)

Trang 18

V i: ớn nhất.

*ni là các h ng s nguyên ho c ký t ằng số nguyên hoặc ký tự ố nguyên hoặc ký tự ặc ký tự ự.

*Ph thu c vào giá tr c a bi u th c vi t sau ụ: ột chuỗi từ trên xuống, ị ủa một điều ển ức quan hệ hay biểu thức so sánh) ến trình, switch,

n u: ến trình,

*Giá tr này = n ị i thì th c hi n câu l nh sau case n ự thực thi tiến trình, ệnh 1; ệnh 1; i

*Khi giá tr bi u th c không th a t t c các n ị ển ức quan hệ hay biểu thức so sánh) ỏa tất cả các n ấu trúc rẽ nhánh chỉ cho máy tính chọn thực hiện ả của một điều i thì th c ự thực thi tiến trình,

hi n câu l nh sau ệnh 1; ệnh 1; default n u có, ho c thoát kh i ến trình, ặt ỏa tất cả các n

*Khi ch ương trình nhập vào một số nguyên từ ng trình đã th c hi n xong câu l nh c a ự thực thi tiến trình, ệnh 1; ệnh 1; ủa một điều

case ni nào đó thì nó s th c hi n luôn các l nh ẽ nhánh chỉ cho máy tính chọn thực hiện ự thực thi tiến trình, ệnh 1; ệnh 1; thu c ột chuỗi từ trên xuống, case bên dướn nhất i nó mà không xét l i đi u ki n ạng: ều ệnh 1; (do các ni đ ược thực thi theo c xem nh các nhãn) ư  Vì v y, đ ập vào một số nguyên từ ển

ch ương trình nhập vào một số nguyên từ ng trình thoát kh i l nh ỏa tất cả các n ệnh 1; switch sau khi th c ự thực thi tiến trình,

hi n xong m t tr ệnh 1; ột chuỗi từ trên xuống, ường hợp đúng ng h p, ta dùng l nh ợc thực thi theo ệnh 1; break.

Trang 19

Ví d :ụ: Nh p vào s nguyên n có giá tr t 1 đ n 5 In cách đ c c a ập vào một số nguyên từ ống, ị ừ trên xuống, ến trình, ọn thực hiện ủa một điều

s đó ra màn hình ống,

case 1: cout<<"So mot”; break;

case 2: cout<<"So hai"; break;

case 3: cout<<"So ba”; break;

case 4: cout<<"So bon”; break;

case 5: cout<<"So nam”; break;

default : cout<<"Khong doc duoc";

}

Trang 20

13 Vi t ch ến trình, ương trình nhập vào một số nguyên từ ng trình nh p vào 1 s ập vào một số nguyên từ ống, nguyên d ương trình nhập vào một số nguyên từ ng g m 3 ch s , in ra cách ồi chuyển ữ số Xuất ra màn hình chữ số lớn nhất ở vị trí ống,

đ c c a s này ọn thực hiện ủa một điều ống,

14 Vi t ch ến trình, ương trình nhập vào một số nguyên từ ng trình nh p vào ngày ập vào một số nguyên từ

năm có h p l không? In k t qu ki m ợc thực thi theo ệnh 1; ến trình, ả của một điều ển tra ra màn hình

Trang 22

for (<kh i gán> ở hàng chục ; <đi u ki n l p> ều kiện) ện) ặp> ; <c p nh t>) ập nhật>) ập nhật>)

*Đi u ki n l p: Dùng đ ki m tra đi u ki n tr ều kiện) ện) ặp> ểu ểu ều kiện) ện) ướn nhất nằm ở hàng chục c khi

th c hi n vòng l p ực hiện khối lệnh bên trong ện) ặp>

*C p nh t: Dùng đ c p nh t vòng l p (tăng ho c gi m ập nhật>) ập nhật>) ểu ập nhật>) ập nhật>) ặp> ặp> ả

ch s l p) ỉ số lặp) ối lệnh> ; ặp>

B t kỳ bi u th c nào trong 3 bi u th c nói trên đ u có ất nằm ở hàng chục ểu ức điều kiện) ểu ức điều kiện) ều kiện)

th v ng nh ng ph i gi d u ch m ph y (;) ểu ắng nhưng phải giữ dấu chấm phẩy (;) ư ả ữ số lớn nhất nằm ở hàng chục ất nằm ở hàng chục ất nằm ở hàng chục ẩy (;)

Trang 24

* B ước 1: c 1: Kh i gán ở hàng chục

* B ước 1: c 2: Ki m tra đi u ki n ểu ều kiện) ện)

― N u ếu biểu thức điều kiện cho đi u ki n b ng true ều kiện bằng true ện bằng true ằng true thì cho

th c hi n các l nh c a vòng l p, th c ực hiện khối lệnh bên trong ện) ện) ủa vòng lặp, thực ặp> ực hiện khối lệnh bên trong

hi n ện) c p nh t vòng l p ập nhật vòng lặp ập nhật vòng lặp ặp Quay tr l i ở hàng chục ại thì cho thực hiện khối lệnh thứ 2

b ướn nhất nằm ở hàng chục c 2.

― Ng ược lại thì cho thực hiện khối lệnh thứ 2 ại thì cho thực hiện khối lệnh thứ 2 c l i thoát kh i l p ỏi lặp ặp>

Trang 25

Ví d : ụ: In ra màn hình 10 dòng ch ữ số Xuất ra màn hình chữ số lớn nhất ở vị trí “Xin chao”

Trang 27

*Ví d : ụ: Tính t ng: ổng: , v i n>0S  1  2  3    n ớn nhất.

S = 0

i = 1

i <= n

S = S + i Yes n

i = i + 1

“Tổng = “ S

Trang 28

< Kh i gán> ở hàng chục

while ( <đi u ki n l p>) ều kiện) ện) ặp>

Trang 29

Ví d : ụ: In ra màn hình 10 dòng ch ữ số Xuất ra màn hình chữ số lớn nhất ở vị trí “Xin chao”

void main()

{

int dong = 1;

while(dong <= 10) {

cout<<"Xin chao“<<endl;

dong++;

} }

Trang 31

  Th c hi n kh i l nh cho đ n khi bi u ực hiện khối lệnh bên trong ện) ối lệnh> ; ện) ếu biểu thức điều kiện cho ểu

th c có giá tr b ng ức điều kiện) ị ban đầu cho vòng ằm ở hàng chục false.

C u trúc l p do…while th ất nằm ở hàng chục ặp> ường dùng cho ng dùng cho

tr ường dùng cho ng h p nh p có ki m tra đi u ki n ợc lại thì cho thực hiện khối lệnh thứ 2 ập nhật>) ểu ều kiện) ện)

Trang 32

Ví dụ:: Nh p vào m t s nguyên dập vào một số nguyên từ ột chuỗi từ trên xuống, ống, ương trình nhập vào một số nguyên từ ng, n u nh p sai thì ến trình, ập vào một số nguyên từ thông báo l i và yêu c u nh p l i ỗi lệnh được thực thi theo ần tự thực thi tiến trình, ập vào một số nguyên từ ạng:

} while (n <= 0);

cout<<"Ban da nhap dung, ket thuc chuong trinh”;

}

Trang 33

Ng ược lại thì cho thực hiện khối lệnh thứ 2 ại thì cho thực hiện khối lệnh thứ 2 ớn nhất nằm ở hàng chục ất nằm ở hàng chục c l i v i c u trúc l p ặp>

ki n tr ện) ướn nhất nằm ở hàng chục c khi th c hi n ực hiện khối lệnh bên trong ện)

l p), vòng l p ặp> ặp> do…while th c ực hiện khối lệnh bên trong

hi n l nh l p r i m i ki m ện) ện) ặp> ồi mới kiểm ớn nhất nằm ở hàng chục ểu tra đi u ki n Do đó vòng l p ều kiện) ện) ặp>

do while th c hi n l nh ít ực hiện khối lệnh bên trong ện) ện)

nh t m t l n ất nằm ở hàng chục ộng của ầu tiên là 13000

Trang 34

* L nh break: thoát kh i các c u trúc ệnh 1; ỏa tất cả các n ấu trúc rẽ nhánh chỉ cho máy tính chọn thực hiện

switch, while, for, do…while ch a nó ứa nó

g n nh t ần nhất ất (đang ch a break) ức quan hệ hay biểu thức so sánh) t i th i đi m ạng: ờng hợp đúng ển break đ ược thực thi theo c g i thi hành mà không c n ọn thực hiện ần tự thực thi tiến trình,

ki m tra k t qu c a bi u th c đi u ki n ển ến trình, ả của một điều ủa một điều ển ức quan hệ hay biểu thức so sánh) ều ệnh 1;

* Tuy nhiên, c n phân bi t v i l nh ần tự thực thi tiến trình, ệnh 1; ớn nhất ệnh 1; return

là l nh tr v t hàm, nghĩa là thoát kh i ệnh 1; ả của một điều ều ừ trên xuống, ỏa tất cả các n hàm đang thi hành, nên cũng giúp thoát luôn kh i t t c các vòng l p ỏa tất cả các n ấu trúc rẽ nhánh chỉ cho máy tính chọn thực hiện ả của một điều ặt

Trang 35

L nh continue: đ ệnh 1; ược thực thi theo c s d ng trong các ử dụng trong các ụ:

l nh continue đ ệnh 1; ược thực thi theo c g i thì ch ọn thực hiện ương trình nhập vào một số nguyên từ ng trình

s quay tr v đ u vòng l p đ b t đ u ẽ nhánh chỉ cho máy tính chọn thực hiện ở vị trí ều ần tự thực thi tiến trình, ặt ển ắt đầu ần tự thực thi tiến trình,

l n l p m i (có ki m tra đi u ki n l p đ ần tự thực thi tiến trình, ặt ớn nhất ển ều ệnh 1; ặt ển xác đ nh có l p ti p hay không) N u có ị ặt ến trình, ến trình, các l nh còn l i (cùng trong vòng l p) đ t ệnh 1; ạng: ặt ặt sau continue s không đ ẽ nhánh chỉ cho máy tính chọn thực hiện ược thực thi theo c th c hi n Nói ự thực thi tiến trình, ệnh 1; tóm l i, l nh continue dùng đ b qua ạng: ệnh 1; ển ỏa tất cả các n

m t l n l p nào đó n u th a đi u ki n ột chuỗi từ trên xuống, ần tự thực thi tiến trình, ặt ến trình, ỏa tất cả các n ều ệnh 1;

Ngày đăng: 23/05/2014, 10:01

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w