Đ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
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
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
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
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.
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
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 .
#include <math.h> int main(void) { double angle; for(angle = 0.0; angle < 3.14159; angle += 0.2 ) printf("sine of %.1lf is %.2lf
", angle, sin(angle)); return 0; }
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
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: "); if(scanf("%i", &j) == 1) break ; printf(“khong hop le, nhap lai
“ } printf(“j = %i
", 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
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.
0 comments
Post a comment