2 Cau Truc Dieu Khien

18 %
82 %
Information about 2 Cau Truc Dieu Khien

Published on August 30, 2009

Author: cuongl85

Source: slideshare.net

Cấu trúc điều khiển

Cấu trúc điều khiển Lệnh rẽ nhánh: if – else Lệnh rẽ nhiều nhánh: switch Vòng lặp: while , do while , for Các từ khóa: break và continue

Lệnh rẽ nhánh: if – else

Lệnh rẽ nhiều nhánh: switch

Vòng lặp: while , do while , for

Các từ khóa: break và continue

Lệnh rẽ nhánh if Cú pháp : if ( điều kiện ) S ; Điều kiện : biểu thức cho kết quả SỐ ; phải được đặt giữa cặp ngoặc đơn () S phải là 1 câu lệnh, nếu nhiều hơn 1 lệnh, các lệnh phải được đặt giữa cặp ngoặc nhọn {} – khối lệnh . scanf("%i %i", &a, &b); max = a; if(b > max) max = b; printf(“So lon la: %i “, max); điều kiện S 0  0

Cú pháp :

if ( điều kiện )

S ;

Điều kiện : biểu thức cho kết quả SỐ ; phải được đặt giữa cặp ngoặc đơn ()

S phải là 1 câu lệnh, nếu nhiều hơn 1 lệnh, các lệnh phải được đặt giữa cặp ngoặc nhọn {} – khối lệnh .

