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);