Toân tử break, continue, goto

Một phần của tài liệu Giáo trình Cơ sở lập trình: Phần 1 (Trang 71 - 76)

X , In ra kiểu số nguyín viết dưới dạng sổ hexa (cơ số 16)

2.3.4.4. Toân tử break, continue, goto

Trong thđn của câc cấu trúc điểu khiển của c ta hay gặp một số cđu lệnh như break, continue, hay goto. Câc cđu lệnh năy đều có chức năng

để trinh biín dịch thôt ra khỏi cấu trúc điều khiển đó nhưng thôt ra rồi

nhảy đến đđu thì mỗi một cđu lệnh có một đặc điểm riíng như sau.

Cđu lệnh break

Cđu lệnh break để thôt khỏi vịng lặp trong cùng có chứa nó hoặc lă thôt khỏi cấu trúc switch sau khi đê rẽ nhânh. Điểm tiếp theo trình biín

dịch sẽ thực hiện lă câc cđu lệnh ngay sau vịng lặp trong cùng đó.

Cú phâp rất đơn giăn: break;

Quay trở lại với băi toân kiểm ưa xem một số có phải lă số ngun tố hay khơng đê được viết ở ưín. Cho đoạn chương trình sau:

For (i=2;i<=sqrt(n);i++){ if(n%i =0) { ok=0; break;}

}

Cđu lệnh ưín sẽ thực hiện kiểm ưa n%i. i lă một biến kiểu nguyín chạy từ 2 cho tới căn bậc hai của n. Nếu n%i chỉ cần băng một giâ ưị bất kì ưong câc giâ ưị của i thì sẽ gân biến ok = 0 vă thôt ra khỏi chương

trình khơng cần phải kiểm ưa nữa.

Cđu lệnh continue

Khi gặp cđu lệnh năy, trình biín dịch sẽ tự động nhảy lín đầu vịng

lặp vă thực hiện bước tiếp theo. Tâc dụng của nó cũng chỉ ở vịng lặp

ưong cùng chứa nó

Cú phâp

continue;

Ví dụ 2.3.16: Nhập số n vă in. ra tổng câc ước của nó.

#include <stdio.h> #include <conio.h>

#include <math.h>

void main()

int n; int i; intok= 1; int result =0; printf("\n Nhap so n scanf("%d",&n); printf("\n "); for(i=l ;i<=(n);i++) { if(n%i) continue; result+=i; }

printf("Tong cac uoc cua so %d la: %d \n",n,result);

getchO; }

Cđu lệnh goto

goto lă một lệnh nhảy không điều kiện tới một vị trí năo đó trong chương trình. Vị trí đó được xâc định bằng nhên.

Cú phâp

goto tennhan;

Trong đó ten nhan lă một tín hợp lệ được đặt trước một cđu lệnh

năo đó. Khi gặp lệnh goto thì trình biín dịch sẽ nhảy tới vị trí ten nhan

vă tiếp tục dịch từ đó trở xuống.

Chú ý

Lệnh go to

+/ Chỉ nhảy trong một hăm

+/ Chỉ được nhảy từ trong một khối lệnh ra ngoăi.

+/ Hạn chế dùng goto vì nó phâ vỡ tính cấu trúc của c. Có thể thay bằng câc cấu trúc lặp

Ví dụ 2.3.17 #include <stdio.h> #include <conio.h> int main() { int n;

nhap: printf(“\n khong phai la thang trong nam”);

printf("\n Nhap vao thang trong nam n scanf("%d",&n);

if(n>12||n<l) goto nhap;

printf( \n "); switch(n) { case 1: case 2: case 3: printf("Mua xuan"); break; case 4: case 5: case 6: printf("Mua ha"); break; case 7: case 8: case 9: printf("Mua thu"); break; case 10: case 11: case 12: printf("Mua dong");

break; default:; } printf("\n"); getch(); } BĂI TẬP CHƯƠNG 2

2.1. Viết chương trình in dịng chữ XIN CHAO CAC BAN ra măn hình.

2.2. Viết chương trình nhập văo hai biến X, y kiểu số nguyín từ băn phím, in ra măn hình những dịng sau:

Tong hai so: <in tong hai so ra day> Tích hai so: <in tích hai so ra day>

Hieu hai so: <in hieu hai so ra day>

Thuong hai so: <in thuong hai so ra day>

So du cua phep chia: <in so du hai so ra day>

2.3. Viết Chương trình nhập văo bân kính R vă in ra măn hình thể

tích V, bân kính R. Cơng thức tính được cho như sau:

V = 4*71 * R3 / 3 vă s = 4*71 *R2. 71 = 3.14. Kết quả in ra phải có giâ trị chính xâc đến chữ số thứ 2 của phần thập phđn.

2.4. Tính chu kì dao động T của con lắc đơn theo cơng thức được cho như sau:

Trong đó g lă giầ tốc trọng trường có giâ trị lă 9.18 m/s2. Hăm căn bậc hai được cho trong thư viện math.h: double sqrt(double x);

Một phần của tài liệu Giáo trình Cơ sở lập trình: Phần 1 (Trang 71 - 76)

Tải bản đầy đủ (PDF)

(77 trang)