Lưu ý Nếu đặt dấu chấm phẩy (;) ở ngay sau biểu thức điều kiện thì lệnh S của if xem như “ KHÔNG LÀM GÌ ” printf(“Nhap mot so nguyen: "); scanf("%i", &j); if(j > 0) ; printf(“%i la so duong“, j); Nhap mot so nguyen: -6 -6 là so duong

Nếu đặt dấu chấm phẩy (;) ở ngay sau biểu thức điều kiện thì lệnh S của if xem như “ KHÔNG LÀM GÌ ”

Lệnh rẽ nhánh if-else Cú pháp : if ( điều kiện ) S ; else S e ; Phần lệnh else có thể thêm vào trong câu lệnh if để chỉ thị các lệnh thực hiện khi điều kiện bằng 0 (FALSE). scanf("%i %i", &a, &b); if(a > b) max = a; else max = b; printf(“So lon la: %i “, max); điều kiện S 0  0 S e

Cú pháp :

if ( điều kiện )

S ;

else S e ;

Phần lệnh else có thể thêm vào trong câu lệnh if để chỉ thị các lệnh thực hiện khi điều kiện bằng 0 (FALSE).

Nhiều lệnh if lồng nhau else kết nối với lệnh if gần nhất int i = 100; if(i > 0) if(i > 1000) printf("i qua lon "); else printf("i chap nhan duoc "); i chap nhan duoc int i = -20; if(i > 0) { if(i > 1000) printf("i qua lon "); } else printf("i la so am "); i la so am

else kết nối với lệnh if gần nhất

Cấu trúc nhiều chọn lựa – switch Cú pháp : switch ( biểu thức ) { case gt 1 : S 1 ; [ break ;] case gt 2 : S 2 ; [ break ;] ... case gt n : S n ; [ break ;] default : S e ; } Biểu thức : cho kết quả SỐ NGUYÊN ; phải được đặt giữa cặp ngoặc đơn () S i : dãy các lệnh.

Cú pháp :

switch ( biểu thức )

{

case gt 1 : S 1 ; [ break ;]

case gt 2 : S 2 ; [ break ;]

...

case gt n : S n ; [ break ;]

default : S e ;

}

Biểu thức : cho kết quả SỐ NGUYÊN ; phải được đặt giữa cặp ngoặc đơn ()

S i : dãy các lệnh.

Ví dụ lệnh switch switch (c) { case 'a': case 'A': printf(“Dien tich = %.2f ", r * r * pi); break ; case 'c': case 'C': printf(“Chu vi = %.2f ", 2 * r * pi); break ; case 'q': printf(“Thoat "); break ; default : printf(“Chon khong hop le "); }

Một số lưu ý – switch Nếu không có giá trị nào khớp, các lệnh trong phần default sẽ được thực thi; và nếu không có default cũng không xảy ra lỗi. Lệnh break rất quan trọng. float f; switch(f) { case 2: .... switch(i) { case 2 * j: .... i = 3; switch(i) { case 3: printf("i = 3 "); case 2: printf("i = 2 "); case 1: printf("i = 1 "); } i = 3 i = 2 i = 1

Nếu không có giá trị nào khớp, các lệnh trong phần default sẽ được thực thi; và nếu không có default cũng không xảy ra lỗi.

Lệnh break rất quan trọng.

Cấu trúc nhiều chọn lựa – switch biểu thức S 1 ; break; gt 1 … S 2 ; break; S e ; gt 2 default

Ví dụ khác – switch //Doan chuong trinh doc so 0..9 switch (so) { case 0: printf(“khong "); case 1: printf(“mot "); case 2: printf(“hai "); case 3: printf(“ba"); case 4: printf(“bon"); case 5: printf(“nam"); case 6: printf(“sau"); case 7: printf(“bay"); case 8: printf(“tam"); case 9: printf(“chin"); }

Lệnh lặp while Cú pháp : while ( điều kiện ) S ; Điều kiện : biểu thức cho kết quả SỐ ; phải được đặt giữa cặp ngoặc đơn () S phải là 1 câu lệnh, nếu nhiều hơn 1 lệnh, các lệnh phải được đặt giữa cặp ngoặc nhọn {} – khối lệnh . int j = 5; while(j > 0) printf("j = %i ", j--); j = 5 j = 4 j = 3 j = 2 j = 1 while(j > 0) { printf("j = %i ", j); j--; } while thực hiện lệnh S ít nhất 0 lần điều kiện S 0  0

Cú pháp : while ( điều kiện )

S ;

Điều kiện : biểu thức cho kết quả SỐ ; phải được đặt giữa cặp ngoặc đơn ()

S phải là 1 câu lệnh, nếu nhiều hơn 1 lệnh, các lệnh phải được đặt giữa cặp ngoặc nhọn {} – khối lệnh .

while thực hiện lệnh S ít nhất 0 lần

Lưu ý dấu chấm phẩy ; Dấu ‘;’ đặt ngay sau biểu thức điều kiện đồng nghĩa với lệnh S là rỗng. int j = 5; while(j > 0); printf("j = %i ", j--); Chưong trình bị lặp không thoát được Đôi khi người lập trình cố ý sử dụng lệnh rỗng int c, j; while(scanf("%i", &j) != 1) while((c = getch()) != 27) ; Đặt dấu ‘;’ để kết thúc while không có S

Dấu ‘;’ đặt ngay sau biểu thức điều kiện đồng nghĩa với lệnh S là rỗng.

Đôi khi người lập trình cố ý sử dụng lệnh rỗng

Lệnh lặp do while Cú pháp : do S ; while ( điều kiện ); Điều kiện : biểu thức cho kết quả SỐ ; phải được đặt giữa cặp ngoặc đơn () S phải là 1 câu lệnh, nếu nhiều hơn 1 lệnh, các lệnh phải được đặt giữa cặp ngoặc nhọn {} – khối lệnh . điều kiện S 0  0

Cú pháp :

do

S ;

while ( điều kiện );

Điều kiện : biểu thức cho kết quả SỐ ; phải được đặt giữa cặp ngoặc đơn ()

S phải là 1 câu lệnh, nếu nhiều hơn 1 lệnh, các lệnh phải được đặt giữa cặp ngoặc nhọn {} – khối lệnh .

Ví dụ do while int j = 5; printf("start "); do printf("j = %i ", j--); while(j > 0); printf("stop "); start j = 5 j = 4 j = 3 j = 2 j = 1 stop

Ví dụ do while do while thực hiện lệnh S ít nhất 1 lần int j = -10; printf("start "); do { printf("j = %i ", j); j--; } while(j > 0); printf("stop "); start j = -10 stop

do while thực hiện lệnh S ít nhất 1 lần

Lệnh lặp for Lệnh lặp for dồn hết các thành phần của vòng lặp vào trong một câu lệnh. Cú pháp : for ( khởi động ; điều kiện lặp ; điều khiển ) S ; điều kiện 0  0 khởi động S điều khiển

Lệnh lặp for dồn hết các thành phần của vòng lặp vào trong một câu lệnh.

Cú pháp :

for ( khởi động ; điều kiện lặp ; điều khiển )

S ;

Lệnh lặp for – Ví dụ int j; for(j = 5; j > 0; j--) printf("j = %i ", j); j = 5 j = 4 j = 3 j = 2 j = 1 for(j = 5; j > 0; j--) { printf("j = %i ", j); printf("%s ", ((j%2)==0)?“chan":“le"); } j = 5 le j = 4 chan j = 3 le j = 2 chan j = 1 le

Bước lặp trong for C không giới hạn độ lớn của bước lặp trong for. #include <math.h> int main(void) { double angle; for(angle = 0.0; angle < 3.14159; angle += 0.2 ) printf(&quot;sine of %.1lf is %.2lf &quot;, angle, sin(angle)); return 0; }

C không giới hạn độ lớn của bước lặp trong for.

Nói thêm về for Phần lệnh khởi động và lệnh điều khiển có thể gồm nhiều lệnh đơn giản, các lệnh này cách nhau bởi dấu phẩy (,) int i, j, k; for(i = 0, j = 5, k = -1; i < 10; i++, j++, k--) Các phần: khởi động, điều kiện lặp, điều khiển có thể không có lệnh nào. for(; i < 10; i++, j++, k--) for(;i < 10;) for(;;) Dùng while sẽ hợp lý hơn Vòng lặp không kết thúc

Phần lệnh khởi động và lệnh điều khiển có thể gồm nhiều lệnh đơn giản, các lệnh này cách nhau bởi dấu phẩy (,)

Các phần: khởi động, điều kiện lặp, điều khiển có thể không có lệnh nào.

break Từ khóa break chỉ thị việc thoát ngay lập tức khỏi cấu trúc điều khiển. Cẩn thận khi sử dụng! for(;;) { printf(“nhap một so nguyen: &quot;); if(scanf(&quot;%i&quot;, &j) == 1) break ; printf(“khong hop le, nhap lai “ } printf(“j = %i &quot;, j); nhap mot so nguyen : int khong hop le, nhap lai nhap mot so nguyen: 16 j = 16 Nếu scanf trả về 1, chương trình thoát khỏi vòng lặp for

Từ khóa break chỉ thị việc thoát ngay lập tức khỏi cấu trúc điều khiển.

Cẩn thận khi sử dụng!

continue Từ khóa continue chỉ thị bước nhanh đến bước lặp kế, bất kể phía sau đó còn nhiều lệnh cần lặp. Hạn chế sử dụng! for(j = 1; j <= 10; j++) { if(j % 3 == 0) continue; printf(&quot;j = %i &quot;, j); } j = 1 j = 2 j = 4 j = 5 j = 7 j = 8 j = 10 Nếu j chia hết cho 3 thì bỏ qua lệnh in j

Từ khóa continue chỉ thị bước nhanh đến bước lặp kế, bất kể phía sau đó còn nhiều lệnh cần lặp.

Hạn chế sử dụng!

Tóm lược if else : rẽ nhánh switch rẽ nhiều nhánh với điều kiện là giá trị của biểu thức nguyên while , do while , for – 3 loại vòng lặp của C break continue

if else : rẽ nhánh

switch rẽ nhiều nhánh với điều kiện là giá trị của biểu thức nguyên

while , do while , for – 3 loại vòng lặp của C

break

continue

Add a comment

Related pages

2. Cấu trúc điều khiển - pascal_qt - sites.google.com

Vấn đề 1: Cấu trúc điều khiển Bài toán số 1.1: Tính tổng của các số tự nhiên từ 1 đến N. ...
Read more

Bài 3 – Các cấu trúc điều khiển trong C (Part 2)

Phần 2 - Các cấu trúc điều khiển trong C. Các cấu trúc lựa chọn if / if else hay switch, các cấu trúc lặp while / do while hay for.
Read more

Câu điều kiện loại 1, 2, 3 trong tiếng anh và bài tập có ...

... ( Loại 1, loại 2 & loại 3) ... Câu điều kiện, bai tap cau dieu kien loai 3, cau truc cau dieu kien, câu điều kiện loại 1, ...
Read more

Biến và Cấu trúc điều khiển - 1..2..3..| Share your ideas

1..2..3..| Share your ideas ... T-SQL hay Transac - SQL tuy không phải là một ngôn ngữ lập trình theo đúng nghĩa của nó nhưng nó cũng ...
Read more

Điều khiển từ xa cầu trục - thietbicautruc.com.vn

Bộ điều khiển từ xa 2 móc cẩu . Liên h ...
Read more

Tay trang điều khiển- Cần gạt điều khiển( JOYSTICK) - Trang 1

... Cần gạt điều khiển 2 hướng 1 tốc độ. Hãng sản xuất: LSSINE +/ Loại:QT3A-2F-2: Cần gạt điều khiển 2 hướng 2 tốc ...
Read more

Giáo trình C++ - Bài 2.1: Các cấu trúc điều khiển - Tài Liệu

Tóm tắt nội dung Giáo trình C++ - Bài 2.1: Các cấu trúc điều khiển, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ ...
Read more

Bộ Điều Khiển Từ Xa Cầu Trục - THIẾT BỊ ĐIỆN THỊNH PHÁT

Bộ Điều Khiển Từ Xa 2 Cấp Độ Cầu Trục. Liên Hệ . Chi tiết. Bộ Điều Khiển Từ Xa Cầu Trục. Liên Hệ . Chi tiết.
Read more

ĐIỀU KHIỂN TỪ XA CẦU TRỤC - thietbicautruc.com

Điều khiển từ xa cầu trục là thiết bị dùng phổ biến dùng để lắp đặt điều khiển cầu trục mà không cần phải đi ...
Read more